After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 636967 - [rtspsrc] can't connect to camera
[rtspsrc] can't connect to camera
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
0.10.26
Other Linux
: Normal normal
: NONE
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-12-10 14:49 UTC by Tibor Kocsis
Modified: 2013-08-21 20:56 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
gst-debug=5 logfile (463.05 KB, application/x-gzip)
2011-01-04 10:51 UTC, Tibor Kocsis
Details

Description Tibor Kocsis 2010-12-10 14:49:59 UTC
Hi,

I have a SANYO network camera, and I can't open the live stream with gstreamer. It isn't any problem with vlc and mplayer, but from gst command line or with totem it doesn't work.

The error message is some kind of negotiation error. My pipeline is very basic:
gst-launch rtspsrc location="..." ! fakesink sync=true

The running with GST_DEBUG=rtspsrc*:4 said (copied only the last few line):

0:00:00.872411917 25571  0x9140a10 DEBUG                rtspsrc gstrtspsrc.c:2096:pad_blocked:<rtspsrc0> pad udpsrc0:src blocked, activating streams
0:00:00.872451887 25571  0x9140a10 DEBUG                rtspsrc gstrtspsrc.c:3004:gst_rtspsrc_activate_streams:<rtspsrc0> activating streams
0:00:00.872477225 25571  0x9140a10 DEBUG                rtspsrc gstrtspsrc.c:3038:gst_rtspsrc_activate_streams:<rtspsrc0> unblocking stream pad 0x912d500
0:00:00.872488089 25571  0x9140a10 DEBUG                rtspsrc gstrtspsrc.c:2089:pad_unblocked:<rtspsrc0> pad udpsrc0:src unblocked
0:00:00.873733965 25571  0x9140a10 DEBUG                rtspsrc gstrtspsrc.c:2197:request_pt_map:<rtspsrc0> getting pt map for pt 100 in session 0
0:00:00.873775221 25571  0x9140a10 DEBUG                rtspsrc gstrtspsrc.c:2197:request_pt_map:<rtspsrc0> getting pt map for pt 111 in session 0
0:00:00.874099873 25571  0x915b780 DEBUG                rtspsrc gstrtspsrc.c:2129:new_session_pad:<rtspsrc0> got new session pad <rtpbin0:recv_rtp_src_0_916666413_111>
0:00:00.874202344 25571  0x915b780 DEBUG                rtspsrc gstrtspsrc.c:2137:new_session_pad:<rtspsrc0> stream: 0, SSRC 916666413, PT 111
0:00:00.874524741 25571  0x915b780 DEBUG                rtspsrc gstrtspsrc.c:2161:new_session_pad:<rtspsrc0> stream 0x912d500, container 0, disabled 0, added 1
0:00:00.874581427 25571  0x915b780 DEBUG                rtspsrc gstrtspsrc.c:2161:new_session_pad:<rtspsrc0> stream 0x9139df8, container 0, disabled 0, added 0
WARNING: from element /GstPipeline:pipeline0/GstFakeSink:fakesink0: Internal data flow problem.
Additional debug info:
gstbasesink.c(3446): gst_base_sink_chain_unlocked (): /GstPipeline:pipeline0/GstFakeSink:fakesink0:
Received buffer without a new-segment. Assuming timestamps start from 0.
0:00:00.876290079 25571  0x913cbc8 DEBUG                rtspsrc gstrtspsrc.c:1991:gst_rtspsrc_handle_src_query:<rtspsrc0> pad rtspsrc0:recv_rtp_src_0_916666413_111 received query latency
0:00:00.876448753 25571  0x913cbc8 DEBUG                rtspsrc gstrtspsrc.c:1875:gst_rtspsrc_handle_src_event:<rtspsrc0> pad rtspsrc0:recv_rtp_src_0_916666413_111 received event latency
0:00:02.872857920 25571  0x915b780 DEBUG                rtspsrc gstrtspsrc.c:2129:new_session_pad:<rtspsrc0> got new session pad <rtpbin0:recv_rtp_src_0_916666413_100>
0:00:02.872891925 25571  0x915b780 DEBUG                rtspsrc gstrtspsrc.c:2137:new_session_pad:<rtspsrc0> stream: 0, SSRC 916666413, PT 100
0:00:02.872983894 25571  0x915b780 DEBUG                rtspsrc gstrtspsrc.c:2161:new_session_pad:<rtspsrc0> stream 0x912d500, container 0, disabled 0, added 1
0:00:02.872995240 25571  0x915b780 DEBUG                rtspsrc gstrtspsrc.c:2161:new_session_pad:<rtspsrc0> stream 0x9139df8, container 0, disabled 0, added 0
0:00:02.873853281 25571  0x9140a10 DEBUG                rtspsrc gstrtspsrc.c:6060:gst_rtspsrc_handle_message:<rtspsrc0> got error from udpsrc0
0:00:02.873868277 25571  0x9140a10 DEBUG                rtspsrc gstrtspsrc.c:6074:gst_rtspsrc_handle_message:<rtspsrc0> combined flows: not-linked
ERROR: from element /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0: Internal data flow error.
Additional debug info:
gstbasesrc.c(2563): gst_base_src_loop (): /GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0/GstUDPSrc:udpsrc0:
streaming task paused, reason not-linked (-1)
Execution ended after 2709004271 ns.
Setting pipeline to PAUSED ...

