我有一个MKV文件,音频中有间隙。也就是说,MKV音频轨道时间戳中存在间隙。根据“ ffmpeg”,AC3音频长度为802秒,但是将音频导出到WAV时,结果文件长度为801'53秒。也就是说,“导出”的音频更短。
通过
对问题进行分类ffmpeg -i INPUT.mkv -af ashowinfo -map 0:2 -y -frames:a XXXX -f alaw /dev/null
我可以确认长度差异与原始音频帧的时间戳间隙一致。有一些丢失的音频帧。我猜这些已经被玩家的沉默所取代。
我用来导出音频的命令是:
ffmpeg -i INPUT.mkv -map 0:1 -ac 2 OUTPUT.wav
我的问题是:如何指示FFMPEG保留原始音频中的间隙(零(静音)填充)? WAV文件的持续时间应与原始AC3音频相同。
鉴于我当前的工作流程,我宁愿不要将原始时间戳记保留在输出文件中,而是生成带有(微小)静默的WAV。如果没有其他选择,我可以考虑保留时间戳,但这在我的工作流程中可能会很痛苦。
建议?帮助吗?
非常感谢!
答案 0 :(得分:1)
使用
ffmpeg -i INPUT.mkv -map 0:1 -af aresample=async=1 -ac 2 OUTPUT.wav
aresample过滤器将在间隔内插入无声样本。