Налады HTTP-проксі OpenCV VideoCapture з бэкендам FFmpeg
Перадавайце опцыю HTTP-проксі FFmpeg праз OPENCV_FFMPEG_CAPTURE_OPTIONS, калі VideoCapture відавочна выкарыстоўвае гэты бэкенд.
VideoCapture перадае сеткавую працу выбранаму бэкенду. Калі зборка OpenCV пастаўляе FFmpeg, URL HTTP-відэа можа атрымаць опцыю http_proxy FFmpeg праз асяроддзе опцый захопу:
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 у OpenCV разбірае радок опцый як пары ключ;значэнне, паміж некалькімі парамі ставіцца вертыкальная рыса. Прыклад задае асяроддзе да імпарту OpenCV і відавочна запытвае CAP_FFMPEG.
FFmpeg апісвае http_proxy як URL проксі для пратакола HTTP; спіс HTTP-проксі дае кандыдатаў для публічнага маршруту HTTP-медыя. Гэта не наладжвае неслушны бэкенд захопу, лакальную камеру ці адвольны трафік RTSP/UDP.
Праверце бэкенд і магчымасці FFmpeg у рэальнай зборцы OpenCV. Значэнне проксі не можа дадаць адсутны бэкенд або дэкодэр.
Адкрыццё ўваходу медыя і дэкадаванне кадра — таксама асобныя вынікі. Збой кодэка пасля паспяховага спампоўвання не трэба падаваць як доказ таго, што проксі быў недаступны.