The full log with -v is here:
http://pastebin.com/ZdShuFnP

The full log with gst-debug=3,rtspsrc*:4 is here:
http://pastebin.com/YwnHpNEs

And the rtsp messages are here:
http://pastebin.com/a1Cgcwkq

Regards,
Tibor
Comment 1 Levente Farkas 2011-01-03 14:35:57 UTC
do you have any tip about this bug?
it's good new sanyo ip camera which can be used with vlc and mplayer but not with gstreamer. any tip would be useful...
Comment 2 Tim-Philipp Müller 2011-01-03 14:47:42 UTC
My tip: make a full GST_DEBUG=*:5 log and figure out where exactly the not-linked comes from and why it happens.
Comment 3 Tibor Kocsis 2011-01-04 10:51:48 UTC
Created attachment 177468 [details]
gst-debug=5 logfile

The gst-debug=5 logfile is in the attachment.

I tried to figure out from where comes the "not linked" error message first, but I couldn't find it. Maybe the problem is somewhere between these lines:

#25345: gstghostpad.c:1119:gst_ghost_pad_new_from_template:[00m name:recv_rtp_src_0_885473689_100, target:rtpptdemux0:src_100, templ:0x1fbe8d0

#25518:  GST_SCHEDULING gstpad.c:4476:gst_pad_push_data:<rtspsrc0:recv_rtp_src_0_885473689_100>[00m pushing, but it was not linked
Comment 4 Tibor Kocsis 2011-01-04 10:55:21 UTC
I forgot to attach the pipeline I used:

GST_DEBUG=*:5 gst-launch -v rtspsrc location="rtsp://admin:admin@10.30.0.119/VideoInput/1/h264/1" ! decodebin ! xvimagesink 2&> sanyo.txt
Comment 5 Vincent Penquerc'h 2011-08-22 10:32:32 UTC
Suspicious things in the log:

0:00:00.234077978  3168      0x1d82080 DEBUG           GST_PIPELINE parse.l:141:_gst_parse_yylex: flex: SPACE: [ ]
0:00:00.234091287  3168      0x1d82080 DEBUG           GST_PIPELINE parse.l:144:_gst_parse_yylex: flex: Invalid Lexer element: 2

0:00:00.234104913  3168      0x1d82080 WARN                 default ./grammar.y:889:_gst_parse_yyerror: Error during parsing: syntax error, unexpected $undefined

