1

这就是我使用 FFmpeg 的方式

ffmpeg -f dshow -i video="UScreenCapture" -vcodec libx264 -q 26 -f flv output.flv

问题是,数量总是 28,ffmpeg 忽略了这一点。如何解决这个问题?无论如何,我需要一个“flash”编解码器来流式传输到 twitch tv

4

4 回答 4

4

libx264 会忽略这些选项-q(和别名)。-qscale如果要 控制质量,请使用:

-crf

ffmpeg -i input -c:v libx264 -crf 22 output.flv

或设置比特率-b:v

ffmpeg -i input -c:v libx264 -b:v 555k output.flv
于 2013-06-14T13:51:20.920 回答
3

根据文档,“的含义q取决于编解码器”,显然 libx264 忽略了该选项。改用-crf-preset如果需要,可以使用)。crf值越大,质量越低。

于 2013-06-14T20:16:59.113 回答
1

如果您希望生成 CQP(恒定 QP 流),例如对于恒定 QP=20,我建议使用以下参数:'x264-params qp=20:ipratio=1.0:pbratio=1.0:qpstep=0'

示例:ffmpeg -s 1920x1080 -i test.yuv -vcodec libx264 -x264-params qp=20:ipratio=1.0:pbratio=1.0:qpstep=0 -y test.h264

请注意,'ipratio=1.0' 使 x264 以与 I 帧相同的 QP 编码 P 帧,而 'pbratio=1.0' 使 x264 以与 P 帧相同的 QP 编码 B 帧。

于 2019-09-04T13:23:14.623 回答
0

-b 选项、-q 和 -crf 似乎对视频质量没有任何作用(至少对于我安装的 ffmpeg 版本 9 而言),所以我发布了另一篇文章的结果,直截了当

如果您想要高质量,设置比特率是实现这一目标的糟糕方法。还有许多其他设置对质量的影响远大于比特率。除非您必须满足某种硬件要求,否则我会完全设置比特率。

如果您想获得更高的质量,请尝试类似

ffmpeg -i sourcefile.mov -target pal-dvd -qscale 2 -trellis 2 outputfile.mpg

输出视频大小从 2 分钟视频的 13Mb 到 130Mb,但它完成了工作。

于 2014-05-01T00:11:58.643 回答