背景

因为最近在做智慧讲台,做内容投屏到大屏,发现在网络在无线下非常不稳定,如果不使用均值码率的控制,一定会造成堵塞。查阅了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是有效果的。

ffmpeg 编码如何做带宽控制输出相关推荐

  1. 按键控制输出占空比可调的PWM波

    这里写自定义目录标题 按键的误区 举个例子 代码如下 实验结果 如何插入一段漂亮的代码片 生成一个适合你的列表 创建一个表格 设定内容居中.居左.居右 SmartyPants 创建一个自定义列表 如何 ...

  2. 五款电动车充电器原理图(重点图2分析过程UC3842的VCC启动电压和稳定供电电压说明,12V由稳压二极管得到做外围电源LM358比较器可被控制输出12V 和0V切换)UC3842电源管理芯片详解

    经过和精通开关电源设计中TL431反馈输出电压通道,分压电路(R7,P,W2组成)比较,第二图的TL431参考极电路是正确的,最下面接的输出的42V的正极.D8和W1在一起可以调整浮充的拐点电流(不太 ...

  3. 如何强制ffmpeg编码时输出一个关键帧

    原文地址:http://www.ffmpeg.com.cn/index.php/%E5%A6%82%E4%BD%95%E5%BC%BA%E5%88%B6ffmpeg%E7%BC%96%E7%A0%81 ...

  4. FFmpeg源代码简单分析:日志输出系统(av_log()等)

    ===================================================== FFmpeg的库函数源代码分析文章列表: [架构图] FFmpeg源代码结构图 - 解码 F ...

  5. FFmpeg音视频倍速控制

    本文除了会讲到通过命令行处理倍速,还会讲到通过FFmpeg api的方式去处理音频倍速和视频倍速,进而合并成支持倍速的音视频发布成rtmp或者存成flv文件. 介绍FFmpeg的filter工具 音视 ...

  6. FFmpeg 音视频倍速控制

    网上关于FFmpeg音视频倍速控制的资料不多,大部分都是讲通过FFmpeg命令去做音视频文件的倍速处理,通过FFmpeg api去 处理倍速的资料少之又少. 本文除了会讲到通过命令行处理倍速,还会讲到 ...

  7. ffmpeg编码视频总结

    上一篇文章总结了ffmpeg解码,本文继续总结一下编码. 一:编码流程: ffmpeg函数: avformat_alloc_output_context2():初始化输出码流的AVFormatCont ...

  8. FFmpeg编码支持与定制(三)

    1.FFmpeg编码支持与定制 FFmpeg本身支持一些音视频编码格式.文件封装格式与流媒体传输协议,但是支持的数量依然有限,FFmpeg所做的只是提供一套基础的框架,所有的编码格式.文件封装格式与流 ...

  9. FFmpeg源代码简单分析-其他-日志输出系统(av_log()等)

    参考链接 FFmpeg源代码简单分析:日志输出系统(av_log()等)_雷霄骅的博客-CSDN博客_ffmpeg源码分析 日志输出系统(av_log()等) 本文分析一下FFmpeg的日志(Log) ...

最新文章

  1. 3D目标检测多模态融合算法综述
  2. linux cmake编译源码,linux安装mysql(源码)以及cmake编译
  3. 好好学python · 字符串(find(),index(),split(),join(),strip(),replace())
  4. ArrayList、LinkedList、 Vector、Map 用法比较
  5. 转载-如何做好项目的需求与业务调研▲▲▲
  6. MySQL 常用语法 之 DISTINCT
  7. std::map的使用
  8. 毕业五年同是程序员为什么差距这么大?他年薪百万,他月薪一万
  9. ERROR 126 (HY000) at line 1: Incorrect key file for table '/tmp/#sql_7b09_0.MYI'; try to repair it
  10. JS能力测评经典题之数组
  11. 学画画怎么画三点透视图
  12. Excel VBA 学习总结 - 基础知识
  13. 淘宝特价版推出省心版,为什么难“钉“老人心?
  14. 试用python库meteva(气象行业)
  15. Handler简单介绍
  16. red5 FAQ - 刚接触red5的可以看看
  17. c语言 求e的近似值
  18. 黑暗之光第2章:角色创建(魔法师和剑士)
  19. H3C路由器交换机模拟器
  20. uni-app插入ucharts(echarts)图表,支持H5,APP,小程序

热门文章

  1. cortex-m 2017 whitepaper (English and Chinese)
  2. 6G尚处于早期研究阶段,长足发展需要时间和耐心
  3. 315曝光:老坛酸菜工人穿拖鞋、光脚踩 防腐剂超标10倍!多家电商平台下架老坛酸菜...
  4. 苹果下周将推出紫色版iPhone 13 但只有高端版本
  5. 明日亮相!刘作虎曝一加9RT三大绝活:快、稳、省
  6. 自动驾驶,不要再杀人了
  7. LG电子成功进行太赫兹频段6G无线信号传输,距离超过100米
  8. 国家广播电视总局:未实名制注册的用户不能打赏 未成年用户不能打赏
  9. 庭审出示用户观影信息是否违法?律师表示如是举证行为 不涉及侵犯隐私
  10. 特斯拉:感谢A股股民!