Use RTP payload type in order to decode the RTP stream

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Use RTP payload type in order to decode the RTP stream

Paixao Julien
Hi,

I was wondering if there are any ways in GStreamer to decode an RTP stream using only the media information inside the payload type of the RTP header?
Of course only in the case the payload type is standardized (PT < 96, see http://www.iana.org/assignments/rtp-parameters/rtp-parameters.xhtml)

Today I am using RTP in combination with SDP, which works, but I think it would be nice to have a pipeline capable of decoding rtp stream with known payload type without SDP needs:
e.g udpsrc multicast-group=<ip> port=<port> caps="application/x-rtp,media=audio" ! decodebin ! autoaudiosink

decodebin would parse the rtp header payload type of the incoming stream and select the appropriate decoder.

Best regards,
Julien.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Use RTP payload type in order to decode the RTP stream

Nicolas Dufresne-4
Le mardi 03 mai 2016 à 13:55 +0000, Paixao Julien a écrit :
> Today I am using RTP in combination with SDP, which works, but I
> think it would be nice to have a pipeline capable of decoding rtp
> stream with known payload type without SDP needs:
> e.g udpsrc multicast-group=<ip> port=<port> caps="application/x-
> rtp,media=audio" ! decodebin ! autoaudiosink

Best would be to give it a try. What you'd need to implement is an RTP
typefinder feature. That typefinder would do basic sanity check to make
sure the GstBuffer is a rtp packet (rtp is not parsable, so the size of
the GstBuffer must be exactly the RTP packet size). And then for
payload type that are not dynamically allocated, it would create caps.
It's a case by case thing though, as for certain types you may not able
to provide all the required caps field. All the modern CODEC are
exposed using dynamically allocated payload type, so it might not be
widely useful.

regards,
Nicolas
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

RE: Use RTP payload type in order to decode the RTP stream

Paixao Julien
Hi,

> -----Original Message-----
> From: gstreamer-devel [mailto:[hidden email]] On Behalf Of Nicolas Dufresne
> Sent: Tuesday, May 03, 2016 6:11 PM
> To: Discussion of the development of and with GStreamer <[hidden email]>
> Subject: Re: Use RTP payload type in order to decode the RTP stream
>
> Le mardi 03 mai 2016 à 13:55 +0000, Paixao Julien a écrit :
> > Today I am using RTP in combination with SDP, which works, but I think
> > it would be nice to have a pipeline capable of decoding rtp stream
> > with known payload type without SDP needs:
> > e.g udpsrc multicast-group=<ip> port=<port> caps="application/x-
> > rtp,media=audio" ! decodebin ! autoaudiosink
>
> Best would be to give it a try. What you'd need to implement is an RTP typefinder feature. That typefinder would do basic sanity check
> to make sure the GstBuffer is a rtp packet (rtp is not parsable, so the size of the GstBuffer must be exactly the RTP packet size). And
> then for payload type that are not dynamically allocated, it would create caps.
> It's a case by case thing though, as for certain types you may not able to provide all the required caps field. All the modern CODEC are
> exposed using dynamically allocated payload type, so it might not be widely useful.
>

I am going to file feature request for it.

Best regards,
Julien.
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel