VideoCapture menyerahkan kerja rangkaian kepada backend yang dipilihnya. Dengan binaan OpenCV yang menyediakan FFmpeg, URL video HTTP boleh menerima pilihan http_proxy FFmpeg melalui persekitaran pilihan tangkapan:

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

Backend FFmpeg OpenCV menghuraikan rentetan pilihan sebagai pasangan kunci;nilai, dengan palang menegak antara berbilang pasangan. Contoh menetapkan persekitaran sebelum mengimport OpenCV dan meminta CAP_FFMPEG secara eksplisit.

FFmpeg mendokumenkan http_proxy sebagai URL proksi protokol HTTP; senarai proksi HTTP menyediakan calon untuk laluan media HTTP awam. Itu tidak mengkonfigurasi backend tangkapan yang tidak berkaitan, kamera setempat atau trafik RTSP/UDP sewenang-wenangnya.

Semak backend dan keupayaan FFmpeg bagi binaan OpenCV sebenar. Nilai proksi tidak boleh menambah backend atau penyahkod yang tiada.

Membuka input media dan menyahkod bingkai juga merupakan hasil yang berasingan. Kegagalan codec selepas muat turun berjaya tidak sepatutnya dilaporkan sebagai bukti bahawa proksi tidak dapat dicapai.

Artikel berkaitan