VideoCapture délègue le travail réseau au backend qu'il a choisi. Avec une compilation d'OpenCV fournissant FFmpeg, une URL vidéo HTTP peut recevoir l'option http_proxy de FFmpeg via l'environnement des options de capture :

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

Le backend FFmpeg d'OpenCV analyse la chaîne d'options sous forme de paires clé;valeur, avec une barre verticale entre plusieurs paires. L'exemple définit l'environnement avant d'importer OpenCV et demande explicitement CAP_FFMPEG.

FFmpeg documente http_proxy comme l'URL de proxy du protocole HTTP ; la liste de proxys HTTP fournit des candidats pour une route publique de médias HTTP. Cela ne configure pas un backend de capture sans rapport, une caméra locale ni un trafic RTSP/UDP arbitraire.

Vérifiez le backend et les capacités FFmpeg de la compilation OpenCV réelle. Une valeur de proxy ne peut pas ajouter un backend ou un décodeur manquant.

Ouvrir l'entrée média et décoder une image sont aussi deux résultats distincts. Un échec de codec après un téléchargement réussi ne doit pas être présenté comme la preuve que le proxy était injoignable.

Articles similaires