MPEG-4 文件格式允许在一个文件中存在多个流。这对于包含多语言音频的视频很有用。在这种视频的情况下,音频流与视频同步。
是否可以创建一个包含去同步音频流的 MPEG-4 文件,即音轨一个接一个地播放?
我想设计一个包含音乐专辑的 MPEG-4 文件,因此VLC等媒体播放器依次播放曲目至关重要。当我使用 MP4Box(来自GPAC框架)时,VLC 将生成的文件识别为具有同步的音频流。MPEG-4 文件格式的哪个框对此负责?或者我怎么能告诉 VLC 这些音频流不同步?
提前致谢!
我可以想出两种方法来做到这一点,而且都会有一些问题。
您可以将所有音频流连接到 MP4 文件中的一个音轨中。由于某些明显的原因,这并不理想。一方面,这并不完全符合您的要求。
您也可以将曲目存储为同步的音频流,但设置时间信息,使第二个曲目的第一个样本在第一个曲目播放完毕之前不会开始播放,等等。
我不知道有任何工具可以做到这一点,但文件格式将支持这种方案。由于将音频存储在 MP4 文件中是一种不寻常的方式,因此我希望玩家也会遇到此问题。
连接所有流将起作用,并且可以通过添加章节来解决各个轨道。它至少适用于 VLC。
MP4Box -new -cat track1.m4a -cat track2.m4a -chap chapters.txt album.m4a
chapters.txt
看起来像这样:
第 1 章=00:00:00.00 CHAPTER1NAME=曲目 1 第 2 章=00:03:40.00 CHAPTER2NAME=曲目 2
但这只是一个技巧。我正在寻找的解决方案应该将曲目保留为单独的流。