-q:v 1
参数。让我来解释一下...for f in *
do
extension="${f##*.}"
filename="${f%.*}"
ffmpeg -i "$f" -q:v 1 "$filename"_lq."$extension"
rm -f "$f"
done
上面的ffmpeg循环压缩工作目录中的所有图像和视频,它基本上降低了质量,从而使文件大小变小(期望的结果)。
我最感兴趣的是这个for循环中的-q:v 1参数。-q:v 1参数中的1控制压缩的程度。但我找不到任何描述如何更改此值的文档,并描述它的功能。它是百分比吗?乘数?我该如何调整这个旋钮?可以/应该使用负值吗?只能使用整数吗?有最小/最大值吗?等等。
我从官方文档the official documentation入手,但我找到的最好的部分是关于视频质量的一个章节,而且-q标志的描述也很简略。
-frames[:stream_specifier] 帧数 (输出,每个流)
在帧数达到指定数量后停止向该流写入。
.
-q[:stream_specifier] q (输出,每个流)
-qscale[:stream_specifier] q (输出,每个流)
使用固定的质量比例(VBR)。q/qscale 的含义取决于编解码器。如果未指定 stream_specifier 就使用 qscale,则仅适用于视频流,这是为了保持与以前行为的兼容性,并且当不使用 stream_specifier 时,指定相同的编解码器特定值到两个不同的编解码器(音频和视频)通常不是预期的。
$extension
是什么? - lloganextension
,但没有任何反应。我想我不理解这个问题。 - Display name-q:v
/-qscale:v
取决于编码器。我想知道您使用的编码器是什么,以便给出准确的答案。如果您不确定使用的编码器是哪个,我会要求输出文件的扩展名(.mp4
、.mkv
、.avi
、.mov
等)。 - llogan