首页 > 解决方案 > 将无缝播放信息添加到 AAC

问题描述

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

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

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

我找不到通过 ffmpeg(ffmpeg AAC 编码器文档)添加它的方法,我可能错过了什么吗?

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

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

我希望你们中的一些人可以帮助我。谢谢你。

标签: javaaudioffmpegaac

解决方案


我这里的信息有误!

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

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

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

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

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


推荐阅读