[gst-devel] muxing streams

Henrique Ferreiro García henrique.ferreiro at gmail.com
Mon Oct 6 10:38:56 CEST 2008


The whole story is that I tried with the original file like this:

$ gst-launch-0.10 filesrc location=file.mkv ! matroskademux name=d
d.video_00 ! queue ! m.video_00 d.audio_00 ! m.audio_00 avimux name=m !
filesink location=file.avi

but it gets stuck with this output:

Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...

So I tried demuxing it first using:

$ gst-launch-0.10 filesrc location=file.mkv ! matroskademux name=d
d.video_00 ! queue ! filesink location=mkv.0 d.audio_00 ! filesink
location=mkv.1

which also gets stuck without putting a queue element between the audio
output and the filesink.

But then I checked that the video stream extracted seemed to be
corrupted because it wasn't recognised by the file command and it is
different from the output produced by mkvextract whose output is
recognised by file.

Should I file bug reports for theses issues?

O Dom, 05-10-2008 ás 21:43 +0200, Mark Nauwelaerts escribiu:
> Most likely the problem below is that avimux refuses the caps because they do 
> not provide width and height, which are not parsed from the stream and put in 
> the caps by h264parse.
> (see also http://bugzilla.gnome.org/show_bug.cgi?id=530513)
> 
> Besides this, codec_data is not provided either, which may not prevent muxing 
> but likely causes problems further down when trying to play.  Having no 
> codec_data on the input caps also makes h264parse believe the input is 
> bytestream format, which it may not be as it extracted from a framed/packetised 
> source.  Bottom line; this approach is (presently) not quite recommended.
> 
> Mark.
> 
> Henrique Ferreiro García wrote:
> > I changed the pipeline to:
> > 
> > gst-launch-0.10 filesrc location=mkv.0 ! h264parse ! queue ! mux.video_0
> > avimux name=mux ! filesink location=house.avi filesrc location=mkv.1 !
> > mux.audio_0 --gst-debug=2
> > 
> > and this was the result:
> > 
> > Setting pipeline to PAUSED ...
> > Pipeline is PREROLLING ...
> > 0:00:00.052419476 11389       0x776610 WARN                avimux
> > gstavimux.c:614:gst_avi_mux_vidsink_set_caps:<mux> refused caps
> > video/x-h264
> > 0:00:00.075471765 11389       0x797770 WARN               basesrc
> > gstbasesrc.c:2240:gst_base_src_loop:<filesrc0> error: Internal data flow
> > error.
> > 0:00:00.075544262 11389       0x797770 WARN               basesrc
> > gstbasesrc.c:2240:gst_base_src_loop:<filesrc0> error: streaming task
> > paused, reason not-negotiated (-4)
> > ERROR: from element /pipeline0/filesrc0: Internal data flow error.
> > Additional debug info:
> > gstbasesrc.c(2240): gst_base_src_loop (): /pipeline0/filesrc0:
> > streaming task paused, reason not-negotiated (-4)
> > ERROR: pipeline doesn't want to preroll.
> > Setting pipeline to NULL ...
> > FREEING pipeline ..
> > 
> > O Mar, 30-09-2008 ás 18:04 +0530, ved kpl escribiu:
> >> Hi,
> >>
> >> You probably need the elementary stream parser elements after the filesrc.
> >> The muxer is unware of the data format that is getting.
> >>
> >> Ved
> >>
> >> On Tue, Sep 30, 2008 at 3:11 PM, Henrique Ferreiro García
> >> <henrique.ferreiro at gmail.com> wrote:
> >>> Hi all!
> >>>
> >>> I have extracted the video and audio streams from a matroska file
> >>> getting:
> >>>
> >>> mkv.0: JVT NAL sequence, H.264 video @ L 31
> >>> mkv.1: ATSC A/52 aka AC-3 aka Dolby Digital stream, 48 kHz,, complete
> >>> main (CM) 3 front/2 rear, LFE on,, 448 kbit/s reserved Dolby Surround
> >>> mode
> >>>
> >>> Afterwards, I have run the following:
> >>>
> >>> gst-launch-0.10 filesrc location=mkv.0 ! queue ! mux.video_0 avimux
> >>> name=mux ! queue ! filesink location=house.avi filesrc location=mkv.1 !
> >>> queue ! mux.audio_0
> >>>
> >>> But the end result is a unplayable file. This is the output from
> >>> mplayer:
> >>>
> >>> AVI file format detected.
> >>> [aviheader] Video stream found, -vid 0
> >>> [aviheader] Audio stream found, -aid 1
> >>> Detected NON-INTERLEAVED AVI file format.
> >>> VIDEO:  []  0x0  0bpp    nan fps  -17179870.0 kbps (-2097152.0 kbyte/s)
> >>> FPS not specified in the header or invalid, use the -fps option.
> >>> ==========================================================================
> >>> Forced audio codec: mad
> >>> Opening audio decoder: [pcm] Uncompressed PCM audio decoder
> >>> Unknown/missing audio format -> no sound
> >>> ADecoder init failed :(
> >>> Cannot find codec for audio format 0x0.
> >>> Read DOCS/HTML/en/codecs.html!
> >>> Audio: no sound
> >>> Video: no video
> >>>
> >>> Am I doing something wrong?
> >>>
> >>> --
> >>> Henrique Ferreiro García <henrique.ferreiro at gmail.com>
> >>>
> >>>
> >>> -------------------------------------------------------------------------
> >>> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> >>> Build the coolest Linux based applications with Moblin SDK & win great prizes
> >>> Grand prize is a trip for two to an Open Source event anywhere in the world
> >>> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> >>> _______________________________________________
> >>> gstreamer-devel mailing list
> >>> gstreamer-devel at lists.sourceforge.net
> >>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> >>>
> >> -------------------------------------------------------------------------
> >> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> >> Build the coolest Linux based applications with Moblin SDK & win great prizes
> >> Grand prize is a trip for two to an Open Source event anywhere in the world
> >> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> >> _______________________________________________
> >> gstreamer-devel mailing list
> >> gstreamer-devel at lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> 
> -------------------------------------------------------------------------
> This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
> Build the coolest Linux based applications with Moblin SDK & win great prizes
> Grand prize is a trip for two to an Open Source event anywhere in the world
> http://moblin-contest.org/redirect.php?banner_id=100&url=/
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
-- 
Henrique Ferreiro García <henrique.ferreiro at gmail.com>





More information about the gstreamer-devel mailing list