VideoCapture delega el trabajo de red en el backend que ha seleccionado. Con una compilación de OpenCV que incluya FFmpeg, una URL de vídeo HTTP puede recibir la opción http_proxy de FFmpeg a través del entorno de opciones de captura:

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()

El backend FFmpeg de OpenCV analiza la cadena de opciones como pares clave;valor, con una barra vertical entre varios pares. El ejemplo establece el entorno antes de importar OpenCV y solicita explícitamente CAP_FFMPEG.

FFmpeg documenta http_proxy como la URL de proxy del protocolo HTTP; la lista de proxies HTTP ofrece candidatos para una ruta pública de medios HTTP. Eso no configura un backend de captura ajeno, una cámara local ni tráfico RTSP/UDP arbitrario.

Comprueba el backend y las capacidades de FFmpeg de la compilación real de OpenCV. Un valor de proxy no puede añadir un backend ni un decodificador que falten.

Abrir la entrada de medios y decodificar un fotograma también son resultados distintos. Un fallo de códec después de una descarga correcta no debería presentarse como prueba de que el proxy era inalcanzable.

Artículos relacionados