FFMPEG - 从 WAV 转换为 AAC 会改变音频文件的长度并导致视频不同步

FFMPEG - 从 WAV 转换为 AAC 会改变音频文件的长度并导致视频不同步

免责声明:我是计算机科学、编码等方面的完全新手。

TLDR:使用 libfdk_aac 将 wav 转换为 aac 会生成较短的文件,而使用 aac 则会生成较长的文件。如何保留原始 wav 文件的长度?

我使用以下方法从 mkv 文件中提取了两个音频源: ffmpeg -i 视频.mkv -map a:0 音频1.wav -map a:1 音频2.wav

使用以下方法将 mkv 文件转换为没有音频的 mp4: ffmpeg -i video.mkv -c:v copy -an video.mp4(不确定复制在这里是否合适,但这不是重点)。

我编辑了提取的音频文件,将它们导出为单个 wav 文件,此时新的音频文件、mkv 文件和 mp4 文件的长度都相同。

我尝试使用以下方法合并新的音频文件和 mp4 文件:ffmpeg -i 视频.mp4 -i newaudio.wav -c:v 复制 -c:a libfdk_aac newvideo.mp4

生成的视频中的音频延迟。我尝试使用更具体的映射和定义的比特率来执行此步骤,但没有成功。

然后我尝试先将 wav 文件转换为 acc,这似乎是问题所在。使用 libfdk_aac 后,aac 文件比 wav 文件短,而使用默认 aac 后,文件会更长。

如何确保转换后的 aac 文件与输入的 wav 文件长度相同?

谢谢 :)

相关内容