GNOME Bugzilla – Bug 730868
uridecodebin: Does not handle RTSP streams where one of the payload formats is not supported properly
Last modified: 2014-06-04 15:05:24 UTC
Verified on 0.10 and 1.0 I have the followjng problem when connecting to the rtsp server of professional IP cameras: gst-launch -v playbin uri=rtsp://192.168.0.10:554/CH001.sdp /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin2/GstTypeFindElement:typefind.GstPad:src: caps = application/x-rtp, media=(string)application, payload=(int)107, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)2389153790, seqnum-base=(uint)26906, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 Missing element: VND.ONVIF.METADATA RTP depayloader This seems to conform to the onvif standard. When instead using a custom pipeline like this, the stream can be received and played back correctly: gst-launch rtspsrc location=rtsp://192.168.0.10:554/CH001.sdp ! rtph264depay ! ffdec_h264 ! xvimagesink
Please attach a debug log like this (with 1.x, we do not support 0.10 any longer): $ GST_DEBUG=*:6 gst-launch-1.0 playbin uri=rtsp://192.168.0.10:554/CH001.sdp 2>dbg.log $ xz -9 dbg.log Perhaps also mention the specific manufacturer/model of the camera.
Created attachment 277369 [details] Gstreamer pipeline (first part)
Here is a brief verbose log in addition to the pipeline description: $ GST_DEBUG_DUMP_DOT_DIR=. gst-launch-1.0 -v playbin uri=rtsp://172.17.4.215:554/h264 Setting pipeline to PAUSED ... /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: ring-buffer-max-size = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-size = -1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: buffer-duration = -1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: use-buffering = false /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: download = false /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: uri = rtsp://172.17.4.215:554/h264 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: connection-speed = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: source = "\(GstRTSPSrc\)\ source" Pipeline is live and does not need PREROLL ... Progress: (open) Opening Stream Progress: (connect) Connecting to rtsp://172.17.4.215:554/h264 Progress: (open) Retrieving server options Progress: (open) Retrieving media info Progress: (request) SETUP stream 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:manager: latency = 2000 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:manager: ntp-sync = false /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:manager: use-pipeline-clock = false /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:manager: drop-on-latency = false /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:manager: buffer-mode = Slave receiver to sender clock /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc1: timeout = 5000000000 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc2.GstPad:src: caps = application/x-rtcp /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc2: caps = application/x-rtcp Progress: (request) SETUP stream 1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc4: timeout = 5000000000 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc5.GstPad:src: caps = application/x-rtcp /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc5: caps = application/x-rtcp Progress: (request) SETUP stream 2 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc7: timeout = 5000000000 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc8.GstPad:src: caps = application/x-rtcp /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc8: caps = application/x-rtcp Progress: (open) Opened Stream Setting pipeline to PLAYING ... New clock: GstSystemClock Progress: (request) Sending PLAY request Progress: (request) Sending PLAY request Progress: (request) Sent PLAY request /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc1: timeout = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc4: timeout = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstUDPSrc:udpsrc7: timeout = 0 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:manager.GstGhostPad:recv_rtp_src_0_2437734913_99: caps = application/x-rtp, media=(string)video, payload=(int)99, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4D0029, sprop-parameter-sets=(string)"Z00AKZpmA8ARPl4C1AQEBQAAAwPoAADDUOhlBQu8uNDKChd5cKAA\,aO48gA\=\=", a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, a-cliprect=(string)"0\,0\,1080\,1920", a-framerate=(string)25.000000, x-bufferdelay=(string)0, clock-base=(uint)1875378337, seqnum-base=(uint)42872, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source.GstGhostPad:recv_rtp_src_0_2437734913_99: caps = application/x-rtp, media=(string)video, payload=(int)99, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4D0029, sprop-parameter-sets=(string)"Z00AKZpmA8ARPl4C1AQEBQAAAwPoAADDUOhlBQu8uNDKChd5cKAA\,aO48gA\=\=", a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, a-cliprect=(string)"0\,0\,1080\,1920", a-framerate=(string)25.000000, x-bufferdelay=(string)0, clock-base=(uint)1875378337, seqnum-base=(uint)42872, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0.GstGhostPad:sink.GstProxyPad:proxypad11: caps = application/x-rtp, media=(string)video, payload=(int)99, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4D0029, sprop-parameter-sets=(string)"Z00AKZpmA8ARPl4C1AQEBQAAAwPoAADDUOhlBQu8uNDKChd5cKAA\,aO48gA\=\=", a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, a-cliprect=(string)"0\,0\,1080\,1920", a-framerate=(string)25.000000, x-bufferdelay=(string)0, clock-base=(uint)1875378337, seqnum-base=(uint)42872, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = application/x-rtp, media=(string)video, payload=(int)99, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4D0029, sprop-parameter-sets=(string)"Z00AKZpmA8ARPl4C1AQEBQAAAwPoAADDUOhlBQu8uNDKChd5cKAA\,aO48gA\=\=", a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, a-cliprect=(string)"0\,0\,1080\,1920", a-framerate=(string)25.000000, x-bufferdelay=(string)0, clock-base=(uint)1875378337, seqnum-base=(uint)42872, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)99, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4D0029, sprop-parameter-sets=(string)"Z00AKZpmA8ARPl4C1AQEBQAAAwPoAADDUOhlBQu8uNDKChd5cKAA\,aO48gA\=\=", a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, a-cliprect=(string)"0\,0\,1080\,1920", a-framerate=(string)25.000000, x-bufferdelay=(string)0, clock-base=(uint)1875378337, seqnum-base=(uint)42872, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0.GstGhostPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)99, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4D0029, sprop-parameter-sets=(string)"Z00AKZpmA8ARPl4C1AQEBQAAAwPoAADDUOhlBQu8uNDKChd5cKAA\,aO48gA\=\=", a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, a-cliprect=(string)"0\,0\,1080\,1920", a-framerate=(string)25.000000, x-bufferdelay=(string)0, clock-base=(uint)1875378337, seqnum-base=(uint)42872, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source.GstGhostPad:recv_rtp_src_0_2437734913_99.GstProxyPad:proxypad10: caps = application/x-rtp, media=(string)video, payload=(int)99, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4D0029, sprop-parameter-sets=(string)"Z00AKZpmA8ARPl4C1AQEBQAAAwPoAADDUOhlBQu8uNDKChd5cKAA\,aO48gA\=\=", a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, a-cliprect=(string)"0\,0\,1080\,1920", a-framerate=(string)25.000000, x-bufferdelay=(string)0, clock-base=(uint)1875378337, seqnum-base=(uint)42872, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:manager.GstGhostPad:recv_rtp_src_0_2437734913_99.GstProxyPad:proxypad9: caps = application/x-rtp, media=(string)video, payload=(int)99, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4D0029, sprop-parameter-sets=(string)"Z00AKZpmA8ARPl4C1AQEBQAAAwPoAADDUOhlBQu8uNDKChd5cKAA\,aO48gA\=\=", a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, a-cliprect=(string)"0\,0\,1080\,1920", a-framerate=(string)25.000000, x-bufferdelay=(string)0, clock-base=(uint)1875378337, seqnum-base=(uint)42872, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:manager.GstGhostPad:recv_rtp_src_1_1469513639_0: caps = application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, encoding-name=(string)PCMU, encoding-params=(string)1, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)394040645, seqnum-base=(uint)65180, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source.GstGhostPad:recv_rtp_src_1_1469513639_0: caps = application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, encoding-name=(string)PCMU, encoding-params=(string)1, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)394040645, seqnum-base=(uint)65180, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin1.GstGhostPad:sink.GstProxyPad:proxypad15: caps = application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, encoding-name=(string)PCMU, encoding-params=(string)1, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)394040645, seqnum-base=(uint)65180, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin1/GstTypeFindElement:typefind.GstPad:src: caps = application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, encoding-name=(string)PCMU, encoding-params=(string)1, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)394040645, seqnum-base=(uint)65180, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin1/GstTypeFindElement:typefind.GstPad:sink: caps = application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, encoding-name=(string)PCMU, encoding-params=(string)1, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)394040645, seqnum-base=(uint)65180, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin1.GstGhostPad:sink: caps = application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, encoding-name=(string)PCMU, encoding-params=(string)1, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)394040645, seqnum-base=(uint)65180, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source.GstGhostPad:recv_rtp_src_1_1469513639_0.GstProxyPad:proxypad14: caps = application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, encoding-name=(string)PCMU, encoding-params=(string)1, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)394040645, seqnum-base=(uint)65180, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:manager.GstGhostPad:recv_rtp_src_1_1469513639_0.GstProxyPad:proxypad13: caps = application/x-rtp, media=(string)audio, payload=(int)0, clock-rate=(int)8000, encoding-name=(string)PCMU, encoding-params=(string)1, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)394040645, seqnum-base=(uint)65180, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstRtpH264Depay:rtph264depay0.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)014d0029ffe10027674d00299a6603c0113e5e02d404040500000303e80000c350e865050bbcb8d0ca0a177970a00001000468ee3c80 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/avdec_h264:avdec_h264-0.GstPad:sink: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, codec_data=(buffer)014d0029ffe10027674d00299a6603c0113e5e02d404040500000303e80000c350e865050bbcb8d0ca0a177970a00001000468ee3c80 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstRtpH264Depay:rtph264depay0.GstPad:sink: caps = application/x-rtp, media=(string)video, payload=(int)99, clock-rate=(int)90000, encoding-name=(string)H264, packetization-mode=(string)1, profile-level-id=(string)4D0029, sprop-parameter-sets=(string)"Z00AKZpmA8ARPl4C1AQEBQAAAwPoAADDUOhlBQu8uNDKChd5cKAA\,aO48gA\=\=", a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, a-cliprect=(string)"0\,0\,1080\,1920", a-framerate=(string)25.000000, x-bufferdelay=(string)0, clock-base=(uint)1875378337, seqnum-base=(uint)42872, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/avdec_h264:avdec_h264-0.GstPad:src: caps = video/x-raw, format=(string)I420, width=(int)1920, height=(int)1088, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, colorimetry=(string)bt709, framerate=(fraction)25/1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin1/GstRtpPcmuDepay:rtppcmudepay0.GstPad:src: caps = audio/x-mulaw, channels=(int)1, rate=(int)8000 /GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: always-ok = false /GstPlayBin:playbin0/GstInputSelector:inputselector1.GstSelectorPad:sink_0: always-ok = false /GstPlayBin:playbin0/GstInputSelector:inputselector0.GstSelectorPad:sink_0: active = true /GstPlayBin:playbin0/GstInputSelector:inputselector0: active-pad = "\(GstSelectorPad\)\ sink_0" /GstPlayBin:playbin0/GstInputSelector:inputselector1.GstSelectorPad:sink_0: active = true /GstPlayBin:playbin0/GstInputSelector:inputselector1: active-pad = "\(GstSelectorPad\)\ sink_0" /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:manager.GstGhostPad:recv_rtp_src_2_1282047235_107: caps = application/x-rtp, media=(string)application, payload=(int)107, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)1425612281, seqnum-base=(uint)7900, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source.GstGhostPad:recv_rtp_src_2_1282047235_107: caps = application/x-rtp, media=(string)application, payload=(int)107, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)1425612281, seqnum-base=(uint)7900, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin2.GstGhostPad:sink.GstProxyPad:proxypad21: caps = application/x-rtp, media=(string)application, payload=(int)107, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)1425612281, seqnum-base=(uint)7900, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin2/GstTypeFindElement:typefind.GstPad:src: caps = application/x-rtp, media=(string)application, payload=(int)107, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)1425612281, seqnum-base=(uint)7900, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 Missing element: VND.ONVIF.METADATA RTP depayloader /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin2/GstTypeFindElement:typefind.GstPad:sink: caps = application/x-rtp, media=(string)application, payload=(int)107, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)1425612281, seqnum-base=(uint)7900, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin2.GstGhostPad:sink: caps = application/x-rtp, media=(string)application, payload=(int)107, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)1425612281, seqnum-base=(uint)7900, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source.GstGhostPad:recv_rtp_src_2_1282047235_107.GstProxyPad:proxypad20: caps = application/x-rtp, media=(string)application, payload=(int)107, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)1425612281, seqnum-base=(uint)7900, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstRTSPSrc:source/GstRtpBin:manager.GstGhostPad:recv_rtp_src_2_1282047235_107.GstProxyPad:proxypad19: caps = application/x-rtp, media=(string)application, payload=(int)107, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)1425612281, seqnum-base=(uint)7900, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1 WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No decoder available for type 'application/x-rtp, media=(string)application, payload=(int)107, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, a-tool=(string)"LIVE555\ Streaming\ Media\ v2010.04.09", a-type=(string)broadcast, x-qt-text-nam=(string)"Session\ streamed\ by\ \"nessyMediaServer\"", x-qt-text-inf=(string)h264, clock-base=(uint)1425612281, seqnum-base=(uint)7900, npt-start=(guint64)0, play-speed=(double)1, play-scale=(double)1'. Additional debug info: gsturidecodebin.c(930): unknown_type_cb (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0 ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin2: Your GStreamer installation is missing a plug-in. Additional debug info: gstdecodebin2.c(3928): gst_decode_bin_expose (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin2: no suitable plugins found Execution ended after 0:00:00.281883944 Setting pipeline to PAUSED ... Setting pipeline to READY ... Setting pipeline to NULL ... Freeing pipeline ...
It thus seems that all streams are found (and especially the video and audio stream). But playbin breaks as it cannot identify the metadata stream. It would probably suffice to have playbin not error out, if one stream cannot be identified but just start playing the remaining streams?
Yes, it should not be erroring out in that case.
It happens with all camera I have here (Axis, ENEO, Geovision). Probably as all adhere to the ONVIF standard. Is there a simple patch to make playbin not error out in such a case? This would be perfectly ok for me. (If possible, also for 0.10. I know, 0.10 is no longer supported, but Qt5 only works with 0.10 and the HW codecs for imx6 are not yet ported to 1.0 either.)
Created attachment 277370 [details] Detailed error log on gstreamer-1.0
Tim, Do you need any further info? I am happy to get everything you need, as this is an important issue for me. Thanks a lot Michael
Created attachment 277374 [details] Gstreamer error log without color codes
Would it maybe help if I sponsor a bug fix development? As I said I need this as I cannot use these cameras in Qt5 now due to playbin erroring out on this metadata stream. Who would I need to contact? http://www.centricular.com ? Thanks Michael
Michael, thanks for the bug report. Someone will look at it as soon as they can, but we can't say when of course. If this is super-urgent for you, getting in touch with one of the consultancies that offer support around GStreamer, such as the one you mentioned, would be an option of course.
Hi Tim My timeframe would be about 2-3 weeks, if possible. If you think, that this is improbable to be fixed by then, I will gladly contact you by phone next week. Regards Michael
commit 0f43e801f208551b5c0ad0cca41b47761ac6b115 Author: Sebastian Dröge <sebastian@centricular.com> Date: Wed Jun 4 17:00:34 2014 +0200 uridecodebin: Ignore missing-plugin messages unless all decodebins post one When playing RTSP streams there will be one decodebin per stream. If some of them fail because of a missing plugin we should not fail completely but play the supported streams at least. https://bugzilla.gnome.org/show_bug.cgi?id=730868 commit 393f090197508d0d1ab02da1c073db19be77621f Author: Sebastian Dröge <sebastian@centricular.com> Date: Wed Jun 4 14:14:14 2014 +0200 decodebin: Do async-done on expose errors too