VideoCapture ქსელურ სამუშაოს თავის არჩეულ ბექენდს აბარებს. FFmpeg-ის მქონე OpenCV build-ის შემთხვევაში, 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 build-ის ბექენდი და FFmpeg შესაძლებლობები. პროქსის მნიშვნელობა ვერ დაამატებს არსებულ ბექენდს ან დეკოდერს.

მედია შესვლის გახსნა და კადრის დეკოდირება ასევე ცალკე შედეგებია. წარმატებული ჩამოტვირთვის შემდეგ კოდეკის ჩავარდნა არ უნდა შეფასდეს როგორც პროქსის მიუწვდომლობის მტკიცებულება.

დაკავშირებული სტატიები