【问题标题】:Multiple audio streams in a MPEG-4 fileMPEG-4 文件中的多个音频流
【发布时间】:2009-05-26 18:52:30
【问题描述】:

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

是否可以创建一个包含非同步音频流的 MPEG-4 文件,即音频轨道在一个接一个地播放?

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

提前致谢!

【问题讨论】:

    标签: audio file-format mp4 vlc mpeg


    【解决方案1】:

    我可以想到两种方法,但两者都会有问题。

    您可以将所有音频流连接到 MP4 文件中的一个音轨中。由于某些明显的原因,这并不理想。一方面,这不是您所要求的。

    您也可以只将曲目存储为同步音频流,但设置时间信息,使第二个曲目的第一个样本在第一个曲目播放完毕之前不会开始播放,等等。

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

    【讨论】:

    • 感谢您的回复!第一种方法可行,但正如您所说,这并不理想。我会失去跳到特定轨道的能力,等等​​。但也许章节可能会起作用(尽管我怀疑 VLC 不支持它们)。第二种方法不起作用,至少对 VLC 不起作用。这将是更清洁的解决方案,但 VLC 仍将它们识别为必须手动选择的音频流。也许,我必须为 VLC 编写一个插件来让它播放我的文件......
    【解决方案2】:

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

    MP4Box -new -cat track1.m4a -cat track2.m4a -chap chapters.txt 专辑.m4a

    chapters.txt 看起来像这样:

    第 1 章=00:00:00.00 CHAPTER1NAME=曲目 1 第 2 章=00:03:40.00 CHAPTER2NAME=曲目 2

    但这只是一个技巧。 我正在寻找的解决方案应该将曲目保留为单独的流。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-14
      • 1970-01-01
      • 2017-04-07
      • 1970-01-01
      • 2016-05-16
      相关资源
      最近更新 更多