H264编码原理(H264压缩比与GOP)

H264压缩比

条件:
1、YUV格式为YUV420。 乘1.5倍,rgb是3倍
2、分辨率为640x480
3、帧率为15
原视频未压缩需要6404801.5158 = 55296000(bit),约55M (一秒).
H264建议码流为500kps
结果: 约1/100

码流参考值

常用的h264建议码流都并非科学计算得出的,而是各个厂家经过大量实践得出的经验值。
常用的查询网址:

https://docs.agora.io/cn

这是声网总结的经验值,声网在音视频领域是比较权威的。
1、进入网页
2、点击视频通话
3、在基础功能里找到设置视频编码属性并点击
4、下翻找到数据

  • 二人视频通话场景:
    分辨率 320 × 240、帧率 15 fps、码率 200 Kbps
    分辨率 640 × 360、帧率 15 fps、码率 400 Kbps
  • 多人视频通话场景:
    分辨率 160 × 120、帧率 15 fps、码率 65 Kbps
    分辨率 320 × 180、帧率 15 fps、码率 140 Kbps
    分辨率 320 × 240、帧率 15 fps、码率 200 Kbps

视频属性参考表

分辨率 (宽 × 高) 帧率 (fps) 基准码率 (Kbps,适用于通信) 直播码率 (Kbps,适用于直播)
160 × 120 15 65 130
120 × 120 15 50 100
320 × 180 15 140 280
180 × 180 15 100 200
240 × 180 15 120 240
320 × 240 15 200 400
240 × 240 15 140 280
424 × 240 15 220 440
640 × 360 15 400 800
360 × 360 15 260 520
640 × 360 30 600 1200
360 × 360 30 400 800
480 × 360 15 320 640
480 × 360 30 490 980
640 × 480 15 500 1000
480 × 480 15 400 800
640 × 480 30 750 1500
480 × 480 30 600 1200
848 × 480 15 610 1220
848 × 480 30 930 1860
640 × 480 10 400 800
1280 × 720 15 1130 2260
1280 × 720 30 1710 3420
960 × 720 15 910 1820
960 × 720 30 1380 2760

GOPH264编码原理(H264压缩比与GOP)_第1张图片

假设一秒钟有25帧,如上图所示。可以算出来帧与帧之间间隔40毫秒。
将时间拉长至10分钟时,累计的帧数就已经是十分多了,需要处理的数据增加,带来了压缩时的困难。
H264编码原理(H264压缩比与GOP)_第2张图片
为了处理,则将这些帧进行了分组。
H264编码原理(H264压缩比与GOP)_第3张图片
假设小人dou时看望远镜的,包括看的角度不同的,分为一组,小人所有敲键盘的分为另一组。
每一帧的敲键盘都是一个动作(按下去、抬起来、抬得不同高度等)。
所以每一个gop都是描述的目标的细微差别。所以在每一个GOP中的所有视频帧都是强相关的,而不同GOP间的视频帧相关性特别小。
所以由此可以将视频划分为很多不同的组,每一组都是强相关的视频帧,GOP即Grouo Of Picture.

GOP中帧与帧之间的差别小

H264编码原理(H264压缩比与GOP)_第4张图片
通过GOP的划分,组内的压缩就容易进行了,因为差别小,数据量会很容易的下降下去。
以小人为例,每张图片的背景几乎没有差别,只是小人的望远镜方向不同,姿势不同,所以背景完全可以放在一张图里。
小人还可以进行再次划分,例如小人的头发都是相同的,也可以放在一张图里。
所以这三张(实际更多)的图片公共点非常多,背景完全一样,头发完全一样,所以只要记录每张图中的不同点,也就是望远镜角度,身体姿势等。

你可能感兴趣的:(ffmpeg笔记,ffmpeg-mac,H264,H264压缩比,GOP)