OpenCV VideoCapture-ի HTTP պրոքսի կարգավորումները FFmpeg բեքենդի հետ
Փոխանցեք FFmpeg-ի HTTP պրոքսի ընտրանքը OPENCV_FFMPEG_CAPTURE_OPTIONS-ի միջոցով, երբ VideoCapture-ը բացահայտորեն օգտագործում է այդ բեքենդը։
VideoCapture-ը ցանցային աշխատանքը հանձնում է իր ընտրած բեքենդին։ FFmpeg պարունակող OpenCV կառուցվածքի դեպքում HTTP վիդեո URL-ը կարող է ստանալ FFmpeg-ի http_proxy ընտրանքը՝ capture-options միջավայրի միջոցով։
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 մեդիա երթուղու համար։ Սա չի կարգավորում անկապ capture բեքենդ, տեղական տեսախցիկ կամ կամայական RTSP/UDP տրաֆիկ։
Ստուգեք իրական OpenCV կառուցվածքի բեքենդը և FFmpeg հնարավորությունները։ Պրոքսի արժեքը չի կարող ավելացնել բացակայող բեքենդ կամ ապակոդավորիչ։
Մեդիա մուտքի բացումը և կադրի ապակոդավորումը նույնպես առանձին արդյունքներ են։ Հաջող ներբեռնումից հետո կոդեկի ձախողումը չպետք է ներկայացվի որպես պրոքսիին չհասնելու ապացույց։