No playable streams after streaming video using Gstreamer

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

No playable streams after streaming video using Gstreamer

Raya
Hello,

I want to stream video using Gstreamer pipeline. I am using a c920 Logitech which is plugged to my board(the board uses linux costumized release provided by Yocto).

When I launch the first command
$gst-launch-1.0 -v --gst-debug=2 v4l2src device=/dev/video1 num-buffers=300 io-mode=dmabuf no-resurect-buf=true ! video/x-raw,format=NV12 ! omxh264enc control-rate=2 target-bitrate=10485760 interval_intraframes=14 periodicty-idr=2 use-dmabuf=true ! video/x-h264,profile=\(string\)high,level=\(string\)4.2 ! h264parse ! video/x-h264,stream-format=avc,alignment=au ! qtmux ! queue ! filesink location=output.mp4

Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
0:00:01.275238501  3220     0x12aaf4a0 WARN                 basesrc gstbasesrc.c:2943:gst_base_src_loop:<v4l2src0> error: Internal data flow error.
0:00:01.275306541  3220     0x12aaf4a0 WARN                 basesrc gstbasesrc.c:2943:gst_base_src_loop:<v4l2src0> error: streaming task paused, reason not-negotiated (-4)
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data flow error.
Additional debug info:
../../../../gstreamer-1.6.3/libs/gst/base/gstbasesrc.c(2943): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming task paused, reason not-negotiated (-4)
Execution ended after 0:00:00.035865024
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstQTMux:qtmux0.GstPad:src: caps = "video/quicktime\,\ variant\=\(string\)apple"
Setting pipeline to READY ...
0:00:01.275863943  3220     0x12aaf4a0 WARN                   qtmux gstqtmux.c:3364:gst_qt_mux_handle_buffer:<qtmux0> Failed to stop file: flushing
Setting pipeline to NULL ...
Freeing pipeline ...

Then I tried the below command:
$gst-launch-1.0 -vvv uvch264src device=/dev/video1 num-buffers=300 io-mode=dmabuf no-resurect-buf=true ! video/x-raw,format=NV12 ! omxh264enc ! video/x-h264,profile=\(string\)high,level=\(string\)4.2 ! h264parse ! video/x-h264,stream-format=avc,alignment=au ! mp4mux ! queue ! filesink location=output.mp4

The pipeline is created and I can stream a video. However, after stopping the pipeline, I can not open the stream what I get is this file contains no playable streams.

Could you help me please with my issue?
I need one of the two commands to do the streaming.

Reply | Threaded
Open this post in threaded view
|

Re: No playable streams after streaming video using Gstreamer

Nicolas Dufresne-5
Le jeudi 22 juin 2017 à 01:35 -0700, Mariem a écrit :

> Could you help me please with my issue? 
> I need one of the two commands to do the streaming.

You need to send an EOS event to tell the muxer to write down the
headers. Try -e option to gst-launch-1.0.

regards,
Nicolas
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (188 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: No playable streams after streaming video using Gstreamer

Raya
Thank you for your help.

I added -e to the second gstreamer pipeline and it solved the problem.