[gst-devel] Using gst-launch to convert between video formats on the command line?

Michael R. Head burner at suppressingfire.org
Mon Oct 2 20:32:47 CEST 2006


On Mon, 2006-10-02 at 20:08 +0200, Michal Benes wrote:
> > > > I've got some video files in the matroska format that I would like to
> > > > repack into the avi format. The codecs used in the file are Xvid and and
> > > > AAC, and I'd like to simply reuse the audio and video bitstreams in the
> > > > new file (I don't want to do any transcoding). So far, I've figured out
> > > > how to take the video stream and put it into the avi, like so:
> > > >
> > > > gst-launch-0.10 filesrc location="in.mkv" ! matroskademux ! avimux ! filesink location=out.avi
> > > >
> > > > But the audio channel gets lost. What am I missing?
> 
> > So then I tried that, and the pipeline appeared to hang:
> > $ gst-launch-0.10 filesrc location="in.mkv" ! matroskademux name=d \
> >  d.video_00 ! queue ! video/mpeg, version=4 ! m. d.audio_00 ! queue ! \
> >  m.  avimux name=m ! filesink location=out.avi
> > Setting pipeline to PAUSED ...
> > Pipeline is PREROLLING ...
> 
> Hi Mike,
> 
> 	remuxing without reencoding may be tricky, especially using gst-launch
> because you can do not control in what order is the pipeline linked. 

I see... is there another tool I should consider?

> 	Try to run only one part (audio or video) of the pipe (ommit "d.audio !
> queue ! m." or "d.video ! queue ! m.") To see what part hangs the
> pipeline. Add -v parameter to gst-launch for verbose mode. You can also
> try to add --gst-debug-level=2 parameter. Send us the output of the
> problematic command.

They both seem to hang:
$ gst-launch-0.10 filesrc --gst-debug-level=2 location="in.mkv" ! matroskademux name=d d.audio_00 ! queue !  m.  avimux name=m ! filesink location=out.avi
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:03.590016000  9887 0x8069b58 WARN         matroskademux matroska-demux.c:1710:gst_matroska_demux_parse_info: Unknown entry 0x7ba9 in info header
0:00:03.590342000  9887 0x8069b58 WARN         matroskademux matroska-demux.c:799:gst_matroska_demux_add_stream: Unknown track header entry 0x23314f - ignoring
0:00:03.590506000  9887 0x8069b58 WARN         matroskademux matroska-demux.c:653:gst_matroska_demux_add_stream: Unknown audio track header entry 0x78b5 - ignoring
0:00:03.591024000  9887 0x8069b58 WARN         matroskademux matroska-demux.c:799:gst_matroska_demux_add_stream: Unknown track header entry 0x23314f - ignoring
0:00:03.591215000  9887 0x8069b58 WARN         matroskademux matroska-demux.c:653:gst_matroska_demux_add_stream: Unknown audio track header entry 0x78b5 - ignoring
0:00:03.591563000  9887 0x8069b58 WARN         matroskademux matroska-demux.c:799:gst_matroska_demux_add_stream: Unknown track header entry 0x23314f - ignoring
Caught interrupt -- Pausing pipeline.
Pipeline paused.
WARNING: Element "pipeline0" warns: pipeline interrupted


$ gst-launch-0.10 filesrc --gst-debug-level=2 location="in.mkv" ! matroskademux name=d d.video_00 ! queue !  m.  avimux name=m ! filesink location=out.avi
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
0:00:01.838400000  9998 0x8069b58 WARN         matroskademux matroska-demux.c:1710:gst_matroska_demux_parse_info: Unknown entry 0x7ba9 in info header
0:00:01.838698000  9998 0x8069b58 WARN         matroskademux matroska-demux.c:799:gst_matroska_demux_add_stream: Unknown track header entry 0x23314f - ignoring
0:00:01.838854000  9998 0x8069b58 WARN         matroskademux matroska-demux.c:653:gst_matroska_demux_add_stream: Unknown audio track header entry 0x78b5 - ignoring
0:00:01.839296000  9998 0x8069b58 WARN         matroskademux matroska-demux.c:799:gst_matroska_demux_add_stream: Unknown track header entry 0x23314f - ignoring
0:00:01.839513000  9998 0x8069b58 WARN         matroskademux matroska-demux.c:653:gst_matroska_demux_add_stream: Unknown audio track header entry 0x78b5 - ignoring
0:00:01.839822000  9998 0x8069b58 WARN         matroskademux matroska-demux.c:799:gst_matroska_demux_add_stream: Unknown track header entry 0x23314f - ignoring
Caught interrupt -- Pausing pipeline.
Pipeline paused.
WARNING: Element "pipeline0" warns: pipeline interrupted


> 	Also try to run the demuxing pipeline
> gst-launch-0.10 -v filesrc location="in.mkv" ! matroskademux
> with verbose mode turned on (-v parameter), you will need to stop the
> pipeline manually by ctrl-C This should reveal the real caps of audio
> and video stream. 

$ gst-launch-0.10 -v filesrc location="in.mkv" ! matroskademux
Setting pipeline to PAUSED ...
Pipeline is PREROLLED ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Caught interrupt -- Pausing pipeline.
Pipeline paused.
WARNING: Element "pipeline0" warns: pipeline interrupted
Element "pipeline0" has gone from PLAYING to PAUSED, quitting.
Execution ended after 50631331000 ns.
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
/pipeline0/matroskademux0.video_00: caps = NULL
/pipeline0/matroskademux0.audio_01: caps = NULL
/pipeline0/matroskademux0.audio_00: caps = NULL
Setting pipeline to NULL ...
FREEING pipeline ...


> It could help to put caps filter between the queue and
> muxer (well this video/mpeg, version=4 was only an example, I do not
> know if you really have a file with mpeg 4 video).

Ah, I see. It's an "XVID MPEG-4" stream according to totem and the
nautilus info page.

> 	Michal
> 
> 
> -------------------------------------------------------------------------
> Take Surveys. Earn Cash. Influence the Future of IT
> Join SourceForge.net's Techsay panel and you'll get the chance to share your
> opinions on IT & business topics through brief surveys -- and earn cash
> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> 
-- 
Michael R. Head <burner at suppressingfire.org>
suppressingfire.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20061002/79555922/attachment.pgp>


More information about the gstreamer-devel mailing list