VideoCapture overlater nettverksarbeidet til backenden den har valgt. Med en OpenCV-build som har FFmpeg, kan en HTTP-video-URL motta FFmpegs http_proxy-valg gjennom miljøet for opptaksvalg:

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 valgstrengen som nøkkel;verdi-par, med en loddrett strek mellom flere par. Eksempelet setter miljøet før OpenCV importeres og ber eksplisitt om CAP_FFMPEG.

FFmpeg dokumenterer http_proxy som HTTP-protokollens proxy-URL; listen over HTTP-proxyer gir kandidater for en offentlig HTTP-medierute. Det konfigurerer ikke en urelatert opptaksbackend, et lokalt kamera eller vilkårlig RTSP/UDP-trafikk.

Kontroller backenden og FFmpeg-funksjonene i den faktiske OpenCV-builden. En proxyverdi kan ikke legge til en manglende backend eller dekoder.

Å åpne medieinndata og dekode et bilde er også to separate resultater. En codec-feil etter en vellykket nedlasting bør ikke rapporteres som bevis på at proxyen var utilgjengelig.

Relaterte artikler