Ffmpeg,avconv和sameq

时间:2014-10-13 21:17:56

标签: audio ffmpeg libav avconv quantization

早些时候我写过:

ffmpeg -i input.mp4 -sameq output.mp3

...从而从视频文件接收音频。 Ffmpeg刚刚取出或将音频转换为具有适当质量的mp3。全部归功于密钥: -sameq [使用与源相同的量化器]

现在在Ubuntu而不是ffmpeg,我们有libav和那里(在man for avcomv)我看不到 -sameq 键。好吧,这是一个问题:我现在要做什么?..

我现在需要做些什么才能获得与原版相同质量的转换音频文件?

PS。 -sameq :使用相同的量化器作为源(隐含VBR)。

$ man ffmpeg | col -b > ./man_ffmpeg

this man_ffmpeg is there: http://pastebin.com/qYxz1M1E

FFMPEG(1)
NAME
   ffmpeg - ffmpeg video converter
SYNOPSIS
   ffmpeg [[infile options][-i infile]]... {[outfile options] outfile}...
...
...
...
-sameq
   Use same quantizer as source (implies VBR).
...
...
...
SEE ALSO
   avplay(1), avprobe(1), avserver(1) and the Libav HTML documentation
AUTHORS
   The Libav developers
2014-02-06
FFMPEG(1)

1 个答案:

答案 0 :(得分:3)

你是对的,-sameq选项已被弃用,然后从avconv中删除,原因很多。最重要的是,有不同的量化器,在不同的编解码器之间重新编码时谈论相同的量化器参数毫无意义。

大多数人在重新编码时都在寻找质量,而不是量化器。因此,他们应该使用-qscale n,其中n介于1到31之间,代表从最好到最差的质量。

在某种程度上,如果您已经习惯了-sameq选项,那么您已经成为了应该最好用于测试目的的工具的受害者。它没有产生任何合理的东西,并且可以通过尝试放置相同的元数据来实现。进入不支持它的容器,或做"复制流"成为一种古老的文件格式(导致AVI与vorbis音频之类的东西,甚至无法播放)。你可以一起破解所有这些东西,但在视频编码工具中没有它。

我建议如果你要对不同的容器和编解码器进行很多压力测试,那么你安装ffmpeg,它有更多的工具允许创建frankensteins。如果您为实际保留您生成或分发文件的目的而重新编码,那么您可以创建另一个问题来解释您的情况,以及您期望的结果。

简而言之"如何使用完全相同的量化器创建重新编码过程?"只能用" No"回答。