12

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

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

当前命令:

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

3 回答 3

12

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

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

在我刚刚尝试的测试视频中 -qmax 10 给出了可接受的输出。使用 qmax 和 qmin 设置可接受质量的上下限是首选方式。

于 2010-07-07T19:52:41.293 回答
7

到目前为止,我对所提供的选项没有任何运气 - 它们中的大多数对我的输入文件没有影响,这一直产生质量差的结果 - 但以下确实非常有效:

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

减少 qscale 值以获得更好的质量,增加它以获得更小的文件大小。从文档

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

在 Mac OS X 10.6.8 上测试。

于 2012-01-23T15:00:06.340 回答
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

于 2010-07-19T15:41:49.597 回答