mov multiple audio

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

mov multiple audio

ivan zoli-2
Hallo, 

I'm trying to record and .mov file with multiple audio tracks.
By now the file produced are playble with QuickTime,
but I hear both the tracks downmixed.
If I try the same pipeline with a .avi file (avimux), for example,
it works. Can anyone help me?

That's a sample of the pipeline I use:

gst-launch -v videotestsrc num-buffers=300 ! \
  video/x-raw-yuv,format=\(fourcc\)I420,width=640,height=480,frametate=\(fraction\)30/1 ! \
  x264enc ! \
  queue name=video \
  audiotestsrc num-buffers=100 blocksize=3200 ! \
  audio/x-raw-int,rate=16000,channels=1,width=16,depth=16 ! \
  queue name=audio \
  audiotestsrc num-buffers=100 wave=9 blocksize=3200 ! \
  audio/x-raw-int,rate=16000,channels=1,width=16,depth=16 ! \
  queue name=audio2 \
  ffmux_mov name=mux ! \
  filesink location=test.mov  \
  video.src ! mux.video_00 \
  audio.src ! mux.audio_00 \
  audio2.src ! mux.audio_01

I suppose that should be possible to set different language for
the two audio streams, in order to be selectable by the player,
but I don't know how.

Thank you

Ivan

------------------------------------------------------------------------------


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mov multiple audio

Ivan Zoli
Hallo,
I'm trying to record and .mov file with multiple audio tracks.
By now the file produced are playble with QuickTime,
but I hear both the tracks downmixed.
If I try the same pipeline with a .avi file (avimux), for example,
it works. Can anyone help me?
That's a sample of the pipeline I use:
gst-launch -v videotestsrc num-buffers=300 ! \
  video/x-raw-yuv,format=\(fourcc\)I420,width=640,height=480,frametate=\(fraction\)30/1
! \
  x264enc ! \
  queue name=video \
  audiotestsrc num-buffers=100 blocksize=3200 ! \
  audio/x-raw-int,rate=16000,channels=1,width=16,depth=16 ! \
  queue name=audio \
  audiotestsrc num-buffers=100 wave=9 blocksize=3200 ! \
  audio/x-raw-int,rate=16000,channels=1,width=16,depth=16 ! \
  queue name=audio2 \
  ffmux_mov name=mux ! \
  filesink location=test.mov  \
  video.src ! mux.video_00 \
  audio.src ! mux.audio_00 \
  audio2.src ! mux.audio_01

I suppose that should be possible to set different language for
the two audio streams, in order to be selectable by the player,
but I don't know how.

Thank you

Ivan

------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mov multiple audio

Marco Ballesio
On Wed, May 19, 2010 at 1:20 PM, Ivan Zoli <[hidden email]> wrote:
> Hallo,
> I'm trying to record and .mov file with multiple audio tracks.
> By now the file produced are playble with QuickTime,
> but I hear both the tracks downmixed.
> If I try the same pipeline with a .avi file (avimux), for example,
> it works. Can anyone help me?

Can you please elaborate what you mean for "it works"? Do you want to
play only one particular track? If it's so, by which means you want to
select the audio track?

Regards

> That's a sample of the pipeline I use:
> gst-launch -v videotestsrc num-buffers=300 ! \
>   video/x-raw-yuv,format=\(fourcc\)I420,width=640,height=480,frametate=\(fraction\)30/1
> ! \
>   x264enc ! \
>   queue name=video \
>   audiotestsrc num-buffers=100 blocksize=3200 ! \
>   audio/x-raw-int,rate=16000,channels=1,width=16,depth=16 ! \
>   queue name=audio \
>   audiotestsrc num-buffers=100 wave=9 blocksize=3200 ! \
>   audio/x-raw-int,rate=16000,channels=1,width=16,depth=16 ! \
>   queue name=audio2 \
>   ffmux_mov name=mux ! \
>   filesink location=test.mov  \
>   video.src ! mux.video_00 \
>   audio.src ! mux.audio_00 \
>   audio2.src ! mux.audio_01
>
> I suppose that should be possible to set different language for
> the two audio streams, in order to be selectable by the player,
> but I don't know how.
>
> Thank you
>
> Ivan
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>

------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mov multiple audio

ivan zoli-2
In reply to this post by Ivan Zoli
>> I'm trying to record and .mov file with multiple audio tracks.
>> By now the file produced are playble with QuickTime,
>> but I hear both the tracks downmixed.
>> If I try the same pipeline with a .avi file (avimux), for example,
>> it works. Can anyone help me?

> Can you please elaborate what you mean for "it works"? Do you want to
> play only one particular track? If it's so, by which means you want to
> select the audio track?

It works mean that with any player it is possible to enter into the
specific player audio menu and select the audio track I wan to listen.
By default it is played the audio track #1, the one connected to pad audio_0
in the gstreamer muxer plugin.

