前言

webrtc码率相关介绍
研究了好久的webrtc,一直想要自己计算webrtc视频的码率,但是一直没有找到具体的公式或者算法,困扰了很久,今天找到了计算方法,在这里记录一下。

一、webrtc码率计算?

BPP指数:每像素位数(BPP)是应用于视频文件中每个像素的平均数据量。通过将数据速率(kbps)除以视频的每秒像素数(像素宽度乘以高度像素乘以每秒帧数)来计算:

BPP = 数据速率/(分辨率*每秒帧数)

BPP通常在0.05到0.150之间,具体取决于场景中的运动量。运动越多,BPP应该越高。

BPP也与分辨率成反比:分辨率越低,在不产生巨大比特率的情况下BPP越高。这是因为与高分辨率视频相比,低分辨率视频中要复制或参考的总像素更少。

要基于BPP计算比特率的大小,

比特率 =(分辨率*每秒帧* BPP)/ 1000

一般bpp=0.11适合大部分编码器和编码标准,可达到比较好的视频效果

具体的bpp计算方式需要根据编码器来具体计算,

网上看到码流映射表,说是视频最佳码率,我们可以计算下bpp,根据公式计算下bpp,这样就不用
再也不用根据表格去匹配码率拉,简化代码的逻辑

{ //4:3
     { 160, 120, 65, 15 },
     { 180, 180, 100, 15 },
     { 240, 180, 120, 15 },
     { 240, 240, 140, 15 },
     { 320, 240, 200, 15 },
     { 360, 360, 260, 15 },
     { 360, 360, 400, 30 },
     { 480, 360, 320, 15 },
     { 480, 360, 490, 30 },
     { 480, 480, 400, 15 },
     { 480, 480, 600, 30 },
     { 640, 480, 400, 10 },
     { 640, 480, 500, 15 },
     { 640, 480, 750, 30 },
     { 960, 720, 910, 15 },
     { 960, 720, 1380, 30 },
     { 0, 0, 0, 0}
},
{ // 16:9
     { 320, 180, 140, 15 },
     { 424, 240, 220, 15 },
     { 640, 360, 400, 15 },
     { 640, 360, 800, 24 },
     { 848, 480, 610, 15 },
     { 848, 480, 930, 30 },
     { 960, 540, 800, 15 },
     { 960, 540, 1200, 30 },
     { 1280, 720, 1130, 15 },
     { 1280, 720, 1710, 30 },
     { 1920, 1080, 2080, 15 },
     { 1920, 1080, 3150, 30 },
     { 1920, 1080, 4780, 60 },
     { 2560, 1440, 4850, 30 },
     { 2560, 1440, 7350, 60 },
     { 3840, 2160, 8910, 30 },
     { 3840, 2160, 13500, 60 },
     { 0, 0, 0, 0}
}

总结

但是没有找到BPP的具体的算法公式,奈何音视频专业的知识也比较少,有大神知道可以指点下。

