ffmpeg命令行用多语言m2ts文件操作音轨

时间:2016-10-08 12:29:07

标签: ffmpeg equalizer

我喜欢用一些ffmpeg命令行操作m2ts文件中的音轨。

简而言之,我需要操作ID为2的音频轨道,该文件为AC3格式(杜比数字5.1或2.0)。

修改是:

  • 添加均衡器滤波器:60 Hz + 3dB,80Hz + 2 dB,100 Hz +1 dB
  • 增加音量:+2 dB

m2ts文件是多语言的,因此我需要更改特定的ID轨道。

AC3文件是有损的,我希望最终的音频修改不会像重新保存jpeg文件时那样添加更多压缩,例如Photoshop。 在无损文件(wav或flac)上我确信我可以保存并重新保存而不会降低质量,但在AC3上我不确定。

有人可以发布命令行来做而不会损失质量吗?

1 个答案:

答案 0 :(得分:0)

不,因为AC3是有损耗的,并且每个解码,修改,编码循环都有松散的质量。

您可以通过-acodec副本防止其他流中的质量损失,但我想您已经知道了。但不是在那个,你正在修改。

/编辑:顺便说一下:你本来要进行的修改已经包含了质量损失。

但是,如果需要,可以像这样保存原始流:-map 0:2 -map 0:2然后更改一个并为该流的另一个实例设置-acodec副本。因此,如果您意识到,您必须再次执行此操作,则可以使用已修改的文件,并且不必为此目的保留原始文件,但仍保留原始流。

或者您提取流以修改并将修改后的版本保存在单独的音频文件中,并使用适当的参数调用您的电影播放器​​以从该外部文件中获取音频。