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 সক্ষমতা যাচাই করুন। প্রক্সি মান অনুপস্থিত ব্যাকএন্ড বা ডিকোডার যোগ করতে পারে না।

মিডিয়া ইনপুট খোলা এবং ফ্রেম ডিকোড করা আলাদা ফলাফল। সফল ডাউনলোডের পরে কোডেক ব্যর্থতাকে প্রক্সি পৌঁছানো যায়নি এর প্রমাণ হিসেবে জানানো উচিত নয়।

সম্পর্কিত নিবন্ধ