Unable to handle audio in MP4 (H264 + EC3)

pablorl pabloxrl at gmail.com
Fri Jun 28 07:08:39 PDT 2013


Hi guys,

I'm trying to build a pipeline in order to be able to reproduce video and
audio from a MP4 file at the same time. My next goal is to stream the audio
via UDP and visualize the video, but I'm having troubles with the formats, I
presume, because of the audio and my lack of experience with Gstreamer.

So far, I'm using 2 MP4 files for my testing purposes:

-
http://www.auby.no/files/video_tests/h264_720p_mp_3.1_3mbps_aac_shrinkage.mp4

- Second file is a h264 + .ec3 (.MP4) file that I created from 2 separate
files, and now I need to process in the way I described before.

My pipeline looks like: 

/gst-launch-0.10 filesrc location=input.mp4 ! qtdemux name=demux \ 
demux.video_00 ! queue ! decodebin ! ffmpegcolorspace ! videoscale !
autovideosink \
demux. ! queue ! faad ! audioconvert ! audioresample ! autoaudiosink/

And with the first file works like a charm, video and audio are well
synchronized.

However, with the second one something strange happens. The image stands
still, I can't hear any audio and gst-launch is not giving me any hint.

If I try to split the pipelines this way:

Audio:

/gst-launch-0.10 filesrc location=input.mp4 ! qtdemux name=demux \ demux. !
queue ! faad ! audioconvert ! audioresample ! alsasink
/
Video:

/gst-launch-0.10 filesrc location=video2.mp4 ! qtdemux name=demux 
demux.video_00 ! decodebin ! ffmpegcolorspace ! videoscale ! autovideosink
/
For file number 1, video and audio work perfectly. However, for file number
2, only video works and audio outputs the following:

/Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstQTDemux:demux: GStreamer
encountered a general stream error.
Additional debug info:
qtdemux.c(3891): gst_qtdemux_loop ():
/GstPipeline:pipeline0/GstQTDemux:demux:
streaming stopped, reason not-linked
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline .../

Furthermore, when I try to typefind the files they give me the same output:

/video1.mp4 - video/quicktime, variant=(string)iso/
/video2.mp4 - video/quicktime, variant=(string)iso/



So could somebody shed light over this issue? Looks like is related with
.ec3 audio format, but my skills with Gstreamer don't arrive further.







--
View this message in context: http://gstreamer-devel.966125.n4.nabble.com/Unable-to-handle-audio-in-MP4-H264-EC3-tp4660796.html
Sent from the GStreamer-devel mailing list archive at Nabble.com.


More information about the gstreamer-devel mailing list