ffmpeg设置高清和正常质量

时间:2012-11-13 13:33:07

标签: ffmpeg

你好,我需要在我的服务器上存储同一个文件的两个版本,中等和高清​​质量,事情就是不太了解ffmpeg那么我只是尝试这是随机代码,我正在使用代码belo但我最终得到了一个更大的文件,但它起作用,它播放。

ffmpeg -i inputfile.wmv  -vcodec libx264 -ar 44100 -b 200 -ab 56 -crf 22 -s 360x288 -vpre medium -f flv tmp.flv

只需要两个命令即可创建2个不同的文件

1 个答案:

答案 0 :(得分:4)

您需要提供有关您所针对的比特率,质量或目标文件大小以及源材料的大小和质量的更多信息,最好包括使用的编解码器和相关参数。

您应该阅读手册或ffmpeg -h或两者。您的命令行有几个问题:

  • 您正在使用恒定速率因子,crf = 22,同时仍尝试使用-b 200来限制比特率。
  • 比特率以比特/秒指定(除非您使用非常旧ffmpeg),并且200 bps不可用于任何内容,添加k以获得千比特/秒。 / LI>
  • 您尚未指定音频编解码器,但您已指定音频比特率,ffmpeg会尝试为您猜测音频编解码器,但我不知道.flv文件的默认编解码器。

我假设您发布的命令行应该是“中等”质量文件。

您可以尝试一些建议:

  1. 首先尝试:指定音频编解码器,例如-acodec libmp3lame,或者如果音频格式已经很好,您可以使用-acodec copy
  2. 进行复制而无需修改
  3. 尝试不同的速率因素,例如-crf 30,数字越高意味着图片质量越高,文件尺寸也越小。
  4. 尝试不同的编码器预设,例如-vpre slow,通常情况下,较慢的预设会启用在编码时需要更多CPU周期但会产生更好图片质量的功能,请参阅x264 --fullhelpthis page以查看每个预设包含的内容。
  5. 执行2遍编码,link
  6. 如果您不想阅读ffmpeg的所有文档以及您需要的编解码器参数,我建议您查看this cheat sheet,尽管命令行开关已经更改了不同版本的ffmpeg所以示例可能行不通。

    示例命令行:

    ffmpeg -i inputfile.wmv  -vcodec libx264 -crf 25 -s 360x288 -vpre veryslow -acodec libmp3lame -ar 44100 -ab 56k -f flv tmp.flv
    

    参数-s [size]是输出视频的大小(以像素为单位),对于HD文件,您可能需要大约1280x720,如果您的素材比例为5:4(如360x288所示),您需要尝试1280x1024,960x768或900x720。不要设置比源材料更大的尺寸,因为这样会简单地放大视频,你会(可能)最终得到一个更大的文件而质量没有任何明显的改善。 -ab参数是音频比特率,您可能也希望在HD版本上增加此参数。