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 ಸಾಮರ್ಥ್ಯಗಳನ್ನು ಪರಿಶೀಲಿಸಿ. ಪ್ರಾಕ್ಸಿ ಮೌಲ್ಯವು ಕಾಣೆಯಾದ ಬ್ಯಾಕೆಂಡ್ ಅಥವಾ ಡಿಕೋಡರ್ ಅನ್ನು ಸೇರಿಸಲಾಗದು.
ಮಾಧ್ಯಮ ಇನ್ಪುಟ್ ತೆರೆಯುವುದು ಮತ್ತು ಫ್ರೇಮ್ ಡಿಕೋಡ್ ಮಾಡುವುದು ಕೂಡ ಪ್ರತ್ಯೇಕ ಫಲಿತಾಂಶಗಳು. ಯಶಸ್ವಿ ಡೌನ್ಲೋಡ್ ನಂತರದ ಕೋಡೆಕ್ ವೈಫಲ್ಯವನ್ನು ಪ್ರಾಕ್ಸಿ ತಲುಪಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂಬ ಸಾಕ್ಷ್ಯವಾಗಿ ವರದಿ ಮಾಡಬಾರದು.