Gosodiadau dirprwy HTTP OpenCV VideoCapture gyda'r backend FFmpeg
Trosglwyddwch opsiwn dirprwy HTTP FFmpeg drwy OPENCV_FFMPEG_CAPTURE_OPTIONS pan fydd VideoCapture yn defnyddio'r backend hwnnw'n benodol.
Mae VideoCapture yn dirprwyo'r gwaith rhwydwaith i'r backend a ddewiswyd. Gyda chompiliad OpenCV sy'n darparu FFmpeg, gall URL fideo HTTP dderbyn opsiwn http_proxy FFmpeg drwy amgylchedd yr opsiynau dal:
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()
Mae backend FFmpeg OpenCV yn dosrannu'r llinyn opsiynau fel parau allwedd;gwerth, gyda bar fertigol rhwng parau lluosog. Mae'r enghraifft yn gosod yr amgylchedd cyn mewnforio OpenCV ac yn gofyn yn benodol am CAP_FFMPEG.
Mae FFmpeg yn dogfennu http_proxy fel URL dirprwy protocol HTTP; mae'r rhestr dirprwy HTTP yn cynnig ymgeiswyr ar gyfer llwybr cyfryngau HTTP cyhoeddus. Nid yw hyn yn ffurfweddu backend dal diberthnasol, camera lleol nac unrhyw draffig RTSP/UDP mympwyol.
Gwiriwch y backend a galluoedd FFmpeg y compiliad OpenCV gwirioneddol. Ni all gwerth dirprwy ychwanegu backend na dadgodiwr sydd ar goll.
Mae agor y mewnbwn cyfryngau a dadgodio ffrâm hefyd yn ganlyniadau ar wahân. Ni ddylid adrodd methiant codog ar ôl llwytho i lawr yn llwyddiannus fel prawf bod y dirprwy yn un na ellid ei gyrraedd.