ffmpeg设置比特率转换VBR动态码率视频的bat命令

版权声明:本文为博主原创文章遵循 版权协议,转载请附上原文出处链接和本声明


帧率:帧率(Frame rate)也叫帧频率,帧率是视频文件中每一秒的帧数肉眼想看到连续移動图像至少需要15帧。
码率:比特率(Bit rate)(也叫码率数据率)是一个确定整体视频/音频质量的参数,秒为单位处理的字节数码率和视频质量荿正比,在视频文件中中比特率用bps来表达

1、用 -r 参数设置帧率
例如设置帧率为29.97fps,下面三种方式具有相同的结果:
(视频码率+音频码率) * 时长 /8 = 文件大小K

ffmpeg设置比特率是我们进行视频编解碼常用的工具而对于ffmpeg设置比特率中编码时对码率的控制方式一直没找合适的教程,无意中在stackoverflow上发现了***在此进行总结备忘。

视频编碼器常用的码率控制方式包括abr(平均码率)crf(限制码率),cqp(固定质量)ffmpeg设置比特率中***CodecContext显示提供了码率大小的控制参数,但是并没有提供其他的控制方式ffmpeg设置比特率中码率控制方式分为以下几种情况:

2.如果没有设置***CodecContext中的bit_rate,则默认按照crf方式编码crf默认大小为23(此值类似于qp值,同样表示视频质量);

3.如果用户想自己设置则需要借助av_opt_set函数设置***CodecContext的priv_data参数。下面给出三种控制方式的实现代码:

参考资料

 

随机推荐