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 |
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 |
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 |
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 |
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 |
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 |
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 |
Free forum by Nabble | Edit this page |