0

我需要一种非常精确的方法来加速音频。我正在为 OpenDCP(一种用于制作数字电影包的开源工具)准备电影,以便在影院放映。我的源文件通常是 23.976fps 和 48.000kHz 音频的 quicktime MOV 文件。有时我的音频是单独的 48.000kHz WAV。(FWIW,源的视频帧率实际上是每秒24/100.1帧,是一个重复的小数。)

DCP 标准基于 24.000fps 和 48.000kHz 程序,因此需要加快源的音频和视频。图像处理工作流程本质上涉及将 MOV 转换为 TIF 序列,每帧帧,然后假定为 24.000fps,因此我不必参与 QT 视频媒体处理程序的内部。

但事实证明,加快音频匹配速度是很困难的。大多数音频程序无法获得与重新定时的图像帧对齐的音频样本数。Audacity 速度增加 0.1% 会导致错误的样本数量。我发现唯一可行的方法是使用 Apple Cinema Tools 使 23.976fps/48.000kHz MOV 符合 24.000fps/48.048kHz(通过更改 Quicktime 标头来实现),然后使用 Quicktime Player 从该文件在 48.000kHz,重新采样。这是帧精确的。

所以我的问题是:ffmpeg 或 sox 中是否有设置可以精确地加速 MOV 或 WAV 或 AIFF 中的音频?我想要一个跨平台的解决方案,所以我不依赖Cinema Tools,它只有MacOS。

我知道这是很多背景。随时提出澄清问题!

4

1 回答 1

0
sox input-file output-file speed 1.001001001001001

其中文件可以是 WAV 或 AIFF。Sox 在内部计算出小数点实际上是 1000/999,因此时间调整是 100% 准确的(并且重采样质量很高)。走另一条路当然是

sox input-file output-file speed 0.999

FFmpeg 也可以按时间准确地做到这一点,但它的重采样器存在一些质量问题。1.1 版可以使用 sox 重采样器(请参见此处: http: //ffmpeg.org/trac/ffmpeg/wiki/FFmpeg%20and%20the%20SoX%20Resampler),但它可能最简单的就是使用 sox。

于 2013-03-06T11:19:25.483 回答