VideoCapture delegeert het netwerkwerk aan de backend die het heeft gekozen. Met een OpenCV-build die FFmpeg levert, kan een HTTP-video-URL de http_proxy-optie van FFmpeg ontvangen via de omgeving van opnameopties:

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

De FFmpeg-backend van OpenCV ontleedt de optiereeks als sleutel;waarde-paren, met een verticale streep tussen meerdere paren. Het voorbeeld stelt de omgeving in vóór het importeren van OpenCV en vraagt uitdrukkelijk om CAP_FFMPEG.

FFmpeg documenteert http_proxy als de proxy-URL van het HTTP-protocol; de HTTP-proxylijst biedt kandidaten voor een openbare HTTP-mediamroute. Dat configureert geen ongerelateerde opnamebackend, lokale camera of willekeurig RTSP/UDP-verkeer.

Controleer de backend en FFmpeg-mogelijkheden van de werkelijke OpenCV-build. Een proxywaarde kan geen ontbrekende backend of decoder toevoegen.

Het openen van de media-invoer en het decoderen van een frame zijn ook afzonderlijke resultaten. Een codecfout na een geslaagde download mag niet worden gerapporteerd als bewijs dat de proxy onbereikbaar was.

Gerelateerde artikelen