The pipeline that was actually used seems to have had wrong syntax.
Comment 6 Levente Farkas 2011-08-24 14:18:44 UTC
see in #c4 there is the full pipeline. what's wrong with that?
Comment 7 Vincent Penquerc'h 2011-08-24 14:38:26 UTC
I saw it, and did not see anything wrong with the pipeline in comment 4.
Comment 8 Levente Farkas 2011-08-24 14:58:12 UTC
actually it's a Sanyo VCC-HD2500P ip camera and that's it's standard rtsp port, but we can't use it with gstreamer:-(
Comment 9 Vincent Penquerc'h 2011-08-24 17:02:06 UTC
It appears to be the newline. I don't get this error while running this same pipeline, but in any case it seems like a red herring indeed.
Comment 10 Vincent Penquerc'h 2011-08-24 17:10:06 UTC
Oh, hmm, can you try decodebin2 rather than decodebin ?
Comment 11 Frankie Eymard 2011-08-25 14:54:11 UTC
(In reply to comment #10)
> Oh, hmm, can you try decodebin2 rather than decodebin ?

Got the same issue while trying to watch a TV channel streamed by dvb-daemon with the simple pipeline:

$ GST_DEBUG=rtsp*:5 gst-launch -v rtspsrc location="rtsp://<ipaddress>:8554/4/1025/M6"! decodebin2 ! xvimagesink

Notice a missing space between 'M6"' and  '! decodebin2'

The issue is solved when adding a space:

$ GST_DEBUG=rtsp*:5 gst-launch -v rtspsrc location="rtsp://<ipaddress>:8554/4/1025/M6" ! decodebin2 ! xvimagesink
Comment 12 Levente Farkas 2011-08-29 14:52:59 UTC
retest it and still hang:

$ gst-launch -v playbin2 uri="rtsp://admin:admin@10.30.0.135/VideoInput/1/h264/1"
Setting pipeline to PAUSED ...
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-size = -1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: buffer-duration = -1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: use-buffering = FALSE
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: download = FALSE
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: uri = "rtsp://admin:admin@10.30.0.135/VideoInput/1/h264/1"
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: connection-speed = 0
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0: source = (GstRTSPSrc) source
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:rtpbin0: latency = 2000
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:rtpbin0: buffer-mode = slave (1)
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc0: timeout = 5000000
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0: caps = application/x-rtcp
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src: caps = application/x-rtcp
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSink:udpsink1.GstPad:sink: caps = application/x-rtcp
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0.GstProxyPad:proxypad2: caps = application/x-rtcp
New clock: GstSystemClock
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc0: timeout = 0
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src: caps = application/x-rtcp
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink: caps = application/x-rtcp
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp: caps = application/x-rtcp
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:src: caps = application/x-rtp, media=(string)video, payload=(int)111, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)640028, reso=(string)1280:720, scanning=(string)0, tvsystem=(string)pal, cameramode=(string)hd, streamid=(string)0, bitratemode=(string)vbr, gop=(string)30, aspectratio=(string)16:9, packetization-mode=(string)1, sprop-parameter-sets=(string)\"Z2QAKK0AzlAUAW7ARAAAOEAACvyDgAAAExLQAAAvrwiL34wAAAMAmJaAAAF9eERe/AgAAA\\=\\=\\,aP48sA\\=\\=\", a-framerate=(string)5.0, a-quality=(string)4, clock-base=(uint)75153600, seqnum-base=(uint)1, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstTypeFindElement:typefind.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)111, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)640028, reso=(string)1280:720, scanning=(string)0, tvsystem=(string)pal, cameramode=(string)hd, streamid=(string)0, bitratemode=(string)vbr, gop=(string)30, aspectratio=(string)16:9, packetization-mode=(string)1, sprop-parameter-sets=(string)\"Z2QAKK0AzlAUAW7ARAAAOEAACvyDgAAAExLQAAAvrwiL34wAAAMAmJaAAAF9eERe/AgAAA\\=\\=\\,aP48sA\\=\\=\", a-framerate=(string)5.0, a-quality=(string)4, clock-base=(uint)75153600, seqnum-base=(uint)1, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstGhostPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)111, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)640028, reso=(string)1280:720, scanning=(string)0, tvsystem=(string)pal, cameramode=(string)hd, streamid=(string)0, bitratemode=(string)vbr, gop=(string)30, aspectratio=(string)16:9, packetization-mode=(string)1, sprop-parameter-sets=(string)\"Z2QAKK0AzlAUAW7ARAAAOEAACvyDgAAAExLQAAAvrwiL34wAAAMAmJaAAAF9eERe/AgAAA\\=\\=\\,aP48sA\\=\\=\", a-framerate=(string)5.0, a-quality=(string)4, clock-base=(uint)75153600, seqnum-base=(uint)1, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source.GstGhostPad:recv_rtp_src_0_312077768_111: caps = application/x-rtp, media=(string)video, payload=(int)111, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)640028, reso=(string)1280:720, scanning=(string)0, tvsystem=(string)pal, cameramode=(string)hd, streamid=(string)0, bitratemode=(string)vbr, gop=(string)30, aspectratio=(string)16:9, packetization-mode=(string)1, sprop-parameter-sets=(string)\"Z2QAKK0AzlAUAW7ARAAAOEAACvyDgAAAExLQAAAvrwiL34wAAAMAmJaAAAF9eERe/AgAAA\\=\\=\\,aP48sA\\=\\=\", a-framerate=(string)5.0, a-quality=(string)4, clock-base=(uint)75153600, seqnum-base=(uint)1, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source.GstGhostPad:recv_rtp_src_0_312077768_111.GstProxyPad:proxypad4: caps = application/x-rtp, media=(string)video, payload=(int)111, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)640028, reso=(string)1280:720, scanning=(string)0, tvsystem=(string)pal, cameramode=(string)hd, streamid=(string)0, bitratemode=(string)vbr, gop=(string)30, aspectratio=(string)16:9, packetization-mode=(string)1, sprop-parameter-sets=(string)\"Z2QAKK0AzlAUAW7ARAAAOEAACvyDgAAAExLQAAAvrwiL34wAAAMAmJaAAAF9eERe/AgAAA\\=\\=\\,aP48sA\\=\\=\", a-framerate=(string)5.0, a-quality=(string)4, clock-base=(uint)75153600, seqnum-base=(uint)1, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_312077768_111.GstProxyPad:proxypad3: caps = application/x-rtp, media=(string)video, payload=(int)111, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)640028, reso=(string)1280:720, scanning=(string)0, tvsystem=(string)pal, cameramode=(string)hd, streamid=(string)0, bitratemode=(string)vbr, gop=(string)30, aspectratio=(string)16:9, packetization-mode=(string)1, sprop-parameter-sets=(string)\"Z2QAKK0AzlAUAW7ARAAAOEAACvyDgAAAExLQAAAvrwiL34wAAAMAmJaAAAF9eERe/AgAAA\\=\\=\\,aP48sA\\=\\=\", a-framerate=(string)5.0, a-quality=(string)4, clock-base=(uint)75153600, seqnum-base=(uint)1, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20.GstGhostPad:sink.GstProxyPad:proxypad5: caps = application/x-rtp, media=(string)video, payload=(int)111, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)640028, reso=(string)1280:720, scanning=(string)0, tvsystem=(string)pal, cameramode=(string)hd, streamid=(string)0, bitratemode=(string)vbr, gop=(string)30, aspectratio=(string)16:9, packetization-mode=(string)1, sprop-parameter-sets=(string)\"Z2QAKK0AzlAUAW7ARAAAOEAACvyDgAAAExLQAAAvrwiL34wAAAMAmJaAAAF9eERe/AgAAA\\=\\=\\,aP48sA\\=\\=\", a-framerate=(string)5.0, a-quality=(string)4, clock-base=(uint)75153600, seqnum-base=(uint)1, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstRtpH264Depay:rtph264depay0.GstPad:src: caps = video/x-h264, stream-format=(string)byte-stream, alignment=(string)nal
/GstPlayBin2:playbin20/GstURIDecodeBin:uridecodebin0/GstDecodeBin2:decodebin20/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)111, clock-rate=(int)90000, encoding-name=(string)H264, profile-level-id=(string)640028, reso=(string)1280:720, scanning=(string)0, tvsystem=(string)pal, cameramode=(string)hd, streamid=(string)0, bitratemode=(string)vbr, gop=(string)30, aspectratio=(string)16:9, packetization-mode=(string)1, sprop-parameter-sets=(string)\"Z2QAKK0AzlAUAW7ARAAAOEAACvyDgAAAExLQAAAvrwiL34wAAAMAmJaAAAF9eERe/AgAAA\\=\\=\\,aP48sA\\=\\=\", a-framerate=(string)5.0, a-quality=(string)4, clock-base=(uint)75153600, seqnum-base=(uint)1, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1
/GstPlayBin2:playbin20/GstInputSelector:inputselector0.GstSelectorPad:sink0: always-ok = FALSE
/GstPlayBin2:playbin20/GstInputSelector:inputselector0: active-pad = (GstSelectorPad) sink0

here
Comment 13 Sebastian Dröge (slomo) 2013-08-21 18:34:45 UTC
Is it still a problem with GStreamer 1.0 or newer? There were many RTP/RTSP related changes
Comment 14 Levente Farkas 2013-08-21 20:18:09 UTC
we still use 0.10 until enterprise linux will support 1.0 (ie newer glib2).
Comment 15 Tim-Philipp Müller 2013-08-21 20:56:28 UTC
Let's close it then. If it's still a problem with 1.0, someone else will file a new bug.