Iniatang ng VideoCapture ang gawaing network sa backend na pinili nito. Sa OpenCV build na may FFmpeg, ang HTTP video URL ay makakatanggap ng opsyong http_proxy ng FFmpeg sa pamamagitan ng kapaligiran ng mga opsyong panghuli:

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

Binibigyang-kahulugan ng FFmpeg backend ng OpenCV ang string ng opsyon bilang mga pares na key;value, na may patayong guhit sa pagitan ng maraming pares. Itinatakda ng halimbawa ang kapaligiran bago i-import ang OpenCV at tahasang humihiling ng CAP_FFMPEG.

Itinatala ng FFmpeg ang http_proxy bilang proxy URL ng protocol na HTTP; ang listahan ng HTTP proxy ay nagbibigay ng mga kandidato para sa pampublikong ruta ng media na HTTP. Hindi nito kino-configure ang walang kaugnayang backend ng paghuli, lokal na kamera o arbitraryong trapiko ng RTSP/UDP.

Suriin ang backend at mga kakayahan ng FFmpeg ng aktwal na OpenCV build. Hindi maaaring magdagdag ng nawawalang backend o decoder ang isang halaga ng proxy.

Ang pagbubukas ng input ng media at pag-decode ng frame ay magkahiwalay ding resulta. Ang pagkabigo ng codec pagkatapos ng matagumpay na pag-download ay hindi dapat iulat bilang patunay na hindi maabot ang proxy.

Kaugnay na mga artikulo