flvdemux working .. sometimes
Peter Maersk-Moller
pmaersk at gmail.com
Tue May 31 22:04:19 UTC 2016
Hi Sebastian
On Tue, May 31, 2016 at 8:17 AM, Sebastian Dröge <sebastian at centricular.com>
wrote:
> > QUEUE="queue max-size-time=0 max-size-bytes=0 max-size-buffers=0"
> > LOCATION=rtmp://192.168.3.100/live/mykey3
> >
> > gst-launch-1.0 -v \
> > rtmpsrc location=$LOCATION !\
> > $QUEUE !\
> > flvdemux name=demux !\
> > $QUEUE !\
> > aacparse !\
> > avdec_aac !\
> > autoaudiosink sync=0 demux. !\
> > $QUEUE !\
> > h264parse !\
> > avdec_h264 !\
> > $QUEUE !\
> > videoconvert !\
> > autovideosink sync=0
> > [...]
>
> This means that one of the queues you have there is not linked until
> no-more-pads happens on the demuxer. Give proper names to the queues to
> know which one it is.
>
I named the pipes uniquely and found the queue starving is the queue
between the flvmux and h264parse.
0:00:06.310136630 10614 0xb6f990 WARN default
grammar.y:506:gst_parse_no_more_pads:<demux> warning: Delayed linking
failed.
0:00:06.310215513 10614 0xb6f990 WARN default
grammar.y:506:gst_parse_no_more_pads:<demux> warning: failed delayed
linking some pad of GstFlvDemux named demux to some pad of GstQueue named
qh264
WARNING: from element /GstPipeline:pipeline0/GstFlvDemux:demux: Delayed
linking failed.
Additional debug info:
./grammar.y(506): gst_parse_no_more_pads ():
/GstPipeline:pipeline0/GstFlvDemux:demux:
failed delayed linking some pad of GstFlvDemux named demux to some pad of
GstQueue named qh264
0:00:28.189631062 10614 0xb6f990 WARN flvdemux
gstflvdemux.c:1413:gst_flv_demux_parse_tag_video:<demux> Signaled
no-more-pads already but had no video pad -- ignoring
> Most likely the problem here is that the audio or video stream are not
> found in the container early enough, and then the demuxer decides that
> there is no audio or video. This would be related to
> https://bugzilla.gnome.org/show_bug.cgi?id=764260
Reading through it, it sounds like that. That bug however is marked as an
enhancement and it appear not to be moving very fast :-( Note that the
problematic rtmp/flv stream is muxed and produced by GStreamer and not an
external tool. I tried to change the block-size in the flvmux, but that
does not seem to have any effect on this problem.
Interesting thing for delay in sync. If I start op the pipeline producing
the stream and then start the playing pipeline without sync for audio and
video sink, the video displayed is only a few hundred ms after what the
camera records. The audio is around 5 seconds late. But if I start the
player first, several seconds before I start producing the stream, the
audio is less than 1000 ms late. Maybe the demuxer introduces a delay it
doesn't have to introduce?
Are there any plans to add a rtmpserversrc module to GStreamer, a module
that could act as an rtmp server receiving a RTMP stream from a rtmpsink
module or another third party encoded rtmp (some cameras does rtmp although
the current issue with audio/video sync and no-pads doesn't make it very
attractive) ?
Thanks for the help
Peter
>
>
> --
> Sebastian Dröge, Centricular Ltd · http://www.centricular.com
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20160601/4d3cb186/attachment.html>
More information about the gstreamer-devel
mailing list