Receive Pipeline not going to playing state when rtmpsrc with mpegtsdemux is used.
badri
badri at cloudzilla.com
Wed Apr 10 18:40:50 PDT 2013
hi folks,
I am unable to get the pipeline into playing state when I chain rtmpsrc
with mpegtsdemux.
Much appreciate any help or advice, as I am not making progress looking
at the debug messages coming from the pipeline.
I've setup a live stream at
rtmp://184.169.221.233/live/streamUdpTs1
The following works fine and dumps bytes to screen:
(Note that there is an RTMP error in negotiation, but that comes from
rtmpdump as well, and it plays fine).
% gst-launch rtmpsrc
location="rtmp://184.169.221.233/live/streamUdpTs1 live=1" ! fakesink
dump=true
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: rtmp server sent error
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
....
Similarly, I can also dump the data to a file and play it back. This
works fine:
% gst-launch rtmpsrc
location="rtmp://184.169.221.233/live/streamUdpTs1 live=1" ! filesink
location="test.rtmp"
% ffplay test.rtmp
Just to show there is nothing wrong with the stream, it plays fine from
a regular flash player or from linux command line. For example:
% ffplay rtmp://184.169.221.233/live/streamUdpTs1
(There's about a 20sec delay in launching this, but it plays fine)
Now, the problem: when I build a receiver pipeline to view the stream,
the pipeline does not start - due to the addition of the mpegtsdemux
state. For example:
% gst-launch rtmpsrc location="rtmp://184.169.221.233/live/streamUdpTs1
live=1" ! mpegtsdemux ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: rtmp server sent error
ie., There is no going to the PLAYING state.
Please ignore the "rtmp server error" in negotiation as it comes in all
the situations, and it possibly occurs as I have disabled the RTMP
handshake from my server due to problems RTMPDUMP and rtmpsrc had with
it.
Thanks,
Badri Gopalan
More information about the gstreamer-devel
mailing list