Ustawienia proxy HTTP w OpenCV VideoCapture z backendem FFmpeg
Przekazuj opcję proxy HTTP FFmpeg przez OPENCV_FFMPEG_CAPTURE_OPTIONS, gdy VideoCapture jawnie używa tego backendu.
VideoCapture przekazuje pracę sieciową wybranemu backendowi. W kompilacji OpenCV z FFmpeg adres URL wideo HTTP może otrzymać opcję http_proxy FFmpeg przez środowisko opcji przechwytywania:
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()
Backend FFmpeg w OpenCV analizuje ciąg opcji jako pary klucz;wartość, a między wieloma parami znajduje się pionowa kreska. Przykład ustawia środowisko przed importem OpenCV i jawnie żąda CAP_FFMPEG.
FFmpeg dokumentuje http_proxy jako adres URL proxy protokołu HTTP; lista proxy HTTP dostarcza kandydatów do publicznej trasy mediów HTTP. Nie konfiguruje to niepowiązanego backendu przechwytywania, lokalnej kamery ani dowolnego ruchu RTSP/UDP.
Sprawdź backend i możliwości FFmpeg w rzeczywistej kompilacji OpenCV. Wartość proxy nie może dodać brakującego backendu ani dekodera.
Otwarcie wejścia mediów i dekodowanie klatki to również odrębne wyniki. Błędu kodeka po udanym pobraniu nie należy zgłaszać jako dowodu, że proxy było nieosiągalne.