OpenCV VideoCapture HTTP-proxy beállításai az FFmpeg backenddel
Adja át az FFmpeg HTTP-proxy beállítását az OPENCV_FFMPEG_CAPTURE_OPTIONS változón keresztül, amikor a VideoCapture kifejezetten ezt a backendet használja.
A VideoCapture a hálózati munkát a kiválasztott backendnek adja át. FFmpeg-et tartalmazó OpenCV-build esetén egy HTTP videó URL az rögzítési opciók környezetén keresztül kaphatja meg az FFmpeg http_proxy beállítását:
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()
Az OpenCV FFmpeg backendje kulcs;érték párokként értelmezi az opciók karakterláncát, több pár között függőleges vonal áll. A példa az OpenCV importálása előtt állítja be a környezetet, és kifejezetten kéri a CAP_FFMPEG-et.
Az FFmpeg az http_proxy beállítást a HTTP protokoll proxy URL-jeként dokumentálja; a HTTP-proxy lista jelölteket kínál egy nyilvános HTTP-médiaútvonalhoz. Ez nem állít be más rögzítési backendet, helyi kamerát vagy tetszőleges RTSP/UDP-forgalmat.
Ellenőrizze a tényleges OpenCV-build backendjét és FFmpeg-képességeit. Egy proxy érték nem tud hozzáadni hiányzó backendet vagy dekódert.
A média bemenet megnyitása és egy képkocka dekódolása szintén külön eredmény. A sikeres letöltés utáni kodekhibát nem szabad annak bizonyítékaként jelenteni, hogy a proxy elérhetetlen volt.