[gst-devel] Convert mp4 to mpeg2 transport stream using qtdemux & mpegtsmux
Raymond Tam
rtam at 2wire.com
Sat Mar 14 23:38:22 CET 2009
Thanks Edward. But it still doesn't quite work.
If I do this (with properties added):
gst-launch filesrc location=input_video.mp4 ! qtdemux name=demux demux.video_00 ! queue ! mpegtsmux ! filesink location=output_video.mpg demux.audio_00 ! queue ! mpegtsmux
then I get this error in qtdemux:
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstQTDemux:demux: GStreamer encountered a general stream error.
Additional debug info:
/home/rtam/depot/mp/avstreaming/libs/gst-plugins-good-0.10.8/gst/qtdemux/qtdemux.c(1842): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstQTDemux:demux:
streaming stopped, reason error
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
FREEING pipeline ...
Then I thought may be I need to put "filesink" also for the audio, so I try this:
gst-launch filesrc location=input_video.mp4 ! qtdemux name=demux demux.video_00 ! queue ! mpegtsmux ! filesink location=output_video.mpg demux.audio_00 ! queue ! mpegtsmux ! filesink location=output_video.mpg
but the resulting file (output_video.mpg) has only audio when played-back with VLC.
How can I get "mpegtsmux" to mux properly?
Thanks,
Raymond
-----Original Message-----
Date: Sat, 14 Mar 2009 09:54:37 +0100
From: Edward Hervey <bilboed at gmail.com>
Subject: Re: [gst-devel] Convert mp4 to mpeg2 transport stream using
qtdemux & mpegtsmux
To: Discussion of the development of GStreamer
<gstreamer-devel at lists.sourceforge.net>
Message-ID: <1237020877.2539.15.camel at putamadre>
Content-Type: text/plain
Hi,
You need to creates links for both your streams, ergo something like
this (without properties for understanding):
filesrc ! qtdemux name=demux demux.video_00 ! queue ! mpegtsmux !
filesink demux.audio_00 ! queue ! mpegtsmux
Edward
On Fri, 2009-03-13 at 15:15 -0700, Raymond Tam wrote:
> Hi all,
>
> I'm trying to convert a mp4 transport stream file (video: H264, audio: AAC) to mpeg-2 transport stream file.
>
>
> If I use the following pipeline:
>
> gst-launch filesrc location=input_video.mp4 ! qtdemux ! mpegtsmux m2ts-mode=FALSE ! filesink location=output_video.mpg
>
> then the output file contains audio only.
>
>
> As an experiment, I then try this pipeline:
>
> gst-launch filesrc location=input_video.mp4 ! qtdemux name=demux demux.video_00 ! mpegtsmux m2ts-mode=FALSE ! filesink location=output_video.mpg
>
> and the output file contains video only. Using VLC player, I can playback this output file without problem, but of course there's no audio.
>
>
> Can someone please tell me what would be the right pipeline to construct in order to properly perform the conversion?
>
> Thanks in advance.
>
> -Raymond
More information about the gstreamer-devel
mailing list