流媒体基础(视频编码/H264/RTP/RTSP/SDP)

目录

0、概述

1、视频编码

1.1 组织

1.2 视频编码原理

2、色彩空间

3、H264

3.1 基本概念

3.2 H264结构

4、视频文件格式、视频封装格式

5、RTSP

6、我的开源


0、概述

        本文介绍了视频编码原理、H264编码格式、RTP/RTSP/SDP,适合新手入门,从视频编码到rtsp实时流传输,帮助新手理解。

1、视频编码

        是指压缩编码。在计算机的世界中,一切都是0 和1 组成的,音视频的数据量庞大,如果按照裸流数据存储的话,那将需要耗费非常大的存储空间,也不利于传送。而音视频中,其实包含了大量0 和1 的重复数据,因此可以通过一定的算法来压缩这些0和1 的数据。特别在视频中,由于画面是逐渐过渡的,因此整个视频中,包含了大量画面/像素的重复,这正好提供了非常大的压缩空间。因此,编码可以大大减小音视频数据的大小,让音视频更容易存储和传送。

        那么,未经编码的原始音视频,数据量至底有多大?以一个分辨率1920×1280,帧率30 的视频为例:共:1920×1280=2,073,600(Pixels 像素),每个像素点是24bit;也就是:每幅图片2073600×24=49766400 bit,8 bit(位)=1 byte(字节);所以:49766400bit=6220800byte≈6.22MB。这是一幅1920×1280 图片的原始大小(6.22MB),再乘以帧率30。也就是说:每秒视频的大小是186.6MB,每分钟大约是11GB,一部90 分钟的电影,约是1000GB。

1.1 组织

        音视频编解码的国际标准

        ITU(国际电信联盟)

        ISO/IEC

        JVTJoint Video Team,视频联合工作组)

         1)ITU 提出了H.261H.262H.263H.263+H.263++,这些统称为H.26X 系列,主要应用于实时视频通信领域,如会议电视、可视电话等;

     2)ISO/IEC 提出了MPEG1MPEG2MPEG4MPEG7MPEG21,统称为MPEG系列。       

     3)ITU 和ISO/IEC 一开始是各自捣鼓,后来,两边成立了一个联合小组,名叫JVTJointVideo Team,视频联合工作组)。

1.2 视频编码原理

        原始视频压缩的目的是去除冗余信息,可以去除的冗余包括:

        空间冗余:图像相邻像素之间有较强的相关性

        时间冗余:视频序列的相邻图像之间内容相似

        编码冗余:不同像素值出现的概率不同

        视觉冗余:人的视觉系统对某些细节不敏感

        知识冗余:规律性的结构可由先验知识和背景知识得到

        视频编码技术优先消除的目标,就是空间冗余和时间冗余。

数据压缩是怎么分类的?

        无损压缩(Lossless):

        压缩前、解压缩后图像完全一致X=X',压缩比低(2:1~3:1)。典型格式例如:Winzip,JPEG-LS。

        有损压缩(Lossy):

        压缩前解压缩后图像不一致X≠X',压缩比高(10:1~20:1),利用人的视觉系统的特性。典型格式例如:MPEG-2,H.264/AVC,AVS。

        形象的比喻就是把每帧都作为一张图片,采用JPEG 的编码格式对图片进行压缩,这种编码只考虑了一张图片内的冗余信息压缩,如图1,绿色的部分就是当前待编码的区域,灰色就是尚未编码的区域,绿色区域可以根据已经编码的部分进行预测(绿色的左边,下边,左下等)。

        编码就是为了压缩。要实现压缩,就要设计各种算法,将视频数据中的冗余信息去除。

        举个例子:如果一幅图(1920×1080 分辨率),全是红色的,我有没有必要说2073600次[255,0,0]?我只要说一次[255,0,0],然后再说2073599 次“同上”。

        但是帧和帧之间因为时间的相关性,后续开发出了一些比较高级的编码器可以采用帧间编码,简单点说就是通过搜索算法选定了帧上的某些区域,然后通过计算当前帧和前后参考帧的向量差进行编码的一种形式,通过下面两个图2 连续帧我们可以看到,滑雪的同学是向前位移的,但实际上是雪景在向后位移,P 帧通过参考帧(I 或其他P 帧)就可以进行编码了,编码之后的大小非常小,压缩比非常高。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值