HTTP прокси настройки на OpenCV VideoCapture с бекенда FFmpeg
Подавайте HTTP прокси опцията на FFmpeg чрез OPENCV_FFMPEG_CAPTURE_OPTIONS, когато VideoCapture изрично използва този бекенд.
VideoCapture делегира мрежовата работа на избрания бекенд. При компилация на OpenCV с FFmpeg HTTP видео URL може да получи опцията http_proxy на FFmpeg чрез средата за опции за заснемане:
import os
os.environ['OPENCV_FFMPEG_CAPTURE_OPTIONS'] = (
'http_proxy;http://proxy.example:8080'
)
import cv2
capture = cv2.VideoCapture(
'http://media.example/video.mp4',
cv2.CAP_FFMPEG,
)
try:
if not capture.isOpened():
raise RuntimeError('Video input did not open')
ok, frame = capture.read()
finally:
capture.release()
Бекендът FFmpeg на OpenCV анализира низа с опции като двойки ключ;стойност, с вертикална черта между няколко двойки. Примерът задава средата преди импортиране на OpenCV и изрично заявява CAP_FFMPEG.
FFmpeg документира http_proxy като прокси URL на HTTP протокола; списъкът с HTTP прокси дава кандидати за публичен HTTP маршрут за медия. Това не конфигурира несвързан бекенд за заснемане, локална камера или произволен RTSP/UDP трафик.
Проверете бекенда и възможностите на FFmpeg в действителната компилация на OpenCV. Прокси стойност не може да добави липсващ бекенд или декодер.
Отварянето на медийния вход и декодирането на кадър също са отделни резултати. Неуспех на кодека след успешно изтегляне не бива да се отчита като доказателство, че проксито е недостъпно.