如何解决ffmpeg质量转换选项视频压缩
您能否在ffmpeg中提供指向-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
循环的for
自变量最感兴趣。 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时,为2个不同的音频和视频编解码器指定相同的编解码器特定值通常不是目的。使用。
解决方法
-q:v
可能被忽略了
您正在输出MP4,因此很可能您正在使用编码器libx264,它输出H.264视频。
-q:v
/ -qscale:v
被libx264忽略。
控制台输出甚至提供有关以下内容的警告:-qscale is ignored,-crf is recommended.
有关-crf
的更多信息,请参见FFmpeg Wiki: H.264。
什么时候可以使用-q:v
?
MPEG *编码器(mpeg4,mpeg2video,mpeg1video,mjpeg,libxvid,msmpeg4)可以使用-q:v
/ -qscale:v
。
有关此选项的更多信息,请参见How can I extract a good quality JPEG image from a video file with ffmpeg?。
,此选项是-qscale:v
的别名,这可能是您在研究期间没有遇到它的原因(尽管我的搜索结果首先出现在Google上的“ ffmpeg q:v”)。
此link说明了qscale
选项不是乘数或百分比,而是比特率模式(因此是比特率)。对于给定的编码器,此数字越小,比特率和质量越高。它通常跨度为1-31,但某些编码器可以接受此范围的子集。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。