[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