如何使用FFMPEG实现最佳的整体FLV质量?

时间:2010-07-07 19:40:57

标签: video ffmpeg flv video-encoding

我希望用最小的文件大小来完成质量最好的FLV。毕竟,这不是每个人的目标吗?如果这些视频有所不同,这些视频将会流式传输。

目前,我的视频不超过320像素,有些是宽屏,因此它们的高度略小于240像素。目前看,转换后的FLV质量很差。

当前命令:

> ffmpeg -i video.mov -ar 22050 -ab 32 -f flv -s 320x240 -aspect 4:3 video.flv

3 个答案:

答案 0 :(得分:10)

默认情况下,flv默认为200Kb,qmax高达30(因为你没有覆盖它),它可能会产生接近它的输出。 您可以通过以下方式解决此问题:

  • 将qmax设置为较低的值,强制质量控制提高birate以满足要求。
  • 使用-vb 400k
  • 提高比特率

在我刚试过的测试视频中,-qmax 10给出了可接受的输出。 使用qmax和qmin设置较低和较高的可接受质量是首选方式。

答案 1 :(得分:7)

我对目前提供的选项没有任何好运 - 大多数选项对我的输入文件没有任何影响,因为输入文件一直产​​生质量差的结果 - 但以下工作确实非常好:

ffmpeg -qscale 4 -i infile.avi outfile.flv

降低qscale值以获得更好的质量,将其增加到更小的文件大小。来自the docs

  

-qscale n其中n是1-31的数字,其中1是最高质量/最大文件大小,31是最低质量/最小文件大小。

在Mac OS X 10.6.8上测试。

答案 2 :(得分:3)

我认为最大化比率质量/尺寸的最佳解决方案是完全废弃ffmpeg的“flv”编码,而是使用H.264。

我通常使用手刹将文件转换为MP4 / AAC,然后仅使用FFMPEG将文件重新转换为FLV容器。

ffmpeg -i input_file.mp4 -vcodec copy -acodec copy -y output_file.flv

手刹还有很多参数,可以在这里找到一些有趣的预设:http://trac.handbrake.fr/wiki/BuiltInPresets