[gst-devel] saving rtsp stream tracks

gather bzbz gbzbz at yahoo.com
Tue Dec 22 10:24:05 CET 2009


Wim, 

Thanks so much. I am very new to gstreamer framework. Writing an app sounds "scary" to me.... :(. Any sample out there on rtspsrc video+audio. I will try to give it a shot.....

Meanwhile, is there any way to overwrite or manually correct the audio part in the pipeline script, in case the gst-launch does not do it correctly? 

--- On Tue, 12/22/09, Wim Taymans <wim.taymans at gmail.com> wrote:

> From: Wim Taymans <wim.taymans at gmail.com>
> Subject: Re: [gst-devel] saving rtsp stream tracks
> To: "Discussion of the development of GStreamer" <gstreamer-devel at lists.sourceforge.net>
> Date: Tuesday, December 22, 2009, 12:24 AM
> On Mon, 2009-12-21 at 22:54 -0800,
> gather bzbz wrote:
> > Hi, Aurelien,
> > 
> > Thanks for the hint. Really appreciate it. 
> > 
> > I ran the said pipeline, it failed with the following
> errors
> > 
> >
> *****************************************************************
> > 
> > /GstPipeline:pipeline0/GstCapsFilter:capsfilter2: caps
> = application/x-rtp, media=(string)audio
> > /GstPipeline:pipeline0/GstCapsFilter:capsfilter3: caps
> = application/x-rtp, media=(string)video
> >
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src:
> caps = application/x-rtp, media=(string)video,
> payload=(int)97, clock-rate=(int)90000,
> encoding-name=(string)H264, packetization-mode=(string)1,
> profile-level-id=(string)41
> >
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink:
> caps = application/x-rtp, media=(string)video,
> payload=(int)97, clock-rate=(int)90000,
> encoding-name=(string)H264, packetization-mode=(string)1,
> profile-level-id=(string)1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97:
> caps = application/x-rtp, media=(string)video,
> payload=(int)97, clock-rate=(int)90000,
> encoding-name=(string)H264, packetization-mode=(string)1,
> profile-l1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad7:
> caps = application/x-rtp, media=(string)video,
> payload=(int)97, clock-rate=(int)90000,
> encoding-name=(string)H264, packetization-mod1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_3488930930_97:
> caps = application/x-rtp, media=(string)video,
> payload=(int)97, clock-rate=(int)90000,
> encoding-name=(string)H264, packetization-mode=(string)1,
> profile-l1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97:
> caps = application/x-rtp, media=(string)video,
> payload=(int)97, clock-rate=(int)90000,
> encoding-name=(string)H264, packetization-mode=(s1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_3488930930_97.GstProxyPad:proxypad6:
> caps = application/x-rtp, media=(string)video,
> payload=(int)97, clock-rate=(int)90000,
> encoding-name=(string)H264,1
> >
> /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink:
> caps = application/x-rtp, media=(string)video,
> payload=(int)97, clock-rate=(int)90000,
> encoding-name=(string)H264, packetization-mode=(string)1,
> profile-level-id=(string)42801
> > New clock: GstSystemClock
> > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps
> = application/x-rtp, media=(string)audio
> >
> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14:
> caps = application/x-rtp, media=(string)video,
> payload=(int)14, clock-rate=(int)90000,
> encoding-name=(string)H264, packetization-mode=(string)1,
> profile-le1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad9:
> caps = application/x-rtp, media=(string)video,
> payload=(int)14, clock-rate=(int)90000,
> encoding-name=(string)H264, packetization-mode1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:S.GstGhostPad:recv_rtp_src_1_520794757_14:
> caps = application/x-rtp, media=(string)video,
> payload=(int)14, clock-rate=(int)90000,
> encoding-name=(string)H264, packetization-mode=(string)1,
> profile-le1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14:
> caps = application/x-rtp, media=(string)video,
> payload=(int)14, clock-rate=(int)90000,
> encoding-name=(string)H264, packetization-mode=(st1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:S/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_520794757_14.GstProxyPad:proxypad8:
> caps = application/x-rtp, media=(string)video,
> payload=(int)14, clock-rate=(int)90000,
> encoding-name=(string)H264, 1
> > 0:00:02.744148481  1885    0xba050
> WARN           
>    basesrc
> gstbasesrc.c:2334:gst_base_src_loop:<udpsrc4> error:
> Internal data flow error.
> > 0:00:03.073260000  1885    0xba050
> WARN           
>    basesrc
> gstbasesrc.c:2334:gst_base_src_loop:<udpsrc4> error:
> streaming task paused, reason not-linked (-1)
> > 
> >
> *****************************************************************
> > 
> > The strange thing is that, after rtspsrc, the track
> with payload 14 (according to the rtsp SDP media session) is
> supposed to have "media=audio", but somehow the rtsp pipe
> thinks it is "media=video payload=14 encoding-name=H.264).
> Thus, I think the whole capfilter things are messed up. I am
> totally lost here. Any pads here for rtspsrc? Please help!.
> 
> gst-launch is not smart enough to link this pipeline
> because it
> negotiates a format after creating the pad. You'll have to
> write an
> application.
> 
> Wim
> 
> > 
> > --- On Mon, 12/21/09, Aurelien Grimaud <gstelzz at yahoo.fr>
> wrote:
> > 
> > > From: Aurelien Grimaud <gstelzz at yahoo.fr>
> > > Subject: Re: [gst-devel] saving rtsp stream
> tracks
> > > To: "Discussion of the development of GStreamer"
> <gstreamer-devel at lists.sourceforge.net>
> > > Date: Monday, December 21, 2009, 12:53 PM
> > > Hi,
> > > 
> > > Le 21/12/2009 08:02, gather bzbz a écrit :
> > > > Hi, I try to use gstreamer to receive rtsp
> stream to
> > > files. The stream contains a track1 for audio and
> track2 for
> > > video. VLC works very well with the stream. When
> I use the
> > > following command pipeline
> > > > " gst-launch rtspsrc
> location=rtsp://<ip> 
> > > debug=true ! fakesink ", I can see that gstreamer
> actually
> > > gets the SDP part right. See following info.
> > > >
> > > >    
> > > Try gst-launch -v rtspsrc name=src src. !
> > > application/x-rtp, media=audio 
> > > ! fakesink src. ! application/x-rtp, media=video
> !
> > > fakesink
> > > 
> > > Aurelien
> > > >
> *************************************************
> > > >   medias:
> > > >    media 0:
> > > > 
>    media:   
> > >    'audio'
> > > >     port: 
>    
> > >   '0'
> > > > 
> > >   
> num_ports:   '4294967295'
> > > > 
>    proto:   
> > >    'RTP/AVP'
> > > >     formats:
> > > >      format  '14'
> > > >     information:
> '(NULL)'
> > > >     connections:
> > > >      nettype:   
>   'IN'
> > > >      addrtype: 
> > >    'IP4'
> > > >      address: 
>    
> > > '0.0.0.0'
> > > >      ttl:   
>    
> > >   '0'
> > > >      addr_number:  '0'
> > > >     key:
> > > >      type:   
> > >    '(NULL)'
> > > >      data:   
> > >    '(NULL)'
> > > >     attributes:
> > > >      attribute 'control' :
> 'track1'
> > > >    media 1:
> > > > 
>    media:   
> > >    'video'
> > > >     port: 
>    
> > >   '0'
> > > > 
> > >   
> num_ports:   '4294967295'
> > > > 
>    proto:   
> > >    'RTP/AVP'
> > > >     formats:
> > > >      format  '97'
> > > >     information:
> '(NULL)'
> > > >     connections:
> > > >      nettype:   
>   'IN'
> > > >      addrtype: 
> > >    'IP4'
> > > >      address: 
>    
> > > '0.0.0.0'
> > > >      ttl:   
>    
> > >   '0'
> > > >      addr_number:  '0'
> > > >     key:
> > > >      type:   
> > >    '(NULL)'
> > > >      data:   
> > >    '(NULL)'
> > > >     attributes:
> > > >      attribute 'rtpmap' :
> '97
> > > H264/90000'
> > > >      attribute 'fmtp' : '97
> > >
> packetization-mode=1;profile-level-id=<num>;sprop-parameter-sets=<str>'
> > > >      attribute 'control' :
> 'track2'
> > > >
> > > >
> *************************************************
> > > > How can I save the audio track1 to a file
> and video
> > > track2 to another so I can do some
> post-processings? Thanks
> > > a lot for your help!!!
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> ------------------------------------------------------------------------------
> > > > This SF.Net email is sponsored by the
> Verizon
> > > Developer Community
> > > > Take advantage of Verizon's best-in-class
> app
> > > development support
> > > > A streamlined, 14 day to market process
> makes app
> > > distribution fast and easy
> > > > Join now and get one step closer to millions
> of
> > > Verizon customers
> > > > http://p.sf.net/sfu/verizon-dev2dev
> > > >
> _______________________________________________
> > > > gstreamer-devel mailing list
> > > > gstreamer-devel at lists.sourceforge.net
> > > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> > > >
> > > >    
> > > 
> > > 
> > >
> ------------------------------------------------------------------------------
> > > This SF.Net email is sponsored by the Verizon
> Developer
> > > Community
> > > Take advantage of Verizon's best-in-class app
> development
> > > support
> > > A streamlined, 14 day to market process makes
> app
> > > distribution fast and easy
> > > Join now and get one step closer to millions of
> Verizon
> > > customers
> > > http://p.sf.net/sfu/verizon-dev2dev 
> > > _______________________________________________
> > > gstreamer-devel mailing list
> > > gstreamer-devel at lists.sourceforge.net
> > > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> > > 
> > 
> > 
> >       
> > 
> >
> ------------------------------------------------------------------------------
> > This SF.Net email is sponsored by the Verizon
> Developer Community
> > Take advantage of Verizon's best-in-class app
> development support
> > A streamlined, 14 day to market process makes app
> distribution fast and easy
> > Join now and get one step closer to millions of
> Verizon customers
> > http://p.sf.net/sfu/verizon-dev2dev 
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> 
> 
> 
> ------------------------------------------------------------------------------
> This SF.Net email is sponsored by the Verizon Developer
> Community
> Take advantage of Verizon's best-in-class app development
> support
> A streamlined, 14 day to market process makes app
> distribution fast and easy
> Join now and get one step closer to millions of Verizon
> customers
> http://p.sf.net/sfu/verizon-dev2dev 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> 


      




More information about the gstreamer-devel mailing list