Playing a live RTMP (flv, h264) stream

Chen Fisher chen.fisher at gmail.com
Fri Jun 21 15:35:11 UTC 2019


Hello all,

I'm trying to play a live RTMP stream (from an nginx-rtmp source) and fail
on flvdemux.
flvdemux is saying no video found after 6 seconds of audio, although it
recognizes there's a video stream and there are video packets coming in
even after it has decided there's no video.

0:00:08.776685700 42065 0x5633904b0ed0 ERROR               flvdemux
gstflvdemux.c:1558:gst_flv_demux_parse_tag_video:<d> got H.264 video packet
before codec data

0:00:08.778178000 42065 0x5633904b0ed0 DEBUG               flvdemux
gstflvdemux.c:1295:gst_flv_demux_parse_tag_audio:<d> Signalling
no-more-pads because no video stream was found after 6 seconds of audio

0:00:08.778626100 42065 0x5633904b0ed0 LOG                 flvdemux
gstflvdemux.c:1469:gst_flv_demux_parse_tag_video:<d> parsing a video tag
0:00:08.778649200 42065 0x5633904b0ed0 WARN                flvdemux
gstflvdemux.c:1477:gst_flv_demux_parse_tag_video:<d> Signaled no-more-pads
already but had no video pad -- ignoring

I believe flvdemux is waiting for a keyframe (hence the first error) and it
receives it after it has decided to abandon the video pad (6 seconds of
audio data). Although keyframes are sent every 1 second in the source
stream....

My gst pipeline:
gst-launch-1.0 rtmpsrc location=rtmp://<source of rtmp stream> ! flvdemux !
flvmux ! filesink location=f1

I also tried several options with queues, but the flvdemux fails to delay
link the video pad for the above reasons.

Any help would be appreciated!
Thanks!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20190621/ea0d3920/attachment.html>


More information about the gstreamer-devel mailing list