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 क्षमता जाँच्नुहोस्। प्रोक्सी मानले छुटेको ब्याकइन्ड वा डिकोडर थप्न सक्दैन।

मिडिया इनपुट खोल्नु र फ्रेम डिकोड गर्नु पनि छुट्टाछुट्टै नतिजा हुन्। सफल डाउनलोडपछिको कोडेक असफलतालाई प्रोक्सीसम्म पुग्न नसकेको प्रमाणका रूपमा रिपोर्ट गर्नु हुँदैन।

सम्बन्धित लेखहरू