Настройки HTTP-прокси в OpenCV VideoCapture с бэкендом FFmpeg
Передавайте параметр HTTP-прокси FFmpeg через OPENCV_FFMPEG_CAPTURE_OPTIONS, когда VideoCapture явно использует этот бэкенд.
VideoCapture передаёт сетевую работу выбранному бэкенду. В сборке OpenCV с FFmpeg URL HTTP-видео может получить параметр 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. Значение прокси не может добавить отсутствующий бэкенд или декодер.
Открытие медиавхода и декодирование кадра — тоже отдельные результаты. Сбой кодека после успешной загрузки не следует выдавать за доказательство недоступности прокси.