[gst-devel] saving rtsp stream tracks

gather bzbz gbzbz at yahoo.com
Wed Dec 23 09:32:29 CET 2009


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 <gstelzz at yahoo.fr> wrote:

> From: Aurelien Grimaud <gstelzz at yahoo.fr>
> Subject: Re: [gst-devel] saving rtsp stream tracks
> To: "Discussion of the development of GStreamer" <gstreamer-devel at lists.sourceforge.net>
> Date: 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<gstelzz at yahoo.fr> 
> wrote:
> >>
> >>      
> >>> From: Aurelien Grimaud<gstelzz at yahoo.fr>
> >>> Subject: Re: [gst-devel] saving rtsp stream
> tracks
> >>> To: "Discussion of the development of
> GStreamer"<gstreamer-devel at lists.sourceforge.net>
> >>> Date: Monday, December 21, 2009, 12:53 PM
> >>> Hi,
> >>>
> >>> Le 21/12/2009 08:02, gather bzbz a écrit :
> >>>        
> >>>> Hi, I try to use gstreamer to receive rtsp
> stream to
> >>>>          
> >>> files. The stream contains a track1 for audio
> and track2 for
> >>> video. VLC works very well with the stream.
> When I use the
> >>> following command pipeline
> >>>        
> >>>> " gst-launch rtspsrc
> location=rtsp://<ip>
> >>>>          
> >>> debug=true ! fakesink ", I can see that
> gstreamer actually
> >>> gets the SDP part right. See following info.
> >>>        
> >>>>
> >>>>          
> >>> Try gst-launch -v rtspsrc name=src src. !
> >>> application/x-rtp, media=audio
> >>> ! fakesink src. ! application/x-rtp,
> media=video !
> >>> fakesink
> >>>
> >>> Aurelien
> >>>        
> >>>>
> *************************************************
> >>>>    medias:
> >>>>     media 0:
> >>>>      media:
> >>>>          
> >>>     'audio'
> >>>        
> >>>>      port:
> >>>>          
> >>>    '0'
> >>>        
> >>>>          
> >>> 
>    num_ports:   '4294967295'
> >>>        
> >>>>      proto:
> >>>>          
> >>>     'RTP/AVP'
> >>>        
> >>>>      formats:
> >>>>   
>    format  '14'
> >>>>      information: '(NULL)'
> >>>>      connections:
> >>>>   
>    nettype:      'IN'
> >>>>       addrtype:
> >>>>          
> >>>     'IP4'
> >>>        
> >>>>       address:
> >>>>          
> >>> '0.0.0.0'
> >>>        
> >>>>       ttl:
> >>>>          
> >>>    '0'
> >>>        
> >>>>   
>    addr_number:  '0'
> >>>>      key:
> >>>>       type:
> >>>>          
> >>>     '(NULL)'
> >>>        
> >>>>       data:
> >>>>          
> >>>     '(NULL)'
> >>>        
> >>>>      attributes:
> >>>>       attribute
> 'control' : 'track1'
> >>>>     media 1:
> >>>>      media:
> >>>>          
> >>>     'video'
> >>>        
> >>>>      port:
> >>>>          
> >>>    '0'
> >>>        
> >>>>          
> >>> 
>    num_ports:   '4294967295'
> >>>        
> >>>>      proto:
> >>>>          
> >>>     'RTP/AVP'
> >>>        
> >>>>      formats:
> >>>>   
>    format  '97'
> >>>>      information: '(NULL)'
> >>>>      connections:
> >>>>   
>    nettype:      'IN'
> >>>>       addrtype:
> >>>>          
> >>>     'IP4'
> >>>        
> >>>>       address:
> >>>>          
> >>> '0.0.0.0'
> >>>        
> >>>>       ttl:
> >>>>          
> >>>    '0'
> >>>        
> >>>>   
>    addr_number:  '0'
> >>>>      key:
> >>>>       type:
> >>>>          
> >>>     '(NULL)'
> >>>        
> >>>>       data:
> >>>>          
> >>>     '(NULL)'
> >>>        
> >>>>      attributes:
> >>>>       attribute
> 'rtpmap' : '97
> >>>>          
> >>> H264/90000'
> >>>        
> >>>>       attribute
> 'fmtp' : '97
> >>>>          
> >>>
> packetization-mode=1;profile-level-id=<num>;sprop-parameter-sets=<str>'
> >>>        
> >>>>       attribute
> 'control' : 'track2'
> >>>>
> >>>>
> *************************************************
> >>>> How can I save the audio track1 to a file
> and video
> >>>>          
> >>> track2 to another so I can do some
> post-processings? Thanks
> >>> a lot for your help!!!
> >>>        
> >>>>
> >>>>
> >>>>
> >>>>
> >>>>          
> >>>
> ------------------------------------------------------------------------------
> >>>        
> >>>> This SF.Net email is sponsored by the
> Verizon
> >>>>          
> >>> Developer Community
> >>>        
> >>>> Take advantage of Verizon's best-in-class
> app
> >>>>          
> >>> development support
> >>>        
> >>>> A streamlined, 14 day to market process
> makes app
> >>>>          
> >>> distribution fast and easy
> >>>        
> >>>> Join now and get one step closer to
> millions of
> >>>>          
> >>> Verizon customers
> >>>        
> >>>> http://p.sf.net/sfu/verizon-dev2dev
> >>>>
> _______________________________________________
> >>>> gstreamer-devel mailing list
> >>>> gstreamer-devel at lists.sourceforge.net
> >>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >>>>
> >>>>
> >>>>          
> >>>
> >>>
> ------------------------------------------------------------------------------
> >>> This SF.Net email is sponsored by the Verizon
> Developer
> >>> Community
> >>> Take advantage of Verizon's best-in-class app
> development
> >>> support
> >>> A streamlined, 14 day to market process makes
> app
> >>> distribution fast and easy
> >>> Join now and get one step closer to millions
> of Verizon
> >>> customers
> >>> http://p.sf.net/sfu/verizon-dev2dev
> >>>
> _______________________________________________
> >>> gstreamer-devel mailing list
> >>> gstreamer-devel at lists.sourceforge.net
> >>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >>>
> >>>        
> >>
> >>
> >>
> >>
> ------------------------------------------------------------------------------
> >> This SF.Net email is sponsored by the Verizon
> Developer Community
> >> Take advantage of Verizon's best-in-class app
> development support
> >> A streamlined, 14 day to market process makes app
> distribution fast and easy
> >> Join now and get one step closer to millions of
> Verizon customers
> >> http://p.sf.net/sfu/verizon-dev2dev
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> gstreamer-devel at lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >>      
> >
> >
> >
> ------------------------------------------------------------------------------
> > This SF.Net email is sponsored by the Verizon
> Developer Community
> > Take advantage of Verizon's best-in-class app
> development support
> > A streamlined, 14 day to market process makes app
> distribution fast and easy
> > Join now and get one step closer to millions of
> Verizon customers
> > http://p.sf.net/sfu/verizon-dev2dev
> > _______________________________________________
> > gstreamer-devel mailing list
> > gstreamer-devel at lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >    
> 
> 
> ------------------------------------------------------------------------------
> This SF.Net email is sponsored by the Verizon Developer
> Community
> Take advantage of Verizon's best-in-class app development
> support
> A streamlined, 14 day to market process makes app
> distribution fast and easy
> Join now and get one step closer to millions of Verizon
> customers
> http://p.sf.net/sfu/verizon-dev2dev 
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> 


      




More information about the gstreamer-devel mailing list