Nastavenia HTTP proxy v OpenCV VideoCapture s backendom FFmpeg
Odovzdajte voľbu HTTP proxy FFmpeg cez OPENCV_FFMPEG_CAPTURE_OPTIONS, keď VideoCapture tento backend výslovne používa.
VideoCapture deleguje sieťovú prácu na zvolený backend. Pri zostavení OpenCV s FFmpeg môže URL videa HTTP získať voľbu http_proxy FFmpeg cez prostredie volieb zachytávania:
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()
Backend FFmpeg v OpenCV analyzuje reťazec volieb ako dvojice kľúč;hodnota, medzi viacerými dvojicami je zvislá čiara. Príklad nastaví prostredie pred importom OpenCV a výslovne požaduje CAP_FFMPEG.
FFmpeg dokumentuje http_proxy ako proxy URL protokolu HTTP; zoznam HTTP proxy ponúka kandidátov pre verejnú trasu médií HTTP. Nenastavuje však nesúvisiaci backend zachytávania, miestnu kameru ani ľubovoľnú prevádzku RTSP/UDP.
Overte backend a možnosti FFmpeg v skutočnom zostavení OpenCV. Hodnota proxy nemôže pridať chýbajúci backend ani dekodér.
Otvorenie vstupu médií a dekódovanie snímky sú tiež oddelené výsledky. Zlyhanie kodeku po úspešnom stiahnutí by sa nemalo hlásiť ako dôkaz, že proxy bola nedostupná.