What I have now is a donwmix of the two audio tracks, but
by further analysis seems that QT can't handle a multiple
audio .mov file. I've installed Perian, open the avi file
with QT+Perian and save the file in .mov. Then if I disable
Perian I'm not able to play back the video with QT.
With Perian I can open the produced .mov and select the audio
track I want to hear.

In the 2nd audio track, for tell the truth, I put some data
that I use for sync with other software. It will be perfect
if the muxer (and the demuxer too) can let me add custom
data to the file.
Otherwise 2nd audio track already works with avi file, so it
will be nice to have it with .mov, even if I need Perian.

Thank you.

Ivan

------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mov multiple audio

Ivan Zoli
2010/5/20 ivan zoli <[hidden email]>:
>> I'm trying to record and .mov file with multiple audio tracks.
>> By now the file produced are playble with QuickTime,
>> but I hear both the tracks downmixed.
>> If I try the same pipeline with a .avi file (avimux), for example,
>> it works. Can anyone help me?

> Can you please elaborate what you mean for "it works"? Do you want to
> play only one particular track? If it's so, by which means you want to
> select the audio track?

It works mean that with any player it is possible to enter into the
specific player audio menu and select the audio track I wan to listen.
By default it is played the audio track #1, the one connected to pad audio_0
in the gstreamer muxer plugin.

What I have now is a donwmix of the two audio tracks, but
by further analysis seems that QT can't handle a multiple
audio .mov file. I've installed Perian, open the avi file
with QT+Perian and save the file in .mov. Then if I disable
Perian I'm not able to play back the video with QT.
With Perian I can open the produced .mov and select the audio
track I want to hear.

In the 2nd audio track, for tell the truth, I put some data
that I use for sync with other software. It will be perfect
if the muxer (and the demuxer too) can let me add custom
data to the file.
Otherwise 2nd audio track already works with avi file, so it
will be nice to have it with .mov, even if I need Perian.

Thank you.

Ivan

------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mov multiple audio

Marco Ballesio
On Thu, May 20, 2010 at 4:23 PM, Ivan Zoli <[hidden email]> wrote:

> 2010/5/20 ivan zoli <[hidden email]>:
> It works mean that with any player it is possible to enter into the
> specific player audio menu and select the audio track I wan to listen.
> By default it is played the audio track #1, the one connected to pad audio_0
> in the gstreamer muxer plugin.
>
> What I have now is a donwmix of the two audio tracks, but
> by further analysis seems that QT can't handle a multiple
> audio .mov file. I've installed Perian, open the avi file
> with QT+Perian and save the file in .mov. Then if I disable
> Perian I'm not able to play back the video with QT.
> With Perian I can open the produced .mov and select the audio
> track I want to hear.

So I guess that Perian is handling multiple channels by mixing them,
even though I don't exactly know how multi-language channels are
handled inside ffmux_mov and if any particular atom in mp4 must
declare they must not be fixed.

>
> In the 2nd audio track, for tell the truth, I put some data
> that I use for sync with other software. It will be perfect
> if the muxer (and the demuxer too) can let me add custom
> data to the file.

For a less annoying effect you can use the subtitles channel (aka
"text streams" for qt file format). With GStreamer, you can write the
extra infos as text in an external file, use the subparse element and
mux the data together with the audio/video streams in the final clip.
You application will then need to parse the subtitles to get back the
needed metadata. Unfortunately, it looks like very few muxers are
handling subtitles so far (e.g. Matroska).

To avoid displaying weird infos while playing the movie, you can set
the language in the subtitles file to an exotic value from
http://www.loc.gov/standards/iso639-2/php/code_list.php (e.g.
Klingon).

Regards

> Otherwise 2nd audio track already works with avi file, so it
> will be nice to have it with .mov, even if I need Perian.
>
> Thank you.
>
> Ivan
>
> ------------------------------------------------------------------------------
>
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>

------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: mov multiple audio

Ivan Zoli
In reply to this post by ivan zoli-2
> So I guess that Perian is handling multiple channels by mixing them,
> even though I don't exactly know how multi-language channels are
> handled inside ffmux_mov and if any particular atom in mp4 must
> declare they must not be fixed.

Just to be clear, Perian didn't mix the multiple audio channel,
simply let user select wich to play :)

> For a less annoying effect you can use the subtitles channel (aka
> "text streams" for qt file format). With GStreamer, you can write the
> extra infos as text in an external file, use the subparse element and
> mux the data together with the audio/video streams in the final clip.
> You application will then need to parse the subtitles to get back the
> needed metadata. Unfortunately, it looks like very few muxers are
> handling subtitles so far (e.g. Matroska).

Matroska is a good container and I like it, but unfortunally it is too
easrly for it and many "low level" user can't handle it.
I think the the most easy solution is to write the info on a 3rd file.

Thank you!

------------------------------------------------------------------------------

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel