一秒钟的视频数据需要多少个rtp包来封装

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/glw0223/article/details/89177770

一秒钟的视频数据需要多少个rtp包来封装

视频(通常是h264)

  • 假设视频流码率是 1.5 M b p s 1.5Mbps ,也就是每秒钟有 1500000 b i t s 1500000bits 的数据,有 15000000 / 8 b y t e s 15000000/8 bytes 的数据
  • 假设每个rtp包封装 1200 b y t e s 1200bytes 的数据(由于mtu的限制,mtu最大 1500 b y t e s 1500bytes ),那么每秒钟需要 15000000 / 8 / 1200 15000000/8/1200
  • 如果一个buffer缓存了3000个rtp包,那么大约缓存了 3000 / 156 3000/156 秒的视频数据

下面是python的计算结果:

>>> 1500000/8
187500
>>> 1500000/8/1200
156
>>> 3000/156
19

这是我抓的包。一秒钟有 46015 45880 = 135 46015-45880=135个 包。
在这里插入图片描述
在这里插入图片描述

音频(通常是aac)

音频是48k采样率。2048个样点作为一帧,所以每秒大约有 48000 / 2048 = 23 48000/2048=23个 包。

这是我抓的包。一秒钟有 22001 21979 = 22 22001-21979=22个 包。
在这里插入图片描述

  • 每个包的payload大约是 131 b y t e s 131bytes
  • 每秒钟约 131 23 = 3013 b y t e s 131*23=3013bytes
  • 即码率是 3013 8 = 24104 b p s = 24 k b p s 3013*8=24104bps=24kbps
    在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/glw0223/article/details/89177770