Hi,
On the network I have a server which will start RTP streaming with G711 or G722 data (dynamically chosen). On client side I would like to be able to playback the RTP stream whether it is G711 or G722 data. In order to achieve that, I needed to make available in some ways the media stream information. I decided to use SDP, an SDP file will be available on the server which will contain the information about the media stream. This file will be dynamically changed depending on the codec the server will use. On client side I tried the element uridecodebin with the uri property pointing to the SDP file on the server: - uridecodebin uri=http://<server-ip>:<server-port>/media.sdp ! fakesink But this is not working, it gives an error that the type of the stream could not be determined: ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0: Could not determine type of stream. Additional debug info: gsttypefindelement.c(911): gst_type_find_element_chain_do_typefinding (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0 On client side, I also tried the sdpdemux element, but the problem with that element is that it "only" provides the RTP raw data, but no information about the media stream properties (G711 or G722). So I cannot know which rtp depayloader to attach to the rtp raw data... Would you know a way of achieving the needed playback of such an RTP stream containing G711 or G722? Best regards, Julien. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Mo, 2016-05-02 at 14:23 +0000, Paixao Julien wrote:
> Hi, > > On the network I have a server which will start RTP streaming with G711 or G722 data (dynamically chosen). > On client side I would like to be able to playback the RTP stream whether it is G711 or G722 data. > > In order to achieve that, I needed to make available in some ways the media stream information. > I decided to use SDP, an SDP file will be available on the server which will contain the information about the media stream. > This file will be dynamically changed depending on the codec the server will use. > > On client side I tried the element uridecodebin with the uri property pointing to the SDP file on the server: > - uridecodebin uri=http://<server-ip>:<server-port>/media.sdp ! fakesink > > But this is not working, it gives an error that the type of the stream could not be determined: > ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0: Could not determine type of stream. > Additional debug info: > gsttypefindelement.c(911): gst_type_find_element_chain_do_typefinding (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0 by GStreamer for whatever reason. Independent of that you will run into this bug with sdpdemux: https://bugzilla.gnome.org/show_bug.cgi?id=702495 To work around that there is sdpsrc now, and you can build a static pipeline with sdpdemux. > On client side, I also tried the sdpdemux element, but the problem with that element is that it "only" provides the RTP raw data, but no information about the media stream properties (G711 or G722). > So I cannot know which rtp depayloader to attach to the rtp raw data... > > Would you know a way of achieving the needed playback of such an RTP stream containing G711 or G722? The application/x-rtp caps on the streams that come out of sdpdemux have all the relevant information from the SDP, including the encoding name. -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
Hi Sebastian,
> -----Original Message----- > From: gstreamer-devel [mailto:[hidden email]] On Behalf Of Sebastian Dröge > Sent: Monday, May 02, 2016 4:53 PM > To: Discussion of the development of and with GStreamer <[hidden email]> > Subject: Re: Use sdp in order to playback rtp stream > > On Mo, 2016-05-02 at 14:23 +0000, Paixao Julien wrote: > > Hi, > > > > On the network I have a server which will start RTP streaming with G711 or G722 data (dynamically chosen). > > On client side I would like to be able to playback the RTP stream whether it is G711 or G722 data. > > > > In order to achieve that, I needed to make available in some ways the media stream information. > > I decided to use SDP, an SDP file will be available on the server which will contain the information about the media stream. > > This file will be dynamically changed depending on the codec the server will use. > > > > On client side I tried the element uridecodebin with the uri property pointing to the SDP file on the server: > > - uridecodebin uri=http://<server-ip>:<server-port>/media.sdp ! > > fakesink > > > > But this is not working, it gives an error that the type of the stream could not be determined: > > ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstTypeFindElement:typefindelement0: Could not > determine type of stream. > > Additional debug info: > > gsttypefindelement.c(911): gst_type_find_element_chain_do_typefinding > > (): > > /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstTypeFindElemen > > t:typefindelement0 > > Can you show an example SDP? This means that it's not detected as SDP by GStreamer for whatever reason. > v=0 o=user 53655765 2353687637 IN IP4 10.20.1.250 s=- c=IN IP4 10.20.1.39 t=0 0 m=audio 3001 RTP/AVP 0 a=rtpmap:0 PCMU/8000 > Independent of that you will run into this bug with sdpdemux: > https://bugzilla.gnome.org/show_bug.cgi?id=702495 > > To work around that there is sdpsrc now, and you can build a static pipeline with sdpdemux. > Thanks for the info. > > On client side, I also tried the sdpdemux element, but the problem with that element is that it "only" provides the RTP raw data, but > no information about the media stream properties (G711 or G722). > > So I cannot know which rtp depayloader to attach to the rtp raw data... > > > > Would you know a way of achieving the needed playback of such an RTP stream containing G711 or G722? > > The application/x-rtp caps on the streams that come out of sdpdemux have all the relevant information from the SDP, including the > encoding name. > Indeed, it should do the job, I will attach the correct rtp depayloader and decoder depending on the caps in the application/x-rtp of the stream. FYI I am now trying to get it working with a multicast IP in the SDP. For the moment I get an error, I will dig into it (no bug report found). ERROR: from element /GstPipeline:pipeline0/GstSDPDemux:sdpdemux0/GstUDPSrc:udpsrc0: Could not get/set settings from/on resource. Additional debug info: gstudpsrc.c(916): gst_udpsrc_start (): /GstPipeline:pipeline0/GstSDPDemux:sdpdemux0/GstUDPSrc:udpsrc0: could add membership: Error joining multicast group: No such device Best regards, Julien. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
On Di, 2016-05-03 at 07:18 +0000, Paixao Julien wrote:
> > > Can you show an example SDP? This means that it's not detected as > > SDP by GStreamer for whatever reason. > > > v=0 > o=user 53655765 2353687637 IN IP4 10.20.1.250 > s=- > c=IN IP4 10.20.1.39 > t=0 0 > m=audio 3001 RTP/AVP 0 > a=rtpmap:0 PCMU/8000 valid SDP. > > > On client side, I also tried the sdpdemux element, but the > > > problem with that element is that it "only" provides the RTP raw > > > data, but > > no information about the media stream properties (G711 or G722). > > > > > > So I cannot know which rtp depayloader to attach to the rtp raw > > > data... > > > > > > Would you know a way of achieving the needed playback of such an > > > RTP stream containing G711 or G722? > > The application/x-rtp caps on the streams that come out of sdpdemux > > have all the relevant information from the SDP, including the > > encoding name. > > > Indeed, it should do the job, I will attach the correct rtp > depayloader and decoder depending on the caps in the application/x- > rtp of the stream. depayloader for you based on the caps. > FYI I am now trying to get it working with a multicast IP in the SDP. For the moment I get an error, I will dig into it (no bug report found). > ERROR: from element /GstPipeline:pipeline0/GstSDPDemux:sdpdemux0/GstUDPSrc:udpsrc0: Could not get/set settings from/on resource. > Additional debug info: > gstudpsrc.c(916): gst_udpsrc_start (): /GstPipeline:pipeline0/GstSDPDemux:sdpdemux0/GstUDPSrc:udpsrc0: > could add membership: Error joining multicast group: No such device Can you file a bug about this with the SDP and a debug log with GST_DEBUG=udpsrc:6? Do you have multiple network devices and a specific one has to be used for this multicast group? -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
> -----Original Message----- > From: gstreamer-devel [mailto:[hidden email]] On Behalf Of Sebastian Dröge > Sent: Tuesday, May 03, 2016 9:25 AM > To: Discussion of the development of and with GStreamer <[hidden email]> > Subject: Re: Use sdp in order to playback rtp stream > > On Di, 2016-05-03 at 07:18 +0000, Paixao Julien wrote: > > > > > Can you show an example SDP? This means that it's not detected as > > > SDP by GStreamer for whatever reason. > > > > > v=0 > > o=user 53655765 2353687637 IN IP4 10.20.1.250 > > s=- > > c=IN IP4 10.20.1.39 > > t=0 0 > > m=audio 3001 RTP/AVP 0 > > a=rtpmap:0 PCMU/8000 > > Which version of GStreamer are you using? 1.8.1 is detecting this as valid SDP. > I caught it, something "stupid" the typefindfunctions plugin was not installed... Now it's correctly detected. > > > > On client side, I also tried the sdpdemux element, but the problem > > > > with that element is that it "only" provides the RTP raw data, but > > > no information about the media stream properties (G711 or G722). > > > > > > > > So I cannot know which rtp depayloader to attach to the rtp raw > > > > data... > > > > > > > > Would you know a way of achieving the needed playback of such an > > > > RTP stream containing G711 or G722? > > > The application/x-rtp caps on the streams that come out of sdpdemux > > > have all the relevant information from the SDP, including the > > > encoding name. > > > > > Indeed, it should do the job, I will attach the correct rtp > > depayloader and decoder depending on the caps in the application/x- > > rtp of the stream. > > You can also use decodebin for example, it will automatically pick a depayloader for you based on the caps. > Indeed, it's much better, it works nicely. > > FYI I am now trying to get it working with a multicast IP in the SDP. For the moment I get an error, I will dig into it (no bug report > found). > > ERROR: from element /GstPipeline:pipeline0/GstSDPDemux:sdpdemux0/GstUDPSrc:udpsrc0: Could not get/set settings from/on > resource. > > Additional debug info: > > gstudpsrc.c(916): gst_udpsrc_start (): /GstPipeline:pipeline0/GstSDPDemux:sdpdemux0/GstUDPSrc:udpsrc0: > > could add membership: Error joining multicast group: No such device > > Can you file a bug about this with the SDP and a debug log with GST_DEBUG=udpsrc:6? Do you have multiple network devices and a > specific one has to be used for this multicast group? > I have only one network device and only one interface (which is on a linux machine eth0). I just created a bug report, please find it on the following link https://bugzilla.gnome.org/show_bug.cgi?id=765925 BTW do you know of a good decoder for G722? I searched and found one in ffmpeg, would it not be nicer to have elements similar to G711 and G722? e.g g722depayloader & g722decoder Best regards, Julien. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |