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.

Articoli correlati