FFmpeg बैकएंड के साथ OpenCV VideoCapture की HTTP प्रॉक्सी सेटिंग्स
जब VideoCapture उस बैकएंड का स्पष्ट रूप से उपयोग करे, तब OPENCV_FFMPEG_CAPTURE_OPTIONS के माध्यम से FFmpeg का HTTP प्रॉक्सी विकल्प भेजें।
VideoCapture नेटवर्किंग का काम अपने चुने हुए बैकएंड को सौंपता है। FFmpeg वाले OpenCV बिल्ड के साथ, कोई HTTP वीडियो URL कैप्चर-विकल्प परिवेश के ज़रिए FFmpeg का http_proxy विकल्प पा सकता है:
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()
OpenCV का FFmpeg बैकएंड विकल्प स्ट्रिंग को key;value जोड़ियों के रूप में पार्स करता है, और कई जोड़ियों के बीच एक ऊर्ध्वाधर पट्टी होती है। उदाहरण OpenCV आयात करने से पहले परिवेश सेट करता है और CAP_FFMPEG का स्पष्ट अनुरोध करता है।
FFmpeg, http_proxy को HTTP प्रोटोकॉल का प्रॉक्सी URL बताता है; HTTP प्रॉक्सी सूची किसी सार्वजनिक HTTP मीडिया मार्ग के लिए उम्मीदवार देती है। यह किसी असंबंधित कैप्चर बैकएंड, स्थानीय कैमरे या मनमाने RTSP/UDP ट्रैफ़िक को कॉन्फ़िगर नहीं करता।
वास्तविक OpenCV बिल्ड के बैकएंड और FFmpeg क्षमताओं की जाँच करें। प्रॉक्सी मान किसी अनुपस्थित बैकएंड या डिकोडर को नहीं जोड़ सकता।
मीडिया इनपुट खोलना और फ़्रेम डिकोड करना भी अलग परिणाम हैं। सफल डाउनलोड के बाद कोडेक विफलता को इस प्रमाण के रूप में नहीं बताया जाना चाहिए कि प्रॉक्सी तक नहीं पहुँचा जा सका।