【问题标题】:Adding Gapless Playback information to AAC将无缝播放信息添加到 AAC
【发布时间】:2018-12-19 08:03:52
【问题描述】:

我目前正在尝试开发视频/音频编码管道。 我的目标是对包含 h264 视频轨道和 AAC 音频轨道的 mp4 文件进行编码。这些文件应该一个接一个地播放,中间没有任何间隙。

目前我正在使用 ffmpeg 转换视频。 不幸的是,我的输入文件缺少无间隙播放元数据,这是 AAC 曲目的无间隙播放所必需的。

事实上,我正在寻找一种方法来添加 iTunSMPB udta 评论,因为 Exoplayer 需要它。 (详见解析器:GaplessInfoHolder.java

我找不到通过 ffmpeg (ffmpeg AAC encoder doc) 添加它的方法,我可能错过了什么吗?

即使Wikipedia 也只列出了两个应该能够做到这一点的转换器:Nero Digital 和 Itunes。但是这些信息可能已经过时了。

你们中有人知道可以将此元数据添加到 mp4 文件的 java 库或 (linux) 命令吗?

我希望你们中的一些人能够帮助我。 谢谢。

【问题讨论】:

  • ffmpeg 可以通过-metadata:s:a gapless_playback=X 在轨道的 udta 中写入一个 pgap,其中 X 是一个 8 位值。不知道有效范围是多少。

标签: java audio ffmpeg aac


【解决方案1】:

我这里的信息有误!

这是我最近几天学到的,以防有人偶然发现此条目:

有两种不同的方法可以将无间隙信息保存在 aac 轨道中。我上面提到的一个是来自 iTunes 转换器的旧处理。这后来在 ISO 标准中(重新)定义,这将在 edts + sgpd 原子中保存无间隙信息。

要使用不同的 AAC 数据进行测试,您可以使用 fdkaac

ffmpeg 的默认 aac 编码器也会自动添加 ISO 标准原子。

希望这些信息对任何人都有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-09
    • 2016-09-24
    • 2015-10-30
    • 2017-02-04
    相关资源
    最近更新 更多