saving rtsp stream tracks

classic Classic list List threaded Threaded
9 messages Options
G.B
Reply | Threaded
Open this post in threaded view
|

saving rtsp stream tracks

G.B
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.

*************************************************
 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: saving rtsp stream tracks

Aurelien Grimaud (elzz)
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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
G.B
Reply | Threaded
Open this post in threaded view
|

Re: saving rtsp stream tracks

G.B
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!.

--- On Mon, 12/21/09, Aurelien Grimaud <[hidden email]> wrote:

> From: Aurelien Grimaud <[hidden email]>
> Subject: Re: [gst-devel] saving rtsp stream tracks
> To: "Discussion of the development of GStreamer" <[hidden email]>
> 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
> > [hidden email]
> > 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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: saving rtsp stream tracks

Wim Taymans
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 <[hidden email]> wrote:
>
> > From: Aurelien Grimaud <[hidden email]>
> > Subject: Re: [gst-devel] saving rtsp stream tracks
> > To: "Discussion of the development of GStreamer" <[hidden email]>
> > 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
> > > [hidden email]
> > > 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
> > [hidden email]
> > 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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
G.B
Reply | Threaded
Open this post in threaded view
|

Re: saving rtsp stream tracks

G.B
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 <[hidden email]> wrote:

> From: Wim Taymans <[hidden email]>
> Subject: Re: [gst-devel] saving rtsp stream tracks
> To: "Discussion of the development of GStreamer" <[hidden email]>
> 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 <[hidden email]>
> wrote:
> >
> > > From: Aurelien Grimaud <[hidden email]>
> > > Subject: Re: [gst-devel] saving rtsp stream
> tracks
> > > To: "Discussion of the development of GStreamer"
> <[hidden email]>
> > > 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
> > > > [hidden email]
> > > > 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
> > > [hidden email]
> > > 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
> > [hidden email]
> > 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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: saving rtsp stream tracks

Aurelien Grimaud (elzz)
In reply to this post by Wim Taymans
Le 22/12/2009 09:24, Wim Taymans a écrit :

> 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
>
>    
Actually this pipeline works ...
Why does gather bzbz's uri fail ? How come the 2 tracks caps are the
same except for payload ?
Gather, what rtsp server do you use ? Could you send the sdp ?

