java - 将无缝播放信息添加到 AAC

标签 java audio ffmpeg aac

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

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

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

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

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

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

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

最佳答案

我这里的信息有误!

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

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

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

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

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

关于java - 将无缝播放信息添加到 AAC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51282789/

相关文章:

java - java中N个列表的并集

java - 无法通过按位运算获得长整型值

iphone - 确定 aurioTouch 示例应用程序中哪些频率对应于 x 轴

batch-file - ffmpeg 与输出文件相同的输入(需要临时文件但如何?)

windows - FFmpeg 在 "-to"指定的时间后继续处理

java流逗号分隔

JAVA线程并发

php - 需要将工作 php 代码转换为函数(随机合并 mp3 文件)

ios - 音频播放有问题

python - 在 python 中启动和停止 ffmpeg 管道