ffmpeg webm vs mp4质量问题

时间:2014-07-15 03:44:55

标签: video ffmpeg jpeg mp4 webm

我在目录中有一系列.jpg个文件,我希望将其转换为ffmpeg的电影。当我制作所有jpeg的.mp4文件时,视频质量与原始图像几乎相同。当我创建一个.webm文件时,它看起来很块。这些是我使用的两个命令:

$ ffmpeg -i %10d.jpg -s 640x480 -r 16 test.mp4

$ ffmpeg -i %10d.jpg -s 640x480 -r 16 test.webm

我对视频编码几乎一无所知,所以任何帮助都会受到赞赏。

1 个答案:

答案 0 :(得分:4)

当'n'介于1(优质)和31(最差质量)之间时,请使用-qscale n

这实际上设定了一个恒定的质量但可变的比特率。

现在,当您设置qscale 1时,您的代码将看起来像这样:

ffmpeg -i %10d.jpg -s 640x480 -r 16 -qscale 1 test.webm

有时它输出错误,因为qscale是不明确的。在这种情况下,使用-q:v 1代替-qscale 1

现在,如果您想要更好的质量,请将输出文件的比特率设置为320 kbs。

现在代码将是:

ffmpeg -i input.mp4 -b:v 320k -q:v 0 output.webm

如果您对质量仍不满意,请尝试以下代码:

ffmpeg -i input.mp4 -codec:v libx264 -profile:v high -preset slow -b:v 500k -maxrate 500k -bufsize 1000k -vf scale=-1:480 -threads 0 -codec:a libfdk_aac -b:a 128k output.webm

上述说明,以便您根据需要进行更改:

-profile:v high:将H.264配置文件设置为高。您也可以使用baseline,main。

-preset slow:为x264设置编码预设(较慢的预设以相同的比特率提供更高的质量,但需要更多的时间进行编码)也可以使用超快,超快,非常快,更快,更快,更慢,更慢,更慢, veryslow。

-b:v:以bit / s为单位设置视频比特率。

-maxrate and -bufsize:流量为500kbit / s的最大速率也可以查看1000kbit的设备缓冲区。

-vf scale:用于缩放视频,根据您的要求,您可以使用此功能。

-threads 0:选择要编码的最佳线程数。

-codec:a libfdk_aac:通过libfdk-aac库将编码器设置为aac

-b:a:设置音频比特率

希望这有帮助。