VideoCapture overlader netværksarbejdet til den valgte backend. Med et OpenCV-build, der leverer FFmpeg, kan en HTTP-video-URL modtage FFmpegs http_proxy-indstilling gennem miljøet for optagelsesindstillinger:

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

OpenCVs FFmpeg-backend tolker indstillingsstrengen som nøgle;værdi-par med en lodret streg mellem flere par. Eksemplet sætter miljøet, før OpenCV importeres, og anmoder udtrykkeligt om CAP_FFMPEG.

FFmpeg dokumenterer http_proxy som HTTP-protokollens proxy-URL; listen over HTTP-proxyer giver kandidater til en offentlig HTTP-medierute. Det konfigurerer ikke en ubeslægtet optagelsesbackend, et lokalt kamera eller vilkårlig RTSP/UDP-trafik.

Kontrollér backenden og FFmpeg-funktionerne i det faktiske OpenCV-build. En proxyværdi kan ikke tilføje en manglende backend eller dekoder.

At åbne medieinputtet og afkode en ramme er også to forskellige resultater. En codec-fejl efter en vellykket download bør ikke rapporteres som bevis på, at proxyen var utilgængelig.

Relaterede artikler