ffmpeg 编码如何做带宽控制输出

背景

因为最近在做智慧讲台,做内容投屏到大屏,发现在网络在无线下非常不稳定,如果不使用均值码率的控制,一定会造成堵塞。查阅了ffmpeg官方网站,得到了一个有效的方法。

限制码率

限制输出码率是一个有效的输出,如果我们是用来限制一个特殊的规格,比如蓝光编码,
-b:v 是指明目标编码的平均编码码率。
-minrate 指明最小容忍度的编码码率
-maxrate 指明一个最大容忍度编码码率,该码率和bufsize相关联
-bufsize 指明解码缓冲大小, 决定了输出码率的可变特性

案例

例如,要产生一个稳定的限制码率直播流,这种情况下,控制均码,是可以控制带宽的使用的

下面是一个典型的案例:

ffmpeg -i input -c:v libx264 -b:v 2M -maxrate 2M -bufsize 1M output.mp4

这里最为关键的选项为bufsize ,这个选项告诉编码器怎么计算平均码率

-bufsize 到底做什么呢,基于这个选项,ffmpeg 会计算和纠正平均abr码率的生产情况,如果我们不指定bufsize, 内部会显著增加这个值,这个会引起码率的抖动,会不稳定输出码率值
如果我们减小这个值,ffmpeg 将会检查码率是否均匀,当然,更低的bufsize,会降低码率均值

如果-bufsize更小则会引起ffmpeg去降低图像的质量,这个缓冲值不够时只能牺牲质量去做优化。
如果要对这个值优化,读者需要去尝试不同的bufsize,直到这个值不再显著降低码率均值。也就是到一个合理的位置。

实际

实际在使用的时候,降低这个bufsize是有效果的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qianbo_insist

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值