2009-05-26 64 views
2

MPEG-4文件格式允许多个流出现在文件中。 这对于包含多种语言音频的视频非常有用。在这种视频的情况下,音频流与视频同步。MPEG-4文件中的多个音频流

是否有可能创建一个MPEG-4文件,其中包含不同步的音频流,即音轨是否一个接一个播放?

我想要设计一个包含音乐专辑的MPEG-4文件,因此媒体播放器(如VLC)一个接一个地播放曲目至关重要。 当我使用MP4Box(来自GPAC框架)时,生成的文件被VLC识别为具有同步的音频流。哪个盒子的MPEG-4文件格式对此负责?或者我如何告诉VLC这些音频流不同步?

在此先感谢!

回答

1

我可以想出两种方法可以做到这一点,并且两者都有些问题。

您可以将所有音频流连接成MP4文件中的一个音轨。由于一些显而易见的原因,这不会很理想。首先,这不完全是你要求的。

你也只是存储的曲目作为同步音频流,但以这样的方式,第二轨道的第一样品不会开始播放,直到第一首曲目演奏完毕设定的定时信息等

我不知道任何可以做到这一点的工具,但文件格式将支持这种方案。由于将音频存储在MP4文件中是一种不寻常的方式,因此我希望玩家也可以在这方面遇到问题。

+0

感谢您的回复! 第一种方法可行,但正如你所说,这并不理想。我会失去跳到特定曲目的能力,等等​​。但也许章节可能工作(虽然我怀疑VLC不支持它们)。 第二种方式不起作用,至少不适用于VLC。这将是更清晰的解决方案,但VLC仍将它们视为必须手动选择的音频流。 也许,我将不得不编写VLC的插件来让它播放我的文件... – 2009-05-26 21:34:49

0

连接所有流将可以工作,并且可以通过添加章节来解决各个轨道。它至少在VLC中起作用。

 
    MP4Box -new -cat track1.m4a -cat track2.m4a -chap chapters.txt album.m4a 

chapters.txt会是这个样子:

 
    CHAPTER1=00:00:00.00 
    CHAPTER1NAME=Track 1 
    CHAPTER2=00:03:40.00 
    CHAPTER2NAME=Track 2 

但这仅仅是一个黑客。 我正在寻找的解决方案应该将曲目保存为单独的流。