Nastavení HTTP proxy v OpenCV VideoCapture s backendem FFmpeg
Předejte volbu HTTP proxy FFmpeg přes OPENCV_FFMPEG_CAPTURE_OPTIONS, když VideoCapture tento backend výslovně používá.
VideoCapture předává síťovou práci zvolenému backendu. U sestavení OpenCV s FFmpeg může URL videa HTTP získat volbu http_proxy FFmpeg přes prostředí voleb zachytávání:
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 v OpenCV zpracovává řetězec voleb jako dvojice klíč;hodnota, mezi více dvojicemi je svislá čára. Příklad nastaví prostředí před importem OpenCV a výslovně požaduje CAP_FFMPEG.
FFmpeg dokumentuje http_proxy jako proxy URL protokolu HTTP; seznam HTTP proxy nabízí kandidáty pro veřejnou trasu médií HTTP. Nenastavuje však nesouvisející backend zachytávání, místní kameru ani libovolný provoz RTSP/UDP.
Ověřte backend a možnosti FFmpeg ve skutečném sestavení OpenCV. Hodnota proxy nemůže přidat chybějící backend ani dekodér.
Otevření vstupu médií a dekódování snímku jsou také oddělené výsledky. Selhání kodeku po úspěšném stažení by se nemělo hlásit jako důkaz, že proxy byla nedostupná.