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