ffmpeg webm vs mp4质量问题

Ben*_*min 0 video mp4 jpeg ffmpeg webm

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

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

$ ffmpeg -i %10d.jpg -s 640x480 -r 16 test.webm
Run Code Online (Sandbox Code Playgroud)

我几乎不了解视频编码,因此不胜感激。

Raj*_*ath 5

使用-qscale n时“n”为1(优良的品质)和31(最差质量)之间。

实际上,这设置了恒定的质量,但比特率却可变。

因此,现在设置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配置文件设置为高。您还可以使用基线,主要。

-preset slow :sets用于x264的编码预设(较慢的预设在相同的比特率下会提供更高的质量,但需要花费更多的时间进行编码)也可以使用超快,超快,非常快,更快,更快,中等,慢,更慢,非常慢。

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

-maxrate and -bufsize :最大速率要以500kbit / s的速率进行传输,同时还要查看1000kbit的设备缓冲区。

-vf scale :用于缩放视频,您可以根据需要使用它。

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

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

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

希望这可以帮助。