Impostazioni del proxy HTTP di OpenCV VideoCapture con il backend FFmpeg
Passa l'opzione proxy HTTP di FFmpeg tramite OPENCV_FFMPEG_CAPTURE_OPTIONS quando VideoCapture usa esplicitamente quel backend.
VideoCapture delega il lavoro di rete al backend che ha scelto. Con una build di OpenCV che include FFmpeg, un URL video HTTP può ricevere l'opzione http_proxy di FFmpeg tramite l'ambiente delle opzioni di acquisizione:
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()
Il backend FFmpeg di OpenCV analizza la stringa di opzioni come coppie chiave;valore, con una barra verticale tra più coppie. L'esempio imposta l'ambiente prima di importare OpenCV e richiede esplicitamente CAP_FFMPEG.
FFmpeg documenta http_proxy come URL del proxy del protocollo HTTP; l'elenco dei proxy HTTP fornisce candidati per una rotta pubblica di media HTTP. Questo non configura un backend di acquisizione estraneo, una telecamera locale né traffico RTSP/UDP arbitrario.
Verifica il backend e le capacità FFmpeg della build OpenCV effettiva. Un valore di proxy non può aggiungere un backend o un decoder mancante.
Aprire l'input multimediale e decodificare un fotogramma sono anch'essi risultati distinti. Un errore di codec dopo un download riuscito non va segnalato come prova che il proxy fosse irraggiungibile.