File-Streaming not working. Incorrect DTS Timestamps

René Calles gstreamer at renevolution.com
Mon Apr 21 23:37:02 PDT 2014


Hi,

i’m trying to get the following Gstreamer Pipeline running… obviously without any luck.

GST_DEBUG=3 gst-launch-1.0 -v \
  filesrc location="MyFile.mp4" ! queue ! qtdemux name="dmux" \
  flvmux name="mux" streamable="true" ! queue ! rtmpsink location="rtmp://10.11.40.28/live/test live=1" \
  dmux. ! multiqueue name="mq" ! 'video/x-h264, width=1280, height=720, framerate=25/1' ! mux. \
  dmux. ! mq. mq. ! "audio/x-mpeg,mpegversion=4" ! mux.


This should play back the video in realtime and stream it via rtmp to the streaming server (nginx with rtmp-module).

As i am quite new to GStreamer and nearly searched the whole internet for a solution i hope someone here can help.
On the playback side (tested with FFplay) i see error messages like:

[flv @ 0x7fbc12813200] DTS 3000 < 3040 out of orderq=    0B f=0/0   
[flv @ 0x7fbc12813200] negative cts, previous timestamps might be wrong
HandleInvoke, Sanity failed. no string method in invoke packet0/0   

At GStreamer my Output is:

Leitung wird auf PAUSIERT gesetzt ...
Leitung l?uft vor ?
0:00:00.052846000 56079 0x7f7fd2809a80 WARN                 qtdemux qtdemux.c:6738:qtdemux_parse_segments:<dmux> streaming; discarding edit list segments
0:00:00.052881000 56079 0x7f7fd2809a80 WARN                 qtdemux qtdemux.c:7975:qtdemux_parse_trak:<dmux> unknown version 00000000
0:00:00.053321000 56079 0x7f7fd2809a80 WARN                 qtdemux qtdemux.c:6738:qtdemux_parse_segments:<dmux> streaming; discarding edit list segments
/GstPipeline:pipeline0/GstCapsFilter:capsfilter2: caps = audio/x-mpeg, mpegversion=(int)4
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3: caps = video/x-h264, width=(int)1280, height=(int)720, framerate=(fraction)25/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps = audio/x-mpeg, mpegversion=(int)4
/GstPipeline:pipeline0/GstCapsFilter:capsfilter5: caps = audio/x-mpeg, mpegversion=(int)4
/GstPipeline:pipeline0/GstCapsFilter:capsfilter6: caps = audio/x-mpeg, mpegversion=(int)4
0:00:00.055045000 56079 0x7f7fd2809a80 WARN                 qtdemux qtdemux.c:4774:gst_qtdemux_chain:<dmux> Unknown fourcc while parsing header : free
/GstPipeline:pipeline0/GstMultiQueue:mq.GstPad:sink_0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe1001a6764001fac34e4014016ec0440000003004000000ca3c60c448001000568efb2c8b0, width=(int)1280, height=(int)720, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstMultiQueue:mq.GstPad:sink_0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe1001a6764001fac34e4014016ec0440000003004000000ca3c60c448001000568efb2c8b0, width=(int)1280, height=(int)720, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstMultiQueue:mq.GstPad:sink_1: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1210, rate=(int)44100, channels=(int)2
/GstPipeline:pipeline0/GstMultiQueue:mq.GstPad:sink_1: caps = audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1210, rate=(int)44100, channels=(int)2
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe1001a6764001fac34e4014016ec0440000003004000000ca3c60c448001000568efb2c8b0, width=(int)1280, height=(int)720, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstFlvMux:mux.GstPad:video: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe1001a6764001fac34e4014016ec0440000003004000000ca3c60c448001000568efb2c8b0, width=(int)1280, height=(int)720, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe1001a6764001fac34e4014016ec0440000003004000000ca3c60c448001000568efb2c8b0, width=(int)1280, height=(int)720, framerate=(fraction)25/1, pixel-aspect-ratio=(fraction)1/1
0:00:00.056194000 56079 0x7f7fd28099e0 FIXME               basesink gstbasesink.c:3022:gboolean gst_base_sink_default_event(GstBaseSink *, GstEvent *):<rtmpsink0> stream-start event without group-id. Consider implementing group-id handling in the upstream elements
/GstPipeline:pipeline0/GstFlvMux:mux.GstPad:src: caps = video/x-flv, streamheader=(buffer)< 464c5601010000000900000000, 120000de0000000000000002000a6f6e4d657461446174610800000009000c766964656f636f646563696400401c000000000000000577696474680040940000000000000006686569676874004086800000000000000c417370656374526174696f58003ff0000000000000000c417370656374526174696f59003ff000000000000000096672616d6572617465004039000000000000000f6d6574616461746163726561746f720200134753747265616d657220464c56206d75786572000c6372656174696f6e646174650200175475652041707220323220363a32383a35362032303134000009000000e9, 0900002f0000000000000017000000000164001fffe1001a6764001fac34e4014016ec0440000003004000000ca3c60c448001000568efb2c8b00000003a >
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/x-flv, streamheader=(buffer)< 464c5601010000000900000000, 120000de0000000000000002000a6f6e4d657461446174610800000009000c766964656f636f646563696400401c000000000000000577696474680040940000000000000006686569676874004086800000000000000c417370656374526174696f58003ff0000000000000000c417370656374526174696f59003ff000000000000000096672616d6572617465004039000000000000000f6d6574616461746163726561746f720200134753747265616d657220464c56206d75786572000c6372656174696f6e646174650200175475652041707220323220363a32383a35362032303134000009000000e9, 0900002f0000000000000017000000000164001fffe1001a6764001fac34e4014016ec0440000003004000000ca3c60c448001000568efb2c8b00000003a >
/GstPipeline:pipeline0/GstQueue:queue1.GstPad:sink: caps = video/x-flv, streamheader=(buffer)< 464c5601010000000900000000, 120000de0000000000000002000a6f6e4d657461446174610800000009000c766964656f636f646563696400401c000000000000000577696474680040940000000000000006686569676874004086800000000000000c417370656374526174696f58003ff0000000000000000c417370656374526174696f59003ff000000000000000096672616d6572617465004039000000000000000f6d6574616461746163726561746f720200134753747265616d657220464c56206d75786572000c6372656174696f6e646174650200175475652041707220323220363a32383a35362032303134000009000000e9, 0900002f0000000000000017000000000164001fffe1001a6764001fac34e4014016ec0440000003004000000ca3c60c448001000568efb2c8b00000003a >
Leitung ist vorgelaufen ?
Leitung wird auf ABSPIELEN gesetzt ...
New clock: GstSystemClock

I see some Warnings and a Fixme but could not find out how to fix it or make the warning disappear.

All help is really appreciated.
Thanks,
René




-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140422/b8062fd5/attachment.html>


More information about the gstreamer-devel mailing list