视频编解码

在数字通信、媒体存储和传输领域,音视频编解码技术起到了至关重要的作用,它能够有效地压缩音频和视频数据,减小存储和传输所需的带宽,并且保持较高的音视频质量。

1.视频编码格式

1.1 H.264

  1. 概念
    H.264是由国际电信联盟(iTU-T)所制定的新一代的视频压缩格式。H.264的数据压缩比能比当前DVD系统中使用的 MPEG-2高2~3倍,比MPEG-4高1.5~2倍。正因为如此,经过H.264压缩的视频数据,在网络传输过程中所需要的带宽更少,也更加经济.

  2. 优点
    H.264 使图像压缩技术上升到了一个更高的阶段,能够在较低带宽上提供高质量的图像传输,该优点非常适合国内运营商用户量大、接入网/骨干网带宽相对有限的状况。

  3. 缺点
    H.264编码的影片在播放的时候对硬件系统也提出了非常高的要求。据相关资料显示,H.264的影片在编码的过程中复杂度是MPEG2的10倍,解码的复杂度是MPEG2的3倍,这对于CPU来说是很沉重的负担,而显卡芯片如果要整合硬件解码模块,其难度也随之加大。

  4. H264压缩技术
    经过压缩后的帧分为:I帧,P帧和B帧:

  • I帧:关键帧,采用帧内压缩技术。解码不依赖于任何的其它的帧。
  • P帧:向前参考帧,采用帧间压缩技术。解码依赖于其前面的I帧或P帧。
  • B帧:双向参考帧,采用帧间压缩技术。解码依赖于其前的最近的一个I帧或P帧及其后的最近的一个P帧。
  1. 帧分组/GOP(Group of Pictures)
    两个I帧间的图像序列就称为帧分组。
    对目前比较流行的直播和短视频来说,短视频的数据I帧会比较少,因为I帧数据比较大。而直播的话I帧比较多,因为客户端需要一进入直播间就能马上播放,一般是2s左右一个I帧。

  2. 时间戳(PTS和DTS)
    H264里有两种时间戳:DTS(Decoding Time Stamp)和PTS(Presentation Time Stamp)。前者是解码的时间,后者是显示的时间。
    FFmpeg中用AVPacket结构体来描述解码前或编码后的压缩包,用AVFrame结构体来描述解码后或编码前的信号帧。
    AVFrame就是视频的一帧图像,这帧图像什么时候显示给用户,就取决于它的PTS。
    DTS是AVPacket里的一个成员,表示这个压缩包应该什么时候被解码。

1.2 H.265/HEVC

  1. 概念
    H265 又被叫做HEVC(全称叫做 Hight Efficiency Video Coding,高效率视频编码),是 H264/AVC 标准的继承者。

  2. H.265与H.264的区别
    H265延续了H264 的很多定义,两个都是基于宏块的视频编码技术,h265 是在 H264 的基础上进行了一些强优化。
    在相同的图象质量下,相比于H.264,通过H.265编码的视频码流大小比H.264减少大约39-44%。

  3. H265协议解析
    参考文章:
    https://www.cnblogs.com/wujianming-110117/p/12722286.html

NALU 单元常由三部分组成: [StartCode] [NALU Header] [NALU Payload]

[StartCode] 4byte,用于标示这是一个NALU 单元的开始,必须是”00 00 00 01”
//RTP报文不传

[NALU Header] 2byte
//禁止位1bit通常为0, 帧类型6bit通常为1, LayerID 6bit通常为0, TID 3bit通常为1
//例如0x0201
//0000 0010 0000 0001

[NALU Payload] 负载

NALU类型 = (NALU Header第一字节 & 0x7E) >> 1
大小6bit,0-31视频编码数据,32-63控制数据
01 被参考的后置图像(且非TSA、非STSA的SS编码数据)
19 IDR (可能有RADL图像的IDR图像的SS编码数据)
32 VPS 视频参数集
33 SPS 序列参数集
34 PPS 图像参数集
39 SEI 补充增强信息 (可选,有的视频文件不存在)
49 (FU包,几个RTP包拼接成一个NALU

1.3 MPEG-4

  1. 概念
    MPEG-4不仅可提供高压缩率,同时也可实现更好的多媒体内容互动性及全方位的存取性,它采用开放的编码系统,可随时加入新的编码算法模块,同时也可根据不同应用需求现场配置解码器,以支持多种多媒体应用。

  2. 优点
    1.具有很好的兼容性;
    2.MPEG-4比其他算法提供更好的压缩比,最高达200:1;
    3.MPEG-4在提供高压缩比的同时,对数据的损失很小。所以,mpeg-4的应用能大 幅度的降低录像存储容量,获得较高的录像清晰度,特别适用于长时间实时录像的需求,同时具备在低带宽上优良的网络传输能力。
    4.采用开放的编码系统,可以加入新的编码算法模块.

0条搜索结果。