Hi,
On Linux, I am able to mux the streams from 2 different V4L2 webcams into a Matroska container with the following pipeline:
gst-launch-1.0 -v -e \
v4l2src device=/dev/video2 io-mode=4 \ ! 'video/x-raw, format=(string)UYVY, width=(int)160, height=(int)120' \ ! videoconvert \ ! 'video/x-raw, format=(string)NV12, width=(int)160, height=(int)120' \ ! ducatih264enc \ ! queue \ ! "video/x-h264,width=160,height=120" \ ! h264parse \ ! queue \ ! mux. \ v4l2src device=/dev/video1 \ ! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 \ ! 'video/x-raw, format=(string)YUY2, width=(int)640, height=(int)480, framerate=30/1' \ ! videoconvert \ ! 'video/x-raw, format=(string)NV12, width=(int)640, height=(int)480' \ ! ducatih264enc \ ! queue \ ! "video/x-h264,width=640,height=480" \ ! h264parse \ ! queue \ ! mux. \ matroskamux name=mux min-index-interval=1000000000 \ ! queue max-size-buffers=0 max-size-time=0 max-size-bytes=0 \ ! filesink location=test-video.mkv
Now I want to be able to exract one of those video streams like shown in: https://gstreamer.freedesktop.org/documentation/tutorials/basic/gstreamer-tools.html
I am trying to use the pipeline:
gst-launch-1.0 filesrc location=test-video.mkv ! matroskademux name=d d.video_00 ! queue ! video/x-h264 ! queue ! h264parse ! ducatih264dec ! waylandsink sync=false
The problem is that all variations of this that I try give a "Delayed linking failed" error - here is an example:
Setting pipeline to PAUSED ...[68219.713998] omap-iommu 55082000.mmu: 55082000.mmu: version 2.1
Pipeline is PREROLLING ... WARNING: from element /GstPipeline:pipeline0/GstMatroskaDemux:d: Delayed linking failed. Additional debug info: ../../../gstreamer-1.12.2/gst/parse/grammar.y(510): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstMatroskaDemux:d: failed delayed linking pad video_00 of GstMatroskaDemux named d to some pad of GstQueue named queue0 ERROR: from element /GstPipeline:pipeline0/GstMatroskaDemux:d: Internal data stream error. Additional debug info: ../../../gst-plugins-good-1.12.2/gst/matroska/matroska-demux.c(4799): gst_matroska_demux_loop (): /GstPipeline:pipeline0/GstMatroskaDemux:d: streaming stopped, reason not-linked (-1) ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ... How can I extract one video stream from the matroska file? Thanks.
Please be advised that this email may contain confidential information. If you are not the intended recipient, please notify us by email by replying to the sender and delete this message. The sender disclaims that the content of this email constitutes an offer to enter into, or the acceptance of, any agreement; provided that the foregoing does not invalidate the binding effect of any digital or other electronic reproduction of a manual signature that is included in any attachment. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Fri, 2018-10-05 at 12:45 +0000, Class, Phil wrote:
Hi Phil, > I am trying to use the pipeline: > > gst-launch-1.0 filesrc location=test-video.mkv ! matroskademux name=d > d.video_00 ! queue ! video/x-h264 ! queue ! h264parse ! ducatih264dec > ! waylandsink sync=false > > The problem is that all variations of this that I try give a "Delayed > linking failed" error Try using d.video_0 and d.video_1 instead of d.video_00. The exact name varies a bit from demuxer to demuxer, but gst-inspect- 1.0 matroskademux shows that the pad template name is "video_%u" rather than "video_%02u" so I would expect the video pad to be named "video_0" etc. Cheers -Tim -- Tim Müller, Centricular Ltd - http://www.centricular.com Join us at the GStreamer Conference! 25-26 October 2018 in Edinburgh, Scotland _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |