HTTP-Proxy-Astellungen vun OpenCV VideoCapture mam FFmpeg-Backend
Gitt dem FFmpeg seng HTTP-Proxy-Optioun iwwer OPENCV_FFMPEG_CAPTURE_OPTIONS weider, wann VideoCapture dee Backend ausdrécklech benotzt.
VideoCapture gëtt d'Netzwierkaarbecht un de gewielten Backend of. Mat engem OpenCV-Build mat FFmpeg kann eng HTTP-Video-URL d'Optioun http_proxy vum FFmpeg iwwer d'Ëmwelt vun den Opnamoptiounen kréien:
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()
Den FFmpeg-Backend vun OpenCV analyséiert den Optiounsstring als Schlëssel;Wäert-Puer, mat enger vertikaler Sträif tëscht méi Puer. D'Beispill setzt d'Ëmwelt virum Import vun OpenCV a freet ausdrécklech CAP_FFMPEG un.
FFmpeg dokumentéiert http_proxy als d'Proxy-URL vum HTTP-Protokoll; d'Lëscht vun den HTTP-Proxien bitt Kandidaten fir eng ëffentlech HTTP-Media-Route. Dat konfiguréiert awer keen anere Capture-Backend, eng lokal Kamera oder belibegen RTSP/UDP-Trafic.
Iwwerpréift den Backend an d'FFmpeg-Fähegkeete vum tatsächleche OpenCV-Build. E Proxy-Wäert kann keen feelenden Backend oder Decoder dobäisetzen.
D'Medieinput opzemaachen an e Frame ze dekodéieren sinn och getrennt Resultater. E Codec-Feeler no engem erfollegräichen Download soll net als Beweis gemellt ginn, datt de Proxy net erreechbar war.