gst-launch -v rtspsrc location=rtsp://127.0.0.1/sample_50kbit.3gp
name=src src. ! application/x-rtp, media=audio ! fakesink sync=TRUE src.
! application/x-rtp, media=video ! fakesink sync=TRUE
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0: latency = 3000
/GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1: timeout = 5000000
/GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3: timeout = 5000000
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1:
ntp-ns-base = 3470505739412582000
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0:
ntp-ns-base = 3470505739412582000
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src:
caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink:
caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src:
caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink:
caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1: timeout = 0
/GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3: timeout = 0
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp:
caps = application/x-rtcp
New clock: GstSystemClock
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp:
caps = application/x-rtcp
/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)96,
clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
profile-level-id=(string)1,
config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\
176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080,
npt-start=(guint64)0, npt-stop=(guint64)70000000000,
play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps =
application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
profile-level-id=(string)1,
config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\
176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080,
npt-start=(guint64)0, npt-stop=(guint64)70000000000,
play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
profile-level-id=(string)1,
config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\
176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080,
npt-start=(guint64)0, npt-stop=(guint64)70000000000,
play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad7:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
profile-level-id=(string)1,
config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\
176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080,
npt-start=(guint64)0, npt-stop=(guint64)70000000000,
play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad6:
caps = application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
profile-level-id=(string)1,
config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\
176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080,
npt-start=(guint64)0, npt-stop=(guint64)70000000000,
play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: caps =
application/x-rtp, media=(string)video, payload=(int)96,
clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
profile-level-id=(string)1,
config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\
176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080,
npt-start=(guint64)0, npt-stop=(guint64)70000000000,
play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "preroll  
******* "
WARNING: from element /GstPipeline:pipeline0/GstFakeSink:fakesink1:
Internal data flow problem.
Additional debug info:
gstbasesink.c(3315): gst_base_sink_chain_unlocked ():
/GstPipeline:pipeline0/GstFakeSink:fakesink1:
Received buffer without a new-segment. Assuming timestamps start from 0.
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1:
caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src:
caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink:
caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1.GstProxyPad:proxypad5:
caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0:
caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src:
caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink:
caps = application/x-rtcp
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0.GstProxyPad:proxypad2:
caps = application/x-rtcp
/GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps =
application/x-rtp, media=(string)audio
/GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src: caps =
application/x-rtp, media=(string)audio, payload=(int)97,
clock-rate=(int)8000, encoding-name=(string)AMR,
encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0,
npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink: caps =
application/x-rtp, media=(string)audio, payload=(int)97,
clock-rate=(int)8000, encoding-name=(string)AMR,
encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0,
npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97:
caps = application/x-rtp, media=(string)audio, payload=(int)97,
clock-rate=(int)8000, encoding-name=(string)AMR,
encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0,
npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad9:
caps = application/x-rtp, media=(string)audio, payload=(int)97,
clock-rate=(int)8000, encoding-name=(string)AMR,
encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0,
npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad8:
caps = application/x-rtp, media=(string)audio, payload=(int)97,
clock-rate=(int)8000, encoding-name=(string)AMR,
encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0,
npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps =
application/x-rtp, media=(string)audio, payload=(int)97,
clock-rate=(int)8000, encoding-name=(string)AMR,
encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0,
npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "preroll  
******* "
WARNING: from element /GstPipeline:pipeline0/GstFakeSink:fakesink0:
Internal data flow problem.
Additional debug info:
gstbasesink.c(3315): gst_base_sink_chain_unlocked ():
/GstPipeline:pipeline0/GstFakeSink:fakesink0:
Received buffer without a new-segment. Assuming timestamps start from 0.
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  298 bytes, timestamp: 0:00:00.029967661, duration: none,
offset: -1, offset_end: -1, flags: 32) 0x82d63a0"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:00.029723222, duration: none,
offset: -1, offset_end: -1, flags: 32) 0xb5f0bd18"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (   39 bytes, timestamp: 0:00:00.096627699, duration: none,
offset: -1, offset_end: -1, flags: 0) 0x82d6450"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:00.129621419, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb5f0bdc8"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (   73 bytes, timestamp: 0:00:00.163267870, duration: none,
offset: -1, offset_end: -1, flags: 0) 0x82d6500"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:00.229215223, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb5f0be78"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  186 bytes, timestamp: 0:00:00.229861203, duration: none,
offset: -1, offset_end: -1, flags: 0) 0x82d65b0"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (   46 bytes, timestamp: 0:00:00.296405174, duration: none,
offset: -1, offset_end: -1, flags: 0) 0x82d6660"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:00.328310421, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb5f0bf28"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (   46 bytes, timestamp: 0:00:00.362889122, duration: none,
offset: -1, offset_end: -1, flags: 0) 0x82d6710"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:00.426738076, duration: none,
offset: -1, offset_end: -1, flags: 0) 0x82d6030"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  110 bytes, timestamp: 0:00:00.429277600, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b05038"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  167 bytes, timestamp: 0:00:00.495591078, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b050e8"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:00.524379558, duration: none,
offset: -1, offset_end: -1, flags: 0) 0x82d60e0"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  212 bytes, timestamp: 0:00:00.561827296, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b05198"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:00.621195558, duration: none,
offset: -1, offset_end: -1, flags: 0) 0x82d6190"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  135 bytes, timestamp: 0:00:00.627925760, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b05248"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  166 bytes, timestamp: 0:00:00.693966778, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b052f8"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:00.717251820, duration: none,
offset: -1, offset_end: -1, flags: 0) 0x82d6240"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  214 bytes, timestamp: 0:00:00.759969955, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b053a8"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:00.812731813, duration: none,
offset: -1, offset_end: -1, flags: 0) 0x82d62f0"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  260 bytes, timestamp: 0:00:00.825923657, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b05458"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  226 bytes, timestamp: 0:00:00.891898231, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b05508"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:00.907926480, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b068b8"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  336 bytes, timestamp: 0:00:00.957919311, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b055b8"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:01.003195304, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b06968"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  252 bytes, timestamp: 0:00:01.023984631, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b05668"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  255 bytes, timestamp: 0:00:01.090144543, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b05718"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:01.098893340, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b06a18"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  278 bytes, timestamp: 0:00:01.156404381, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b06808"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:01.195322355, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b06ac8"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  301 bytes, timestamp: 0:00:01.222750484, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b06ee8"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  380 bytes, timestamp: 0:00:01.289190961, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b09818"
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain  
******* < (  113 bytes, timestamp: 0:00:01.292640148, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b06b78"
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain  
******* < (  475 bytes, timestamp: 0:00:01.355707910, duration: none,
offset: -1, offset_end: -1, flags: 0) 0xb6b098c8"
^CCaught interrupt -- handling interrupt.
Interrupt: Stopping pipeline ...
Execution ended after 4489782939 ns.
Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "preroll  
******* "
/GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "preroll  
******* "
Setting pipeline to READY ...
/GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src: caps = NULL
/GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink: caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux1.GstPad:src_97:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_src_1438966686:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux0.GstPad:src_96:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_src_1306561041:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink:
caps = NULL
/GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink:
caps = NULL
Setting pipeline to NULL ...
Freeing pipeline ...

>> --- On Mon, 12/21/09, Aurelien Grimaud<[hidden email]>  wrote:
>>
>>      
>>> From: Aurelien Grimaud<[hidden email]>
>>> Subject: Re: [gst-devel] saving rtsp stream tracks
>>> To: "Discussion of the development of GStreamer"<[hidden email]>
>>> 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
>>>> [hidden email]
>>>> 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
>>> [hidden email]
>>> 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
>> [hidden email]
>> 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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: saving rtsp stream tracks

Aurelien Grimaud (elzz)
This reminds me of https://bugzilla.gnome.org/show_bug.cgi?id=545710
There was this same mismatch on caps (the same except payload type).

The problem was that rtspsrc used the same file descriptor for both tracks.

What version of gstreamer do you use ?
Which OS ?

Can you post the result of GST_DEBUG=2,rtspsrc:5,udpsrc*:5 gst-launch -v
rtspsrc debug=1 ! ....

Aurelien

Le 22/12/2009 22:37, Aurelien Grimaud a écrit :

> Le 22/12/2009 09:24, Wim Taymans a écrit :
>    
>> 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
>>
>>
>>      
> Actually this pipeline works ...
> Why does gather bzbz's uri fail ? How come the 2 tracks caps are the
> same except for payload ?
> Gather, what rtsp server do you use ? Could you send the sdp ?
>
> gst-launch -v rtspsrc location=rtsp://127.0.0.1/sample_50kbit.3gp
> name=src src. ! application/x-rtp, media=audio ! fakesink sync=TRUE src.
> ! application/x-rtp, media=video ! fakesink sync=TRUE
> Setting pipeline to PAUSED ...
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0: latency = 3000
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1: timeout = 5000000
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3: timeout = 5000000
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1:
> ntp-ns-base = 3470505739412582000
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0:
> ntp-ns-base = 3470505739412582000
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src:
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink:
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src:
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink:
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1: timeout = 0
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3: timeout = 0
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp:
> caps = application/x-rtcp
> New clock: GstSystemClock
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp:
> caps = application/x-rtcp
> /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)96,
> clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
> profile-level-id=(string)1,
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
> a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\
> 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080,
> npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps =
> application/x-rtp, media=(string)video, payload=(int)96,
> clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
> profile-level-id=(string)1,
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
> a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\
> 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080,
> npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96:
> caps = application/x-rtp, media=(string)video, payload=(int)96,
> clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
> profile-level-id=(string)1,
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
> a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\
> 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080,
> npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad7:
> caps = application/x-rtp, media=(string)video, payload=(int)96,
> clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
> profile-level-id=(string)1,
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
> a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\
> 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080,
> npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad6:
> caps = application/x-rtp, media=(string)video, payload=(int)96,
> clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
> profile-level-id=(string)1,
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
> a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\
> 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080,
> npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: caps =
> application/x-rtp, media=(string)video, payload=(int)96,
> clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
> profile-level-id=(string)1,
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
> a-cliprect=(string)\"0\\,0\\,144\\,176\", a-framesize=(string)\"96\\
> 176-144\", clock-base=(guint)1767044848, seqnum-base=(guint)28080,
> npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "preroll
> ******* "
> WARNING: from element /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> Internal data flow problem.
> Additional debug info:
> gstbasesink.c(3315): gst_base_sink_chain_unlocked ():
> /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> Received buffer without a new-segment. Assuming timestamps start from 0.
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1:
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src:
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink:
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1.GstProxyPad:proxypad5:
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0:
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src:
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink:
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0.GstProxyPad:proxypad2:
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps =
> application/x-rtp, media=(string)audio
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src: caps =
> application/x-rtp, media=(string)audio, payload=(int)97,
> clock-rate=(int)8000, encoding-name=(string)AMR,
> encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0,
> npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink: caps =
> application/x-rtp, media=(string)audio, payload=(int)97,
> clock-rate=(int)8000, encoding-name=(string)AMR,
> encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0,
> npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97:
> caps = application/x-rtp, media=(string)audio, payload=(int)97,
> clock-rate=(int)8000, encoding-name=(string)AMR,
> encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0,
> npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad9:
> caps = application/x-rtp, media=(string)audio, payload=(int)97,
> clock-rate=(int)8000, encoding-name=(string)AMR,
> encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0,
> npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad8:
> caps = application/x-rtp, media=(string)audio, payload=(int)97,
> clock-rate=(int)8000, encoding-name=(string)AMR,
> encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0,
> npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps =
> application/x-rtp, media=(string)audio, payload=(int)97,
> clock-rate=(int)8000, encoding-name=(string)AMR,
> encoding-params=(string)1, octet-align=(string)1, npt-start=(guint64)0,
> npt-stop=(guint64)70000000000, play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "preroll
> ******* "
> WARNING: from element /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> Internal data flow problem.
> Additional debug info:
> gstbasesink.c(3315): gst_base_sink_chain_unlocked ():
> /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> Received buffer without a new-segment. Assuming timestamps start from 0.
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  298 bytes, timestamp: 0:00:00.029967661, duration: none,
> offset: -1, offset_end: -1, flags: 32) 0x82d63a0"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:00.029723222, duration: none,
> offset: -1, offset_end: -1, flags: 32) 0xb5f0bd18"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (   39 bytes, timestamp: 0:00:00.096627699, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6450"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:00.129621419, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb5f0bdc8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (   73 bytes, timestamp: 0:00:00.163267870, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6500"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:00.229215223, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb5f0be78"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  186 bytes, timestamp: 0:00:00.229861203, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d65b0"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (   46 bytes, timestamp: 0:00:00.296405174, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6660"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:00.328310421, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb5f0bf28"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (   46 bytes, timestamp: 0:00:00.362889122, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6710"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:00.426738076, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6030"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  110 bytes, timestamp: 0:00:00.429277600, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05038"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  167 bytes, timestamp: 0:00:00.495591078, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b050e8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:00.524379558, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d60e0"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  212 bytes, timestamp: 0:00:00.561827296, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05198"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:00.621195558, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6190"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  135 bytes, timestamp: 0:00:00.627925760, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05248"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  166 bytes, timestamp: 0:00:00.693966778, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b052f8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:00.717251820, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6240"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  214 bytes, timestamp: 0:00:00.759969955, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b053a8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:00.812731813, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d62f0"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  260 bytes, timestamp: 0:00:00.825923657, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05458"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  226 bytes, timestamp: 0:00:00.891898231, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05508"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:00.907926480, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b068b8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  336 bytes, timestamp: 0:00:00.957919311, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b055b8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:01.003195304, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b06968"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  252 bytes, timestamp: 0:00:01.023984631, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05668"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  255 bytes, timestamp: 0:00:01.090144543, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05718"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:01.098893340, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b06a18"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  278 bytes, timestamp: 0:00:01.156404381, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b06808"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:01.195322355, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b06ac8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  301 bytes, timestamp: 0:00:01.222750484, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b06ee8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  380 bytes, timestamp: 0:00:01.289190961, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b09818"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "chain
> *******<  (  113 bytes, timestamp: 0:00:01.292640148, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b06b78"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "chain
> *******<  (  475 bytes, timestamp: 0:00:01.355707910, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b098c8"
> ^CCaught interrupt -- handling interrupt.
> Interrupt: Stopping pipeline ...
> Execution ended after 4489782939 ns.
> Setting pipeline to PAUSED ...
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message = "preroll
> ******* "
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message = "preroll
> ******* "
> Setting pipeline to READY ...
> /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink: caps = NULL
> /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink: caps = NULL
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src: caps = NULL
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink: caps = NULL
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src: caps = NULL
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink: caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux1.GstPad:src_97:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_src_1438966686:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux0.GstPad:src_96:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_src_1306561041:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink:
> caps = NULL
> Setting pipeline to NULL ...
> Freeing pipeline ...
>
>    
>>> --- On Mon, 12/21/09, Aurelien Grimaud<[hidden email]>   wrote:
>>>
>>>
>>>        
>>>> From: Aurelien Grimaud<[hidden email]>
>>>> Subject: Re: [gst-devel] saving rtsp stream tracks
>>>> To: "Discussion of the development of GStreamer"<[hidden email]>
>>>> 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
>>>>> [hidden email]
>>>>> 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
>>>> [hidden email]
>>>> 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
>>> [hidden email]
>>> 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
>> [hidden email]
>> 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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
G.B
Reply | Threaded
Open this post in threaded view
|

Re: saving rtsp stream tracks

G.B
In reply to this post by Aurelien Grimaud (elzz)
Hi Aurelien,

The server is an embedded DSP box running linux. GSTREAMER versions are
gstreamer-0.10.23, gst-plugins-base-0.10.23, gst-plugins-good-0.10.15, gst-plugins-ugly-0.10.11, gst-plugins-bad-0.10.12

pipeline used is same as yours.

The follwing is the SDP

sdp packet 0xbefff268:
 version:       '0'
 origin:
  username:     '-'
  sess_id:      '1075644172143134'
  sess_version: '1'
  nettype:      'IN'
  addrtype:     'IP4'
  addr:         '192.168.1.4'
 session_name:  'name'
 information:   'info'
 uri:           '(NULL)'
 connection:
  nettype:      '(NULL)'
  addrtype:     '(NULL)'
  address:      '(NULL)'
  ttl:          '0'
  addr_number:  '0'
 key:
  type:         '(NULL)'
  data:         '(NULL)'
 attributes:
  attribute 'tool' : 'tool'
  attribute 'type' : 'broadcast'
  attribute 'control' : '*'
  attribute 'range' : 'npt=0-'
  attribute 'x-qt-text-nam' : 'name'
  attribute 'x-qt-text-inf' : 'info'
 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=<hex>;sprop-parameter-sets=<str>'
    attribute 'control' : 'track2'


--- On Tue, 12/22/09, Aurelien Grimaud <[hidden email]> wrote:

> From: Aurelien Grimaud <[hidden email]>
> Subject: Re: [gst-devel] saving rtsp stream tracks
> To: "Discussion of the development of GStreamer" <[hidden email]>
> Date: Tuesday, December 22, 2009, 1:37 PM
> Le 22/12/2009 09:24, Wim Taymans a
> écrit :
> > 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
> >
> >    
> Actually this pipeline works ...
> Why does gather bzbz's uri fail ? How come the 2 tracks
> caps are the
> same except for payload ?
> Gather, what rtsp server do you use ? Could you send the
> sdp ?
>
> gst-launch -v rtspsrc
> location=rtsp://127.0.0.1/sample_50kbit.3gp
> name=src src. ! application/x-rtp, media=audio ! fakesink
> sync=TRUE src.
> ! application/x-rtp, media=video ! fakesink sync=TRUE
> Setting pipeline to PAUSED ...
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0:
> latency = 3000
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1:
> timeout = 5000000
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3:
> timeout = 5000000
> Pipeline is live and does not need PREROLL ...
> Setting pipeline to PLAYING ...
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1:
>
> ntp-ns-base = 3470505739412582000
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0:
>
> ntp-ns-base = 3470505739412582000
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src:
>
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink:
>
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src:
>
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink:
>
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1:
> timeout = 0
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3:
> timeout = 0
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp:
>
> caps = application/x-rtcp
> New clock: GstSystemClock
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp:
>
> caps = application/x-rtcp
> /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)96,
> clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
> profile-level-id=(string)1,
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
>
> a-cliprect=(string)\"0\\,0\\,144\\,176\",
> a-framesize=(string)\"96\\
> 176-144\", clock-base=(guint)1767044848,
> seqnum-base=(guint)28080,
> npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink:
> caps =
> application/x-rtp, media=(string)video, payload=(int)96,
> clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
> profile-level-id=(string)1,
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
>
> a-cliprect=(string)\"0\\,0\\,144\\,176\",
> a-framesize=(string)\"96\\
> 176-144\", clock-base=(guint)1767044848,
> seqnum-base=(guint)28080,
> npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96:
>
> caps = application/x-rtp, media=(string)video,
> payload=(int)96,
> clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
> profile-level-id=(string)1,
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
>
> a-cliprect=(string)\"0\\,0\\,144\\,176\",
> a-framesize=(string)\"96\\
> 176-144\", clock-base=(guint)1767044848,
> seqnum-base=(guint)28080,
> npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad7:
>
> caps = application/x-rtp, media=(string)video,
> payload=(int)96,
> clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
> profile-level-id=(string)1,
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
>
> a-cliprect=(string)\"0\\,0\\,144\\,176\",
> a-framesize=(string)\"96\\
> 176-144\", clock-base=(guint)1767044848,
> seqnum-base=(guint)28080,
> npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad6:
>
> caps = application/x-rtp, media=(string)video,
> payload=(int)96,
> clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
> profile-level-id=(string)1,
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
>
> a-cliprect=(string)\"0\\,0\\,144\\,176\",
> a-framesize=(string)\"96\\
> 176-144\", clock-base=(guint)1767044848,
> seqnum-base=(guint)28080,
> npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink:
> caps =
> application/x-rtp, media=(string)video, payload=(int)96,
> clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
> profile-level-id=(string)1,
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
>
> a-cliprect=(string)\"0\\,0\\,144\\,176\",
> a-framesize=(string)\"96\\
> 176-144\", clock-base=(guint)1767044848,
> seqnum-base=(guint)28080,
> npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> play-speed=(double)1, play-scale=(double)1
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "preroll  
> ******* "
> WARNING: from element
> /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> Internal data flow problem.
> Additional debug info:
> gstbasesink.c(3315): gst_base_sink_chain_unlocked ():
> /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> Received buffer without a new-segment. Assuming timestamps
> start from 0.
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1:
>
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src:
>
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink:
>
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1.GstProxyPad:proxypad5:
>
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0:
>
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src:
>
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink:
>
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0.GstProxyPad:proxypad2:
>
> caps = application/x-rtcp
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps =
> application/x-rtp, media=(string)audio
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src:
> caps =
> application/x-rtp, media=(string)audio, payload=(int)97,
> clock-rate=(int)8000, encoding-name=(string)AMR,
> encoding-params=(string)1, octet-align=(string)1,
> npt-start=(guint64)0,
> npt-stop=(guint64)70000000000, play-speed=(double)1,
> play-scale=(double)1
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink:
> caps =
> application/x-rtp, media=(string)audio, payload=(int)97,
> clock-rate=(int)8000, encoding-name=(string)AMR,
> encoding-params=(string)1, octet-align=(string)1,
> npt-start=(guint64)0,
> npt-stop=(guint64)70000000000, play-speed=(double)1,
> play-scale=(double)1
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97:
>
> caps = application/x-rtp, media=(string)audio,
> payload=(int)97,
> clock-rate=(int)8000, encoding-name=(string)AMR,
> encoding-params=(string)1, octet-align=(string)1,
> npt-start=(guint64)0,
> npt-stop=(guint64)70000000000, play-speed=(double)1,
> play-scale=(double)1
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad9:
>
> caps = application/x-rtp, media=(string)audio,
> payload=(int)97,
> clock-rate=(int)8000, encoding-name=(string)AMR,
> encoding-params=(string)1, octet-align=(string)1,
> npt-start=(guint64)0,
> npt-stop=(guint64)70000000000, play-speed=(double)1,
> play-scale=(double)1
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad8:
>
> caps = application/x-rtp, media=(string)audio,
> payload=(int)97,
> clock-rate=(int)8000, encoding-name=(string)AMR,
> encoding-params=(string)1, octet-align=(string)1,
> npt-start=(guint64)0,
> npt-stop=(guint64)70000000000, play-speed=(double)1,
> play-scale=(double)1
> /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink:
> caps =
> application/x-rtp, media=(string)audio, payload=(int)97,
> clock-rate=(int)8000, encoding-name=(string)AMR,
> encoding-params=(string)1, octet-align=(string)1,
> npt-start=(guint64)0,
> npt-stop=(guint64)70000000000, play-speed=(double)1,
> play-scale=(double)1
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "preroll  
> ******* "
> WARNING: from element
> /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> Internal data flow problem.
> Additional debug info:
> gstbasesink.c(3315): gst_base_sink_chain_unlocked ():
> /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> Received buffer without a new-segment. Assuming timestamps
> start from 0.
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  298 bytes, timestamp:
> 0:00:00.029967661, duration: none,
> offset: -1, offset_end: -1, flags: 32) 0x82d63a0"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:00.029723222, duration: none,
> offset: -1, offset_end: -1, flags: 32) 0xb5f0bd18"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (   39 bytes, timestamp:
> 0:00:00.096627699, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6450"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:00.129621419, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb5f0bdc8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (   73 bytes, timestamp:
> 0:00:00.163267870, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6500"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:00.229215223, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb5f0be78"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  186 bytes, timestamp:
> 0:00:00.229861203, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d65b0"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (   46 bytes, timestamp:
> 0:00:00.296405174, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6660"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:00.328310421, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb5f0bf28"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (   46 bytes, timestamp:
> 0:00:00.362889122, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6710"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:00.426738076, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6030"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  110 bytes, timestamp:
> 0:00:00.429277600, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05038"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  167 bytes, timestamp:
> 0:00:00.495591078, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b050e8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:00.524379558, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d60e0"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  212 bytes, timestamp:
> 0:00:00.561827296, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05198"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:00.621195558, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6190"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  135 bytes, timestamp:
> 0:00:00.627925760, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05248"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  166 bytes, timestamp:
> 0:00:00.693966778, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b052f8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:00.717251820, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d6240"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  214 bytes, timestamp:
> 0:00:00.759969955, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b053a8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:00.812731813, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0x82d62f0"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  260 bytes, timestamp:
> 0:00:00.825923657, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05458"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  226 bytes, timestamp:
> 0:00:00.891898231, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05508"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:00.907926480, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b068b8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  336 bytes, timestamp:
> 0:00:00.957919311, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b055b8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:01.003195304, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b06968"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  252 bytes, timestamp:
> 0:00:01.023984631, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05668"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  255 bytes, timestamp:
> 0:00:01.090144543, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b05718"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:01.098893340, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b06a18"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  278 bytes, timestamp:
> 0:00:01.156404381, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b06808"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:01.195322355, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b06ac8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  301 bytes, timestamp:
> 0:00:01.222750484, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b06ee8"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  380 bytes, timestamp:
> 0:00:01.289190961, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b09818"
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "chain  
> ******* < (  113 bytes, timestamp:
> 0:00:01.292640148, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b06b78"
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "chain  
> ******* < (  475 bytes, timestamp:
> 0:00:01.355707910, duration: none,
> offset: -1, offset_end: -1, flags: 0) 0xb6b098c8"
> ^CCaught interrupt -- handling interrupt.
> Interrupt: Stopping pipeline ...
> Execution ended after 4489782939 ns.
> Setting pipeline to PAUSED ...
> /GstPipeline:pipeline0/GstFakeSink:fakesink0: last-message
> = "preroll  
> ******* "
> /GstPipeline:pipeline0/GstFakeSink:fakesink1: last-message
> = "preroll  
> ******* "
> Setting pipeline to READY ...
> /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink:
> caps = NULL
> /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink:
> caps = NULL
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src:
> caps = NULL
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink:
> caps = NULL
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src:
> caps = NULL
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink:
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux1.GstPad:src_97:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_src_1438966686:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux0.GstPad:src_96:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_src_1306561041:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink:
>
> caps = NULL
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink:
>
> caps = NULL
> Setting pipeline to NULL ...
> Freeing pipeline ...
>
> >> --- On Mon, 12/21/09, Aurelien Grimaud<[hidden email]>
> wrote:
> >>
> >>      
> >>> From: Aurelien Grimaud<[hidden email]>
> >>> Subject: Re: [gst-devel] saving rtsp stream
> tracks
> >>> To: "Discussion of the development of
> GStreamer"<[hidden email]>
> >>> 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
> >>>> [hidden email]
> >>>> 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
> >>> [hidden email]
> >>> 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
> >> [hidden email]
> >> 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
> > [hidden email]
> > 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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
G.B
Reply | Threaded
Open this post in threaded view
|

Re: saving rtsp stream tracks

G.B
Still struggling with this issue....

Trying to write an application as Wim suggested. But the question is, why the "rtspsrc debug=true" shows the totally right SDP with correct media audio and video types, but the gstghostpad from rtspsrc0 translates the audio portion wrong?

/GstPipeline:pipeline0/GstRTSPSrc:rtspsrc0.GstGhostPad:recv_rtp_src_1_1119828354_14: caps = application/x-rtp, media=(string)video, payload=(int)14,

Wim mentioned that the format negotiation happening after the pad creation, so what the correct code flow chart should look like?

Thanks all for the inputs.

Happy New Year.

--- On Wed, 12/23/09, gather bzbz <[hidden email]> wrote:

> From: gather bzbz <[hidden email]>
> Subject: Re: [gst-devel] saving rtsp stream tracks
> To: "Discussion of the development of GStreamer" <[hidden email]>
> Date: Wednesday, December 23, 2009, 12:32 AM
> Hi Aurelien,
>
> The server is an embedded DSP box running linux. GSTREAMER
> versions are
> gstreamer-0.10.23, gst-plugins-base-0.10.23,
> gst-plugins-good-0.10.15, gst-plugins-ugly-0.10.11,
> gst-plugins-bad-0.10.12
>
> pipeline used is same as yours.
>
> The follwing is the SDP
>
> sdp packet 0xbefff268:
>  version:       '0'
>  origin:
>   username:     '-'
>   sess_id:      '1075644172143134'
>   sess_version: '1'
>   nettype:      'IN'
>   addrtype:     'IP4'
>   addr:    
>    '192.168.1.4'
>  session_name:  'name'
>  information:   'info'
>  uri:      
>    '(NULL)'
>  connection:
>   nettype:      '(NULL)'
>   addrtype:     '(NULL)'
>   address:      '(NULL)'
>   ttl:          '0'
>   addr_number:  '0'
>  key:
>   type:    
>    '(NULL)'
>   data:    
>    '(NULL)'
>  attributes:
>   attribute 'tool' : 'tool'
>   attribute 'type' : 'broadcast'
>   attribute 'control' : '*'
>   attribute 'range' : 'npt=0-'
>   attribute 'x-qt-text-nam' : 'name'
>   attribute 'x-qt-text-inf' : 'info'
>  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=<hex>;sprop-parameter-sets=<str>'
>     attribute 'control' : 'track2'
>
>
> --- On Tue, 12/22/09, Aurelien Grimaud <[hidden email]>
> wrote:
>
> > From: Aurelien Grimaud <[hidden email]>
> > Subject: Re: [gst-devel] saving rtsp stream tracks
> > To: "Discussion of the development of GStreamer"
> <[hidden email]>
> > Date: Tuesday, December 22, 2009, 1:37 PM
> > Le 22/12/2009 09:24, Wim Taymans a
> > écrit :
> > > 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
> > >
> > >    
> > Actually this pipeline works ...
> > Why does gather bzbz's uri fail ? How come the 2
> tracks
> > caps are the
> > same except for payload ?
> > Gather, what rtsp server do you use ? Could you send
> the
> > sdp ?
> >
> > gst-launch -v rtspsrc
> > location=rtsp://127.0.0.1/sample_50kbit.3gp
> > name=src src. ! application/x-rtp, media=audio !
> fakesink
> > sync=TRUE src.
> > ! application/x-rtp, media=video ! fakesink sync=TRUE
> > Setting pipeline to PAUSED ...
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0:
> > latency = 3000
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1:
> > timeout = 5000000
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3:
> > timeout = 5000000
> > Pipeline is live and does not need PREROLL ...
> > Setting pipeline to PLAYING ...
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1:
> >
> > ntp-ns-base = 3470505739412582000
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0:
> >
> > ntp-ns-base = 3470505739412582000
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src:
> >
> > caps = application/x-rtcp
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink:
> >
> > caps = application/x-rtcp
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src:
> >
> > caps = application/x-rtcp
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink:
> >
> > caps = application/x-rtcp
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc1:
> > timeout = 0
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSrc:udpsrc3:
> > timeout = 0
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp:
> >
> > caps = application/x-rtcp
> > New clock: GstSystemClock
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp:
> >
> > caps = application/x-rtcp
> > /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)96,
> > clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
>
> > profile-level-id=(string)1,
> >
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
> >
> > a-cliprect=(string)\"0\\,0\\,144\\,176\",
> > a-framesize=(string)\"96\\
> > 176-144\", clock-base=(guint)1767044848,
> > seqnum-base=(guint)28080,
> > npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> > play-speed=(double)1, play-scale=(double)1
> >
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink:
> > caps =
> > application/x-rtp, media=(string)video,
> payload=(int)96,
> > clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
>
> > profile-level-id=(string)1,
> >
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
> >
> > a-cliprect=(string)\"0\\,0\\,144\\,176\",
> > a-framesize=(string)\"96\\
> > 176-144\", clock-base=(guint)1767044848,
> > seqnum-base=(guint)28080,
> > npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> > play-speed=(double)1, play-scale=(double)1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96:
> >
> > caps = application/x-rtp, media=(string)video,
> > payload=(int)96,
> > clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
>
> > profile-level-id=(string)1,
> >
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
> >
> > a-cliprect=(string)\"0\\,0\\,144\\,176\",
> > a-framesize=(string)\"96\\
> > 176-144\", clock-base=(guint)1767044848,
> > seqnum-base=(guint)28080,
> > npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> > play-speed=(double)1, play-scale=(double)1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad7:
> >
> > caps = application/x-rtp, media=(string)video,
> > payload=(int)96,
> > clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
>
> > profile-level-id=(string)1,
> >
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
> >
> > a-cliprect=(string)\"0\\,0\\,144\\,176\",
> > a-framesize=(string)\"96\\
> > 176-144\", clock-base=(guint)1767044848,
> > seqnum-base=(guint)28080,
> > npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> > play-speed=(double)1, play-scale=(double)1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96.GstProxyPad:proxypad6:
> >
> > caps = application/x-rtp, media=(string)video,
> > payload=(int)96,
> > clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
>
> > profile-level-id=(string)1,
> >
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
> >
> > a-cliprect=(string)\"0\\,0\\,144\\,176\",
> > a-framesize=(string)\"96\\
> > 176-144\", clock-base=(guint)1767044848,
> > seqnum-base=(guint)28080,
> > npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> > play-speed=(double)1, play-scale=(double)1
> >
> /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink:
> > caps =
> > application/x-rtp, media=(string)video,
> payload=(int)96,
> > clock-rate=(int)90000, encoding-name=(string)MP4V-ES,
>
> > profile-level-id=(string)1,
> >
> config=(string)000001B008000001B50EE040C0CF0000010000000120008440FA282C2090A21F,
> >
> > a-cliprect=(string)\"0\\,0\\,144\\,176\",
> > a-framesize=(string)\"96\\
> > 176-144\", clock-base=(guint)1767044848,
> > seqnum-base=(guint)28080,
> > npt-start=(guint64)0, npt-stop=(guint64)70000000000,
> > play-speed=(double)1, play-scale=(double)1
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "preroll  
> > ******* "
> > WARNING: from element
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> > Internal data flow problem.
> > Additional debug info:
> > gstbasesink.c(3315): gst_base_sink_chain_unlocked ():
>
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> > Received buffer without a new-segment. Assuming
> timestamps
> > start from 0.
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1:
> >
> > caps = application/x-rtcp
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src:
> >
> > caps = application/x-rtcp
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink:
> >
> > caps = application/x-rtcp
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1.GstProxyPad:proxypad5:
> >
> > caps = application/x-rtcp
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0:
> >
> > caps = application/x-rtcp
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src:
> >
> > caps = application/x-rtcp
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink:
> >
> > caps = application/x-rtcp
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0.GstProxyPad:proxypad2:
> >
> > caps = application/x-rtcp
> > /GstPipeline:pipeline0/GstCapsFilter:capsfilter4: caps
> =
> > application/x-rtp, media=(string)audio
> >
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src:
> > caps =
> > application/x-rtp, media=(string)audio,
> payload=(int)97,
> > clock-rate=(int)8000, encoding-name=(string)AMR,
> > encoding-params=(string)1, octet-align=(string)1,
> > npt-start=(guint64)0,
> > npt-stop=(guint64)70000000000, play-speed=(double)1,
> > play-scale=(double)1
> >
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink:
> > caps =
> > application/x-rtp, media=(string)audio,
> payload=(int)97,
> > clock-rate=(int)8000, encoding-name=(string)AMR,
> > encoding-params=(string)1, octet-align=(string)1,
> > npt-start=(guint64)0,
> > npt-stop=(guint64)70000000000, play-speed=(double)1,
> > play-scale=(double)1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97:
> >
> > caps = application/x-rtp, media=(string)audio,
> > payload=(int)97,
> > clock-rate=(int)8000, encoding-name=(string)AMR,
> > encoding-params=(string)1, octet-align=(string)1,
> > npt-start=(guint64)0,
> > npt-stop=(guint64)70000000000, play-speed=(double)1,
> > play-scale=(double)1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad9:
> >
> > caps = application/x-rtp, media=(string)audio,
> > payload=(int)97,
> > clock-rate=(int)8000, encoding-name=(string)AMR,
> > encoding-params=(string)1, octet-align=(string)1,
> > npt-start=(guint64)0,
> > npt-stop=(guint64)70000000000, play-speed=(double)1,
> > play-scale=(double)1
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97.GstProxyPad:proxypad8:
> >
> > caps = application/x-rtp, media=(string)audio,
> > payload=(int)97,
> > clock-rate=(int)8000, encoding-name=(string)AMR,
> > encoding-params=(string)1, octet-align=(string)1,
> > npt-start=(guint64)0,
> > npt-stop=(guint64)70000000000, play-speed=(double)1,
> > play-scale=(double)1
> >
> /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink:
> > caps =
> > application/x-rtp, media=(string)audio,
> payload=(int)97,
> > clock-rate=(int)8000, encoding-name=(string)AMR,
> > encoding-params=(string)1, octet-align=(string)1,
> > npt-start=(guint64)0,
> > npt-stop=(guint64)70000000000, play-speed=(double)1,
> > play-scale=(double)1
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "preroll  
> > ******* "
> > WARNING: from element
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> > Internal data flow problem.
> > Additional debug info:
> > gstbasesink.c(3315): gst_base_sink_chain_unlocked ():
>
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> > Received buffer without a new-segment. Assuming
> timestamps
> > start from 0.
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  298 bytes, timestamp:
> > 0:00:00.029967661, duration: none,
> > offset: -1, offset_end: -1, flags: 32) 0x82d63a0"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:00.029723222, duration: none,
> > offset: -1, offset_end: -1, flags: 32) 0xb5f0bd18"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (   39 bytes, timestamp:
> > 0:00:00.096627699, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0x82d6450"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:00.129621419, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb5f0bdc8"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (   73 bytes, timestamp:
> > 0:00:00.163267870, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0x82d6500"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:00.229215223, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb5f0be78"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  186 bytes, timestamp:
> > 0:00:00.229861203, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0x82d65b0"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (   46 bytes, timestamp:
> > 0:00:00.296405174, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0x82d6660"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:00.328310421, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb5f0bf28"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (   46 bytes, timestamp:
> > 0:00:00.362889122, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0x82d6710"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:00.426738076, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0x82d6030"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  110 bytes, timestamp:
> > 0:00:00.429277600, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b05038"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  167 bytes, timestamp:
> > 0:00:00.495591078, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b050e8"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:00.524379558, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0x82d60e0"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  212 bytes, timestamp:
> > 0:00:00.561827296, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b05198"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:00.621195558, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0x82d6190"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  135 bytes, timestamp:
> > 0:00:00.627925760, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b05248"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  166 bytes, timestamp:
> > 0:00:00.693966778, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b052f8"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:00.717251820, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0x82d6240"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  214 bytes, timestamp:
> > 0:00:00.759969955, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b053a8"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:00.812731813, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0x82d62f0"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  260 bytes, timestamp:
> > 0:00:00.825923657, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b05458"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  226 bytes, timestamp:
> > 0:00:00.891898231, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b05508"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:00.907926480, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b068b8"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  336 bytes, timestamp:
> > 0:00:00.957919311, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b055b8"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:01.003195304, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b06968"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  252 bytes, timestamp:
> > 0:00:01.023984631, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b05668"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  255 bytes, timestamp:
> > 0:00:01.090144543, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b05718"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:01.098893340, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b06a18"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  278 bytes, timestamp:
> > 0:00:01.156404381, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b06808"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:01.195322355, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b06ac8"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  301 bytes, timestamp:
> > 0:00:01.222750484, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b06ee8"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  380 bytes, timestamp:
> > 0:00:01.289190961, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b09818"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "chain  
> > ******* < (  113 bytes, timestamp:
> > 0:00:01.292640148, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b06b78"
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "chain  
> > ******* < (  475 bytes, timestamp:
> > 0:00:01.355707910, duration: none,
> > offset: -1, offset_end: -1, flags: 0) 0xb6b098c8"
> > ^CCaught interrupt -- handling interrupt.
> > Interrupt: Stopping pipeline ...
> > Execution ended after 4489782939 ns.
> > Setting pipeline to PAUSED ...
> > /GstPipeline:pipeline0/GstFakeSink:fakesink0:
> last-message
> > = "preroll  
> > ******* "
> > /GstPipeline:pipeline0/GstFakeSink:fakesink1:
> last-message
> > = "preroll  
> > ******* "
> > Setting pipeline to READY ...
> >
> /GstPipeline:pipeline0/GstFakeSink:fakesink1.GstPad:sink:
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstFakeSink:fakesink0.GstPad:sink:
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:src:
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter3.GstPad:sink:
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:src:
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstCapsFilter:capsfilter4.GstPad:sink:
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_1_1438966686_97:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src.GstGhostPad:recv_rtp_src_0_1306561041_96:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_1_1438966686_97:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:recv_rtp_src_0_1306561041_96:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_1:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0.GstGhostPad:send_rtcp_src_0:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux1.GstPad:src_97:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer1.GstPad:sink_rtcp:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_src_1438966686:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux1.GstPad:rtcp_sink:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpPtDemux:rtpptdemux0.GstPad:src_96:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpJitterBuffer:rtpjitterbuffer0.GstPad:sink_rtcp:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_src_1306561041:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSsrcDemux:rtpssrcdemux0.GstPad:rtcp_sink:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:send_rtcp_src:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession1.GstPad:sync_src:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:send_rtcp_src:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstRtpBin:rtpbin0/GstRtpSession:rtpsession0.GstPad:sync_src:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink1.GstPad:sink:
> >
> > caps = NULL
> >
> /GstPipeline:pipeline0/GstRTSPSrc:src/GstUDPSink:udpsink3.GstPad:sink:
> >
> > caps = NULL
> > Setting pipeline to NULL ...
> > Freeing pipeline ...
> >
> > >> --- On Mon, 12/21/09, Aurelien Grimaud<[hidden email]>
>
> > wrote:
> > >>
> > >>      
> > >>> From: Aurelien Grimaud<[hidden email]>
> > >>> Subject: Re: [gst-devel] saving rtsp
> stream
> > tracks
> > >>> To: "Discussion of the development of
> > GStreamer"<[hidden email]>
> > >>> 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
> > >>>> [hidden email]
> > >>>> 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
> > >>> [hidden email]
> > >>> 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
> > >> [hidden email]
> > >> 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
> > > [hidden email]
> > > 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
> > [hidden email]
> > 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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel