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 741745 - rtsp: Add ONVIF metadata support
rtsp: Add ONVIF metadata support
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Windows
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-12-19 08:26 UTC by Sergio
Modified: 2018-11-03 11:33 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
playbin rtsp verbose (13.12 KB, text/plain)
2014-12-19 09:18 UTC, Sergio
Details

Description Sergio 2014-12-19 08:26:27 UTC
Some IP Cameras follow Onvif protocols (a standard for surveillance cameras). These usually have h.264 codecs. When trying to decode using playbin or uridecodebin there is an error showing:

Missing element: VND.ONVIF.METADATA RTP depayloader

Using the following pipeline works:

$ gst-launch-1.0.exe rtspsrc location=rtsp://user:pass@0.0.0.0/rtspStream ! rtph264depay ! h264parse ! avdec_h264 ! autovideosink

However, if the camera's resolution is modified, the pipeline fails to detect the correct resolution. Possibly the correct resolution information is found in the metadata. 

VLC does successfully decode the rtsp stream.
Comment 1 Sebastian Dröge (slomo) 2014-12-19 09:06:26 UTC
On the mailing list you said that there are also other errors. Which?


Also note that in GIT master there is now an element to handle ONVIF metadata streams too. But even without that you should only get a warning about that and the stream should work. Since 1.4. This was exactly the topic of bug #730868
Comment 2 Sergio 2014-12-19 09:18:25 UTC
Created attachment 293031 [details]
playbin rtsp verbose
Comment 3 Sergio 2014-12-19 09:20:07 UTC
Should I continue on #730868 ?

I'm using latests 1.4.4 Windows binaries. It seems I am getting warnings but still pipeline fails immediately. In one ocasion I've been able to see a rendered frame but then it crashed.
Comment 4 Sebastian Dröge (slomo) 2014-12-19 09:21:35 UTC
Ok, but that's only a warning message :) What's the problem you're facing? The stream should play fine if you don't stop it as a result of the warning message.
Comment 5 Sebastian Dröge (slomo) 2014-12-19 09:22:02 UTC
That sounds like the problem is somewhere else. Can you get a debug log with GST_DEBUG=6 and attach it here?
Comment 6 Sergio 2014-12-19 09:30:01 UTC
Hi, I'm trying to output the debug messages to a file using MinGW Bash but don't seem to be able to... Is there a flag to make debug messages dump to a file?
Comment 7 Sergio 2014-12-19 09:31:54 UTC
Nevermind, gst-lauch ... 2> dump.txt did the trick. Attaching it now
Comment 8 Sergio 2014-12-19 09:39:20 UTC
Hi, here's the dump file :

https://drive.google.com/file/d/0B3loFiQDg2ckT3h6RkZURUk1Ums/view?usp=sharing
Comment 9 Stefan Sauer (gstreamer, gtkdoc dev) 2015-01-09 22:04:43 UTC
0:00:04.266759981 10452   07E50DA8 WARN            uridecodebin gsturidecodebin.c:930:unknown_type_cb:<uridecodebin0> warning: No decoder available for type 'application/x-rtp, media=(string)application, payload=(int)98, clock-rate=(int)90000, encoding-name=(string)VND.ONVIF.METADATA, clock-base=(uint)1692914565, seqnum-base=(uint)10790, npt-start=(guint64)368348000000, play-speed=(double)1, play-scale=(double)1'.
0:00:04.272850842 10452   07E50DA8 WARN               decodebin gstdecodebin2.c:3926:gst_decode_bin_expose:<decodebin1> No suitable plugins found
0:00:04.273211259 10452   07E50DA8 WARN               decodebin gstdecodebin2.c:3928:gst_decode_bin_expose:<decodebin1> error: no suitable plugins found
0:00:04.280082721 10452   07E50DA8 WARN               decodebin gstdecodebin2.c:1811:analyze_new_pad:<decodebin1> error: A VND.ONVIF.METADATA RTP depayloader plugin is required to play this stream, but not installed.
0:00:04.280707262 10452   07E50DA8 WARN               decodebin gstdecodebin2.c:1811:analyze_new_pad:<decodebin1> error: No decoder to handle media type 'application/x-rtp'

Sergio, it looks like you don't have all plugins installed.
grep REGIST ~/Downloads/playbin_level_6.txt | grep Plugin | grep oniv
does not find the new
rtponvif:  rtponvifparse: ONVIF NTP timestamps RTP extension
rtponvif:  rtponviftimestamp: ONVIF NTP timestamps RTP extension
Comment 10 Tim-Philipp Müller 2015-01-09 22:14:01 UTC
Stefan, those elements only landed recently in git master, they don't exist in 1.4 yet. Also, the problem is really that those unknown streams should just be ignored.
Comment 11 Olivier Crête 2015-01-25 22:04:27 UTC
The rtponvifparse is for the RTP header extension, not for the VND.ONVIF.METADATA payload format. So these payloader and depayloader would need to be written if you need the full ONVIF metadata.
Comment 12 Sergio 2015-01-27 11:44:28 UTC
Thanks for replying Olivier, I am not entirely sure I need the full ONVIF metadata to get the rtsp stream resolution. Shouldn't that be available directly from the rtsp source?
Comment 13 Edward Hervey 2018-01-15 10:05:20 UTC
The format is a simple xml-based one. Changing title accordingly.
Comment 14 GStreamer system administrator 2018-11-03 11:33:53 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/151.