Agordoj de HTTP-prokurilo en OpenCV VideoCapture kun la FFmpeg-motoro
Transdonu la HTTP-prokurilan opcion de FFmpeg per OPENCV_FFMPEG_CAPTURE_OPTIONS kiam VideoCapture eksplicite uzas tiun motoron.
VideoCapture komisias la retan laboron al la elektita motoro. Kun OpenCV-konstruaĵo havanta FFmpeg, HTTP-vidbenda URL povas ricevi la opcion http_proxy de FFmpeg per la medio de kaptaj opcioj:
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()
La FFmpeg-motoro de OpenCV analizas la opcian ĉenon kiel parojn ŝlosilo;valoro, kun vertikala streko inter pluraj paroj. La ekzemplo agordas la medion antaŭ ol importi OpenCV kaj eksplicite petas CAP_FFMPEG.
FFmpeg dokumentas http_proxy kiel la prokurilan URL de la HTTP-protokolo; la listo de HTTP-prokuriloj proponas kandidatojn por publika HTTP-amaskomunika vojo. Tio ne agordas nerilatan kaptan motoron, lokan kameraon aŭ arbitran RTSP/UDP-trafikon.
Kontrolu la motoron kaj la kapablojn de FFmpeg en la reala OpenCV-konstruaĵo. Prokurila valoro ne povas aldoni mankan motoron aŭ malkodilon.
Malfermi la amaskan enigon kaj malkodi kadron ankaŭ estas apartaj rezultoj. Kodekan fiaskon post sukcesa elŝuto oni ne raportu kiel pruvon, ke la prokurilo estis neatingebla.