Save all audio ES in separate wav files

Gstlili ti_mourad at yahoo.fr
Fri Apr 25 10:21:05 PDT 2014


Hi All,

I would like to save each audio ES of a specific incoming RTP program in a
separate wav files.

My stream "dolit.ts" contains one Video ES and two Audio ES:

audio1  ES : 69  (hex 0x45)
audio2  ES : 70  (hex 0x46) 
video   ES : 71  (hex 0x47)

This pipeline worked well with local stream :

gst-launch-0.10 filesrc location=./dolit.ts ! mpegtsdemux name=d .audio_0045
! queue max-size-buffers=0 max-size-time=0 ! filesink location=./AudENG.wav
d.audio_0046 ! queue max-size-buffers=0 max-size-time=0 ! filesink
location=./AudFRA.wav

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Got EOS from element "pipeline0".
Execution ended after 1390837268 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
_____________________________________________________________________________________

Rqu: I used first tsdemux but i received: Internal data flow error...
_____________________________________________________________________________________

But when udp streaming the "dolit.ts" using VLC, the following pipeline
doesn't work :

$ gst-launch-0.10 -v udpsrc port=1234
caps="application/x-rtp,media=(string)video,clock-rate=(int)90000,encoding-name=(string)H264"
! rtpmp2tdepay ! mpegtsdemux name=d .audio_0045 ! queue max-size-buffers=0
max-size-time=0 ! filesink location=./AudENG.wav d.audio_0046 ! queue
max-size-buffers=0 max-size-time=0 ! filesink location=./AudFRA.wav

Setting pipeline to PAUSED ...
/GstPipeline:pipeline0/GstUDPSrc:udpsrc0.GstPad:src: caps =
application/x-rtp, media=(string)video, payload=(int)33,
clock-rate=(int)90000, encoding-name=(string)H264
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: MpegTSClock
/GstPipeline:pipeline0/GstRtpMP2TDepay:rtpmp2tdepay0.GstPad:src: caps =
video/mpegts, packetsize=(int)188, systemstream=(boolean)true
/GstPipeline:pipeline0/GstRtpMP2TDepay:rtpmp2tdepay0.GstPad:sink: caps =
application/x-rtp, media=(string)video, payload=(int)33,
clock-rate=(int)90000, encoding-name=(string)H264
/GstPipeline:pipeline0/GstMpegTSDemux:d.GstPad:sink: caps = video/mpegts,
packetsize=(int)188, systemstream=(boolean)true
/GstPipeline:pipeline0/GstMpegTSDemux:d: pat-info = ((GValueArray*)
0x8a16d20)
/GstPipeline:pipeline0/GstMpegTSDemux:d: pmt-info = ((MpegTsPmtInfo*)
0x8a4b000)
/GstPipeline:pipeline0/GstMpegTSDemux:d: pmt-info = ((MpegTsPmtInfo*)
0x8a4b240)
** (gst-launch-0.10:20004): CRITICAL **: gst_mpeg_descriptor_find: assertion
`desc != NULL' failed
** (gst-launch-0.10:20004): CRITICAL **: gst_mpeg_descriptor_find: assertion
`desc != NULL' failed

I did not find a way to do this 

Please can someone provide any help about this ? 

Thank you in advance




--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Save-all-audio-ES-in-separate-wav-files-tp4666614.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list