muxing streams

classic Classic list List threaded Threaded
10 messages Options
Reply | Threaded
Open this post in threaded view
|

muxing streams

Henrique Ferreiro García-2
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 <[hidden email]>


-------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: muxing streams

ved kpl
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
<[hidden email]> 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 <[hidden email]>
>
>
> -------------------------------------------------------------------------
> 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
> [hidden email]
> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: muxing streams

Felipe Contreras
In reply to this post by Henrique Ferreiro García-2
On Tue, Sep 30, 2008 at 12:41 PM, Henrique Ferreiro García
<[hidden email]> 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:

Probably because the caps are lost. You need the fourcc information,
codecdata, and so on. Also the timestamps in every buffer.

Since you are using a filesrc none of that information is generated,
you could use /dev/random as well.

--
Felipe Contreras
-------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: muxing streams

Henrique Ferreiro García-2
> Probably because the caps are lost. You need the fourcc information,
> codecdata, and so on. Also the timestamps in every buffer.
>
> Since you are using a filesrc none of that information is generated,
> you could use /dev/random as well.

Isn't that information available in the file's headers? At least, the
command "file" knows something about that files.

--
Henrique Ferreiro García <[hidden email]>


-------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: muxing streams

Thiago Sousa Santos-2


On Wed, Oct 1, 2008 at 1:14 PM, Henrique Ferreiro García <[hidden email]> wrote:
> Probably because the caps are lost. You need the fourcc information,
> codecdata, and so on. Also the timestamps in every buffer.
>
> Since you are using a filesrc none of that information is generated,
> you could use /dev/random as well.

Isn't that information available in the file's headers? At least, the
command "file" knows something about that files.

filesrc function is to read data from files, so it only understands bytes. There is the 'typefind' element that tries to discover what media type is passing through him. Perhaps adding it after filesrc might help you.



--
Henrique Ferreiro García <[hidden email]>


-------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



--
Thiago Sousa Santos

Embedded Systems and Pervasive Computing Lab (Embedded)
Center of Electrical Engineering and Informatics (CEEI)
Federal University of Campina Grande (UFCG)

-------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: muxing streams

Henrique Ferreiro García-2
In reply to this post by ved kpl
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
> <[hidden email]> 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 <[hidden email]>
> >
> >
> > -------------------------------------------------------------------------
> > 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
> > [hidden email]
> > 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
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
--
Henrique Ferreiro García <[hidden email]>


-------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: muxing streams

Mark Nauwelaerts-2

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
>> <[hidden email]> 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 <[hidden email]>
>>>
>>>
>>> -------------------------------------------------------------------------
>>> 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
>>> [hidden email]
>>> 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
>> [hidden email]
>> 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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: muxing streams

Henrique Ferreiro García-2
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
> >> <[hidden email]> 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 <[hidden email]>
> >>>
> >>>
> >>> -------------------------------------------------------------------------
> >>> 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
> >>> [hidden email]
> >>> 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
> >> [hidden email]
> >> 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
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
--
Henrique Ferreiro García <[hidden email]>


-------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: muxing streams

Irfan Shaikh-2
RE: [gst-devel] muxing streams

gst-launch filesrc location=filemkv ! decodebin name=d avimux name=mux ! filesink location=file.avi d. ! queue ! videoscale ! ffenc_msmpeg4 ! queue ! mux. d. ! queue ! ffenc_mp2 ! mp3parse ! queue ! mux.


If these encoders do not wrk try some other encoders.


-----Original Message-----
From: Henrique Ferreiro García [[hidden email]]
Sent: Mon 10/6/2008 2:08 PM
To: Discussion of the development of GStreamer
Subject: Re: [gst-devel] muxing streams

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
> >> <[hidden email]> 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 <[hidden email]>
> >>>
> >>>
> >>> -------------------------------------------------------------------------
> >>> 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
> >>> [hidden email]
> >>> 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
> >> [hidden email]
> >> 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
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
--
Henrique Ferreiro García <[hidden email]>


-------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

This message (including any attachment) is confidential and may be legally privileged. Access to this message by anyone other than the intended recipient(s) listed above is unauthorized. If you are not the intended recipient you are hereby notified that any disclosure, copying, or distribution of the message, or any action taken or omission of action by you in reliance upon it, is prohibited and may be unlawful. Please immediately notify the sender by reply e-mail and permanently delete all copies of the message if you have received this message in error.


-------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: muxing streams

Henrique Ferreiro García-2
I don't want to reencode the streams, just change its container.

O Lun, 06-10-2008 ás 15:06 +0530, Irfan Shaikh escribiu:

> gst-launch filesrc location=filemkv ! decodebin name=d avimux
> name=mux ! filesink location=file.avi d. ! queue ! videoscale !
> ffenc_msmpeg4 ! queue ! mux. d. ! queue ! ffenc_mp2 ! mp3parse !
> queue ! mux.
>
>
> If these encoders do not wrk try some other encoders.
>
>
> -----Original Message-----
> From: Henrique Ferreiro García [mailto:[hidden email]]
> Sent: Mon 10/6/2008 2:08 PM
> To: Discussion of the development of GStreamer
> Subject: Re: [gst-devel] muxing streams
>
> 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
> > >> <[hidden email]> 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 <[hidden email]>
> > >>>
> > >>>
> > >>>
> -------------------------------------------------------------------------
> > >>> 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
> > >>> [hidden email]
> > >>> 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
> > >> [hidden email]
> > >> 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
> > [hidden email]
> > https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
> --
> Henrique Ferreiro García <[hidden email]>
>
>
> -------------------------------------------------------------------------
> 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
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
>
>
> This message (including any attachment) is confidential and may be
> legally privileged. Access to this message by anyone other than the
> intended recipient(s) listed above is unauthorized. If you are not the
> intended recipient you are hereby notified that any disclosure,
> copying, or distribution of the message, or any action taken or
> omission of action by you in reliance upon it, is prohibited and may
> be unlawful. Please immediately notify the sender by reply e-mail and
> permanently delete all copies of the message if you have received this
> message in error.
>
> -------------------------------------------------------------------------
> 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 [hidden email] https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
--
Henrique Ferreiro García <[hidden email]>


-------------------------------------------------------------------------
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
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel