webrtc视频码率计算

 

前言

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的具体的算法公式,奈何音视频专业的知识也比较少,有大神知道可以指点下。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

LeeFeiLi

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

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

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

打赏作者

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

抵扣说明:

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

余额充值