AW: Impossible to play a rtsp stream

Dominik Schröder dominik.schroeder at bh-elektronik.de
Mon Jul 16 06:05:45 PDT 2012


Hi Tim

Thanks for your reply. I tried all three suggestions.

For the first one I get:

root [ ~ ] $ gst-launch-0.10 -v rtspsrc location=rtsp://172.16.10.151:5544/cif ! rtph264depay ! h264dec ! fastoverlaysink
set up. fb_vinfo.xres=1024, fb_vinfo.yres=768
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRTPDec:rtpdec0: latency = 3000
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0: timeout = 5000000
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc3: timeout = 5000000
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0: timeout = 0
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc3: timeout = 0
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:src: caps = video/x-h264
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)42c015, sprop-parameter-sets=(string)\"Z0LAFZJEBQE/ywgAAB9IAAXcAHixdQ\\=\\=\\,aM48gA\\=\\=\", clock-base=(guint)481412036, seqnum-base=(guint)20675, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_0_3761323689_96: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)42c015, sprop-parameter-sets=(string)\"Z0LAFZJEBQE/ywgAAB9IAAXcAHixdQ\\=\\=\\,aM48gA\\=\\=\", clock-base=(guint)481412036, seqnum-base=(guint)20675, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_0_3761323689_96.GstProxyPad:proxypad0: caps = application/x-rtp, media=(string)video, payload=(int)96, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)42c015, sprop-parameter-sets=(string)\"Z0LAFZJEBQE/ywgAAB9IAAXcAHixdQ\\=\\=\\,aM48gA\\=\\=\", clock-base=(guint)481412036, seqnum-base=(guint)20675, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_1_1028937861_97: caps = application/x-rtp, media=(string)audio, payload=(int)97, clock-rate=(int)44100, encoding-name=(string)MPEG4-GENERIC, encoding-params=(string)2, streamtype=(string)5, profile-level-id=(string)15, mode=(string)AAC-hbr, config=(string)1210, sizelength=(string)13, indexlength=(string)3, indexdeltalength=(string)3, profile=(string)1, clock-base=(guint)278841570, seqnum-base=(guint)23162, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_1_1028937861_97.GstProxyPad:proxypad1: caps = application/x-rtp, media=(string)audio, payload=(int)97, clock-rate=(int)44100, encoding-name=(string)MPEG4-GENERIC, encoding-params=(string)2, streamtype=(string)5, profile-level-id=(string)15, mode=(string)AAC-hbr, config=(string)1210, sizelength=(string)13, indexlength=(string)3, indexdeltalength=(string)3, profile=(string)1, clock-base=(guint)278841570, seqnum-base=(guint)23162, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstH264Dec:h264dec0.GstPad:sink: caps = video/x-h264
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 2806461 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/GstPipeline:pipeline0/GstH264Dec:h264dec0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_1_1028937861_97: caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_0_3761323689_96: caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_1_1028937861_97: caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRTPDec:rtpdec0.GstPad:recv_rtp_src_1_1028937861_97: caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_0_3761323689_96: caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstRTPDec:rtpdec0.GstPad:recv_rtp_src_0_3761323689_96: caps = NULL
Setting pipeline to NULL ...
....Thread exit =1 Overlay1VS->_is_error_set=0...
 ov1_main_thread: Exiting overlaysink thread...
codec system time 116 usec, frame number 0
FREEING pipeline ...
------ FB display frame count = 0
root [ ~ ] $

The second one (gst-launch-0.10 -v uridecodebin uri=rtsp://172.16.10.151:5544/cif ! fastoverlaysink) works a little bit. But the video stagnates very much and after some time, the complete stream breaks down...

I think, in any case I need the hardware accelerated h264 video codec (! H264dec !). It is a low power (1Ghz) Marvell PXA168 SoC. So I need to use the integrated accelerators... Am I right!?

I can play the video if it is locally stored very well/smooth (Flash memory) with: 

gst-launch -v filesrc location=/trailer.mp4 ! qtdemux name=t ! queue ! h264dec ! fastoverlaysink t.

In my opinion, for rtsp, only the filesrc changes...!? Is that wrong?

For your 3rd suggestion I get:

root [ ~ ] $ gst-launch-0.10 -v playbin2 uri=rtsp://172.16.10.151:5544/cif video-sink=fastoverlaysink
WARNING: erroneous pipeline: could not set property "video-sink" in element "playbin20" to "fastoverlaysink"
root [ ~ ] $

So I think paybin20 doesn`t work with fastoverlaysink!?

Any other ideas!?

Thanks and best regards

Dominik Schröder

-----Ursprüngliche Nachricht-----
Von: gstreamer-devel-bounces+dominik.schroeder=bh-elektronik.de at lists.freedesktop.org [mailto:gstreamer-devel-bounces+dominik.schroeder=bh-elektronik.de at lists.freedesktop.org] Im Auftrag von Tim-Philipp Müller
Gesendet: Montag, 16. Juli 2012 14:36
An: gstreamer-devel at lists.freedesktop.org
Betreff: Re: Impossible to play a rtsp stream

On Mon, 2012-07-16 at 13:57 +0200, Dominik Schröder wrote:

Hi Dominik,

> At the moment, I can play a local stored mpeg4 .avi file. The problem 
> is to play a rtsp stream.
> 
> If I try: gst-launch -v rtspsrc
> location=rtsp://172.16.10.151:5544/cif ! qtdemux name=t ! queue !
> h264dec ! fastoverlaysink t.
> 
> I get the following error output: 
> element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc3:
> Internal data flow error.
> streaming task paused, reason not-linked (-1)

> I have gstreamer-0.10.22, gst-plugins-good-0.10.14 and
> gst-plugins-0.10.22 installed on my system.
> 
> Can anybody help me with this problem?

There is no need for qtdemux in this case. Just depayloaders and decoders (for each stream).

Try:

gst-launch-0.10 -v rtspsrc location=rtsp://172.16.10.151:5544/cif !
rtph264depay ! h264dec ! fastoverlaysink

or even

gst-launch-0.10 -v uridecodebin uri=rtsp://172.16.10.151:5544/cif !
fastoverlaysink

(requires decoder element to have a rank and proper pad templates)

or even

gst-launch-0.10 -v playbin2 uri=rtsp://172.16.10.151:5544/cif video-sink=fastoverlaysink

(depends a bit on your decoder + sink elements)

Cheers
 -Tim

_______________________________________________
gstreamer-devel mailing list
gstreamer-devel at lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel



More information about the gstreamer-devel mailing list