FFmpeg backend සමඟ OpenCV VideoCapture හි HTTP proxy සැකසුම්
VideoCapture එම backend එක පැහැදිලිව භාවිත කරන විට OPENCV_FFMPEG_CAPTURE_OPTIONS හරහා FFmpeg හි HTTP proxy විකල්පය යවන්න.
VideoCapture ජාලකරණ කටයුතු තමා තෝරාගත් backend එකට පවරයි. FFmpeg සහිත OpenCV build එකක් සමඟ, HTTP වීඩියෝ URL එකකට capture-options පරිසරය හරහා 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 backend එක විකල්ප තන්තුව key;value යුගල ලෙස විග්රහ කරයි, යුගල කිහිපයක් අතර සිරස් ඉරක් ඇත. උදාහරණය OpenCV ආයාත කිරීමට පෙර පරිසරය සකසා CAP_FFMPEG පැහැදිලිව ඉල්ලා සිටී.
FFmpeg http_proxy HTTP ප්රොටෝකෝලයේ proxy URL ලෙස ලේඛනගත කරයි; HTTP proxy ලැයිස්තුව පොදු HTTP මාධ්ය මාර්ගයක් සඳහා අපේක්ෂකයින් සපයයි. එය සම්බන්ධ නොවන capture backend එකක්, දේශීය කැමරාවක් හෝ අත්තනෝමතික RTSP/UDP රථවාහනය වින්යාස නොකරයි.
සැබෑ OpenCV build එකේ backend එක සහ FFmpeg හැකියාවන් පරීක්ෂා කරන්න. proxy අගයකට නොමැති backend එකක් හෝ ඩිකෝඩරයක් එකතු කළ නොහැක.
මාධ්ය ආදානය විවෘත කිරීම සහ රාමුවක් ඩිකෝඩ කිරීම ද වෙන් වූ ප්රතිඵල වේ. සාර්ථක බාගැනීමකින් පසු codec අසාර්ථකත්වය proxy වෙත ළඟා විය නොහැකි බවට සාක්ෂියක් ලෙස වාර්තා නොකළ යුතුය.