使用“-sameq”(与源文件相同的量化器)标志时,FFMPEG转换质量糟糕。

12

我正在尝试将 .flv 视频转换为 .ogg 格式。经过一段时间的实验,我发现输出的 ogg 文件质量始终很低。即使使用了 -sameq 标志来使用与输入文件相同的量化器,质量仍然显著下降。

由于我对 ffmpeg 还比较新手,有没有人知道一些能够以最大质量转换视频文件的好选项呢?


我不确定这是否是你所看到的行为的源头,但请再次检查你正在使用的播放软件。我曾经知道VLC的早期版本会根据使用的容器格式给出明显不同的结果。由于ogg并不是最常用的格式,也许你遇到了类似的问题。 - blahdiblah
“-sameq”不表示相同的质量 - http://superuser.com/a/478550/60507 - Konrad Borowski
2个回答

10
据我所知,-sameq可以在buffsize的限制下模拟一定程度的质量。这意味着您需要使用一些额外的设置,主要涉及-buffsize、缓冲区相关的设置等。(但是可能我错了,因为我已经有一年没有使用ffmpeg了。)
或者,如果您需要最佳质量,则可以使用qscale标签,但需要警告您输出的大小将会是原来的3或4倍,取决于视频。使用方法是-qscale [x],其中[x](不带方括号)是输出的质量值,数值越小表示质量越好。 如果您输入了-qscale 0,则表示最佳质量。此外,您可能还想使用-ar(音频频率)和-ab(音频比特率:192k足以获得高清,128k是最常见的)以获得更好的音频质量。
-qscale -ar -ab标签的示例用法:
-i a1.wmv -qscale 0 -ar 44100 -ab 128k -y aOut.wmv

5
请注意,在至少FFMpeg 0.6版本中,“-qscale”参数的取值范围为1(“最佳质量”)到255(“最差质量”),因此,如果有人想要达到上述描述的相同效果,则应使用“-qscale 1”。不知道现在是否有改变,但当前FFMpeg文档中有关此事的说明,请参阅此处 - fredrikekelund

0

不应使用-sameq来转换任何音频文件... 最好的命令行转换音频文件的方法是使用可变比特率,即-qscale:a 1命令。它将形成一个透明的声音质量,最适合大多数发烧友... 尽可能不要将1替换为0,因为其他声音会变得混沌。而混沌的声音就是你在每个糟糕的音频文件中听到的...


此外,您可能还想更改示例格式,其中包括s32、s24和s16命令。这里的示例命令行是“-sample_fmt s32”。 - Jeffrey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接