HTTP-proxyinnstillingar i OpenCV VideoCapture med FFmpeg-backenden
Send HTTP-proxyvalet til FFmpeg gjennom OPENCV_FFMPEG_CAPTURE_OPTIONS når VideoCapture uttrykkeleg brukar den backenden.
VideoCapture overlèt nettverksarbeidet til backenden det har valt. Med eit OpenCV-bygg som har FFmpeg, kan ein HTTP-video-URL få http_proxy-valet til FFmpeg gjennom miljøet for opptaksval:
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-backenden i OpenCV tolkar valstrengen som nøkkel;verdi-par, med ein loddrett strek mellom fleire par. Dømet set miljøet før OpenCV vert importert og ber uttrykkeleg om CAP_FFMPEG.
FFmpeg dokumenterer http_proxy som proxy-URL-en til HTTP-protokollen; lista over HTTP-proxyar gir kandidatar for ein offentleg HTTP-medierute. Det konfigurerer ikkje ein uskyldig opptaksbackend, eit lokalt kamera eller vilkårleg RTSP/UDP-trafikk.
Kontroller backenden og FFmpeg-funksjonane i det faktiske OpenCV-bygget. Ein proxyverdi kan ikkje leggje til ein manglande backend eller dekodar.
Å opne medieinndata og å dekode eit bilete er også to ulike resultat. Ein codec-feil etter ein vellukka nedlasting bør ikkje rapporterast som prov på at proxyen var utilgjengeleg.