我希望以最小的文件大小完成质量最好的 FLV。毕竟,这不是每个人的目标吗?如果这有什么不同,这些视频将被流式传输。
目前,我的视频不超过 320 像素,有些是宽屏的,所以它们的高度略小于 240 像素。就目前而言,转换后的 FLV 的质量很差。
当前命令:
> ffmpeg -i video.mov -ar 22050 -ab 32 -f flv -s 320x240 -aspect 4:3 video.flv
我希望以最小的文件大小完成质量最好的 FLV。毕竟,这不是每个人的目标吗?如果这有什么不同,这些视频将被流式传输。
目前,我的视频不超过 320 像素,有些是宽屏的,所以它们的高度略小于 240 像素。就目前而言,转换后的 FLV 的质量很差。
当前命令:
> ffmpeg -i video.mov -ar 22050 -ab 32 -f flv -s 320x240 -aspect 4:3 video.flv
默认情况下,flv 默认为 200Kb,并且 qmax 高达 30(因为您没有覆盖它)它可能会在附近产生输出。您可以通过以下任一方式解决此问题:
在我刚刚尝试的测试视频中 -qmax 10 给出了可接受的输出。使用 qmax 和 qmin 设置可接受质量的上下限是首选方式。
到目前为止,我对所提供的选项没有任何运气 - 它们中的大多数对我的输入文件没有影响,这一直产生质量差的结果 - 但以下确实非常有效:
ffmpeg -qscale 4 -i infile.avi outfile.flv
减少 qscale 值以获得更好的质量,增加它以获得更小的文件大小。从文档:
-qscale n
其中n
是一个 1-31 的数字,1 是最高质量/最大文件大小,31 是最低质量/最小文件大小。
在 Mac OS X 10.6.8 上测试。
我认为最大化比率质量/大小的最佳解决方案是完全废弃 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