音视频基础知识、YUV、H264

一、音视频学习路径

二、音视频播放原理

        视频是利用人眼视觉暂留的原理,通过播放一系列的图片,使人眼产生运动的感觉。单纯传输视频画面,视频量非常大,对现有的网络和存储来说是不可接受的。为了能够使视频便于传输和存储,人们发现视频有大量重复的信息,如果将重复信息在发送端去掉,在接收端恢复出来,这样就大大减少了视频数据的文件,因此有了H.264视频压缩标准。

        视频里边的原始图像数据会采用 H.264编码格式进行压缩,音频采样数据会采用 AAC 编码格式进行压缩。视频内容经过编码压缩后,确实有利于存储和传输。不过当要观看播放时,相应地也需要解码过程。因此编码和解码之间,显然需要约定一种编码器和解码器都可以理解的约定。就视频图像编码和解码而言,这种约定很简单:

        编码器将多张图像进行编码后生产成一段一段的 GOP ( Group of Pictures ) , 解码器在播放时则是读取一段一段的 GOP 进行解码后读取画面再渲染显示。GOP ( Group of Pictures) 是一组连续的画面,由一张 I 帧和数张 B / P 帧组成,是视频图像编码器和解码器存取的基本单位,它的排列顺序将会一直重复到影像结束。I 帧是内部编码帧(也称为关键帧),P帧是前向预测帧(前向参考帧),B 帧是双向内插帧(双向参考帧)。简单地讲,I 帧是一个完整的画面,而 P 帧和 B 帧记录的是相对于 I 帧的变化。如果没有 I 帧,P 帧和 B 帧就无法解码。

        在H.264压缩标准中I帧、P帧、B帧用于表示传输的视频画面。

         直观应用上,音视频播放主要分为两大类:在线播放和本地播放。在线播放即通过互联网,在线播放音视频;本地播放及播放本地存放的音视频文件。这样讲应该比较好理解吧。

        音视频播放的原理主要分为:解协议->解封装->解码->音视频同步->播放。当然,如果是本地播放,没有解协议这一步骤。

        解协议是指从bit流中分析http、rtmp等协议。

        封装格式的主要作用是把视频码流和音频码流按照一定的格式存储在一个文件中。解封装就是从bit流分离出音视频。

        音视频播放的原理如下(大家可以想象成剥洋葱一样,音视频播放其实是一层层的去除协议、封装,再解码,最后得到原始数据):

概念区分

        录播:录播更侧重于“录”,比如录播系统,主要集成了音视频的采集、后期剪辑、工具软件的系统。通俗的讲录播就是生产音视频。

        点播:点播从字面意义上讲是播放选择的视频,比如观看爱奇艺、腾讯等视频网站的电影和综艺,可以随意拖动视频进度,这些音视频共性特点是提前录制好的。通俗的讲点播就是播放录制好的视频,点播是消费音视频。

        直播:直播相对好理解,虎牙、斗鱼等直播平台上的游戏、才艺直播,这些音视频共性特点是实时的,观看者不能拖动音视频进度。通俗的讲直播就是播放实时直播视频,直播既生产又消费音视频。

三、视频编码前的图像格式

        首先要说明RGB、YUV和YCbCr都是人为规定的彩色模型或颜色空间(有时也叫彩色系统或彩色空间)。它的用途是在某些标准下用通常可接受的方式对彩色加以描述。YUV是音视频(编解码)最常用的格式。

【1】RGB

        RGB(红绿蓝)是依据人眼识别的颜色定义出的空间,可表示大部分颜色。但在科学研究一般不采用RGB颜色空间,因为它的细节难以进行数字化的调整。它将色调,亮度,饱和度三个量放在一起表示,很难分开。它是最通用的面向硬件的彩色模型。该模型用于彩色监视器和一大类彩色视频摄像。

【2】YUV

        在 YUV空间中,每一个颜色有一个亮度信号 Y,和两个色度信号 U 和V。亮度信号是强度的感觉,它和色度信号断开,这样的话强度就可以在不影响颜色的情况下改变。

        YUV使用RGB的信息,但它从全

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

fang·up·ad

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

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

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

打赏作者

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

抵扣说明:

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

余额充值