Skip to content

VideoStreamCv2 does not work with gstreamer pipelines #276

Closed
@Breakthrough

Description

@Breakthrough

gstreamer pipelines are specified by using a ! character. This check needs to also treat a path including a ! as a stream/URL case. This was found in the following discussion.

It might also be a good idea for v0.6.1 to allow constructing a VideoStreamCv2 directly from an existing VideoCapture object, which would avoid requiring any fixes like this in the future.


@Breakthrough Thanks for the example.
With the use case i am trying to get this run, the input is from a gstreamer pipe.
Like:

# in opencv how i read 
cap = cv2.VideoCapture("videotestsrc ! appsink")
# As per the example you shared
cam = VideoStreamCv2("videotestsrc ! appsink")

when i tried the example with this it throws error

    cam = VideoStreamCv2(source)
  File "/usr/local/lib/python3.6/dist-packages/scenedetect/backends/opencv.py", line 92, in __init__
    self._open_capture(framerate)
  File "/usr/local/lib/python3.6/dist-packages/scenedetect/backends/opencv.py", line 297, in _open_capture
    raise OSError('Video file not found.')

Originally posted by @research-boy in #151 (comment)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions