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