webrtc视频码率计算相关推荐

  1. WebRTC视频码率控制(一)—— CPU使用度检测

    WebRTC中使用CPU使用情况作为码率控制的依据之一.当CPU过度使用(overusing)时,进行视频编码的降级(adapt down):当CPU未充分使用(uderusing)时,进行视频编码的 ...

  2. 机器学习帮助WebRTC视频质量评价

    本文来自CosMos Software创始人Alex. Gouaillard的博客,他同时为WebRTC.QUIC等标准组织工作.LiveVideoStack对原文进行了摘译. 文 / Alex. G ...

  3. 用机器学习提升WebRTC视频质量评估的正确姿势

    原文 :http://webrtcbydralex.com/index.php/2018/10/11/webrtc-video-quality-assessment/ 如何确保WebRTC视频通话或视 ...

  4. 音视频开发(28)---流媒体并发量与宽带、码率计算详解

    流媒体并发量与宽带.码率计算详解 码率计算公式     基本的算法是:[码率](kbps)=[文件大小](字节)X8/[时间](秒)*1000     音频文件专用算法:[比特率](kbps)=[量化 ...

  5. 视频大小与码率计算及像素及分辨率问题

    转载自:https://www.cnblogs.com/anfeio/p/3712218.html 翻阅了些资料,然后总结下,方便以后翻阅,嘿嘿. 视频文件大小的计算 视频文件体积:(音频码率+视频码 ...

  6. WebRTC视频JitterBuffer详解

    WebRTC视频JitterBuffer详解 1 WebRTC版本 2 概要 3 JitterBuffer结构和基本流程 4 帧完整性 - PacketBuffer 4.1 包缓存 4.2 帧的开始和 ...

  7. 视频码率,帧率和分辨率的区别

    视频码率,帧率和分辨率到底哪一个影响电影的清晰度 码率(bit 率):影响体积,与体积成正比:码率越大,体积越大:码率越小,体积越小. 码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kb ...

  8. 视频码率[百科词条]

    视频码率 编辑 视频码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒. 中文名 视频码率 定    义 数据传输单位时间传送的数据位数 单    位 kbps即千位每秒 ...

  9. 视频码率,帧率和分辨率

    视频码率,帧率和分辨率到底哪一个影响电影的清晰度 码率:影响体积,与体积成正比:码率越大,体积越大:码率越小,体积越小. 码率就是数据传输时单位时间传送的数据位数,一般我们用的单位是kbps即千位每秒 ...

  10. 【视频码率相关笔记】

    码率是指视频文件在单位时间内使用的数据流量,是视频编码中画面质量控制中最重要的部分,一般用的单位是kbps.码率并不是越高越好,因为码率高到一定极限之后,人眼就很难辨别出更好的画质了,但是视频的体积会 ...

最新文章

  1. 有关接口和抽象类的问题
  2. Python中函数的参数定义和可变参数
  3. 查看计算机用户创建时间,敬业签在电脑端怎样查看团签内容的创建时间?
  4. 百亿数据量下,掌握这些Redis技巧你就能Hold全场
  5. LRU的理解与Java实现
  6. 【Git/Github】第一次提交和再次添加文件
  7. HDU4357(数学思维题)
  8. oracle死锁优化,Oracle性能优化之LockContention(转)
  9. vc++ windows 创建桌面快捷方式
  10. wamp3.1.0下载地址
  11. caffe的protocol buffer使用例子
  12. 用FreeBSD与memcached建立分布式缓存服务器全程记录之memcached使用与安装
  13. QQ机器人闪照转发/撤回消息转发【最新beta2版本】
  14. 全网最快的网络服务器是什么,最好用最快的首选 DNS 服务器地址设置 (电信/联通/移动)...
  15. 二叉树非递归遍历方法总结
  16. 精选目标检测3——yolo1、yolo2、yolo3和SSD的网络结构汇总对比
  17. 计算机网络安全技术实践总结,网络安全实训总结.doc
  18. Go初始化变量的招式
  19. 关于gif进度条的问题
  20. java 操作accdb_使用Java创建Access数据库文件(.mdb或.accdb)

热门文章

  1. java登陆界面_【java中实现登录界面功能】
  2. Win10电脑时间无法同步解决方法
  3. 阿里云域名购买和域名解析教程
  4. 怎样把mysql表转换为hbase表_导出table数据库表
  5. CVPR2021:单目实时全身动作捕捉(清华大学)
  6. UserWarning: Glyph 28857 (\N{CJK UNIFIED IDEOGRAPH-70B9}) missing from current font. FigureCanvasA
  7. 【Chrome】浏览器控制台设置成中文
  8. 手机内存文件夹html,手机内存不够用?这6个文件夹要定时清理,至少能省下2个G...
  9. python往npy写入数据_Python 存取npy格式数据实例
  10. Matlab基于蚁群算法求解多旅行商MTSP问题