音视频学习笔记(雷神)—技术解析

音视频技术解析

封装技术+视频压缩编解码+音频压缩编解码

这是技术层

流媒体传输协议

这是网络层

视频播放器解析

 解协议

 从视频播放器的角度做解析,拿到传输而来的视频数据后,首先要解协议(传输协议)

自然的本地视频经过硬盘传输数据自然没有解协议的过程

解协议的作用,就是将流媒体协议的数据,解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP,或是MMS等等。这些协议在传输视音频数据的同时,也会传输一些信令数据。这些信令数据包括对播放的控制(播放,暂停,停止),或者对网络状态的描述等。解协议的过程中会去除掉信令数据而只保留视音频数据。

信令数据:只要使用网络使用基站就产生信令数据 

这里对包含的播放的控制数据我没有太理解

个人理解:解析以后化为标准可解的封装数据,不同协议视频流传输被解协议的时候产生不同的数据,冗余的信令数据也被剔除

如RTMP协议传输解协议后变为FLV格式,之后再对FLV做解封装

主要流媒体协议一览

名称

推出机构

传输层协议

客户端

目前使用领域

RTSP+RTP

IETF

TCP+UDP

VLC, WMP

IPTV

RTMP

Adobe Inc.

TCP

Flash

互联网直播

RTMFP

Adobe Inc.

UDP

Flash

互联网直播

MMS

Microsoft Inc.

TCP/UDP

WMP

互联网直播+点播

HTTP

WWW+IETF

TCP

Flash

互联网点播

解封装 

解封装的作用,就是将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。封装格式种类很多,例如MP4,MKV,RMVB,TS,FLV,AVI等等,它的作用就是将已经压缩编码的视频数据和音频数据按照一定的格式放到一起。例如,FLV格式的数据,经过解封装操作后,输出H.264编码的视频码流和AAC编码的音频码流。

封装格式的数据对应我们在生活中看到的所谓视频后缀名格式(封装格式)

视频被按指定格式解封装后就变成了码流

音视频有各自独立的编码规则

FLV格式的数据,经过解封装操作后,输出H.264编码的视频码流和AAC编码的音频码流

主要封装格式一览

名称

推出机构

流媒体

支持的视频编码

支持的音频编码

目前使用领域

AVI

Microsoft Inc.

不支持

几乎所有格式

几乎所有格式

BT下载影视

MP4

MPEG

支持

MPEG-2, MPEG-4, H.264, H.263等

AAC, MPEG-1 Layers I, II, III, AC-3等

互联网视频网站

TS

MPEG

支持

MPEG-1, MPEG-2, MPEG-4, H.264

MPEG-1 Layers I, II, III, AAC,

IPTV,数字电视

FLV

Adobe Inc.

支持

Sorenson, VP6, H.264

MP3, ADPCM, Linear PCM, AAC等

互联网视频网站

MKV

CoreCodec Inc.

支持

几乎所有格式

几乎所有格式

互联网视频网站

RMVB

Real Networks Inc.

支持

RealVideo 8, 9, 10

AAC, Cook Codec, RealAudio Lossless

BT下载影视

除了AVI之外,其他封装格式都支持流媒体,即可以“边下边播”。

有些格式更“万能”一些,支持的视音频编码标准多一些,比如MKV。

而有些格式则支持的相对比较少,比如说RMVB。

 解码

解码的作用,就是将视频/音频压缩编码数据,解码成为非压缩的视频/音频原始数据。音频的压缩编码标准包含AAC,MP3,AC-3等等,视频的压缩编码标准则包含H.264,MPEG2,VC-1等等。解码是整个系统中最重要也是最复杂的一个环节。通过解码,压缩编码的视频数据输出成为非压缩的颜色数据,例如YUV420P,RGB等等;压缩编码的音频数据输出成为非压缩的音频抽样数据,例如PCM数据。

 解码是最繁杂的环节,技术在这里就有了差别

颜色和音频抽样数据从被压缩的码流中按照一定的方法分崩离析出来,又归向秩序。变成人们可视可听的数据

若从解码的设备上看

又可以分为硬解码(GPU解码)和软解码(CPU解码)

 硬解码慢但高质,软解码快但难以承受巨量的视频解码任务

编码

谈解码自然也要谈编码

视频编码的主要作用是将视频像素数据(RGB,YUV等)压缩成为视频码流,从而降低视频的数据量。如果视频不经过压缩编码的话,体积通常是非常大的,一部电影可能就要上百G的空间

编码的技术要不断精进就是为了能更好的传输更高质量的视频

主要视频编码一览

名称

推出机构

推出时间

目前使用领域

HEVC(H.265)

MPEG/ITU-T

2013

研发中

H.264

MPEG/ITU-T

2003

各个领域

MPEG4

MPEG

2001

不温不火

MPEG2

MPEG

1994

数字电视

VP9

Google

2013

研发中

VP8

Google

2008

不普及

VC-1

Microsoft Inc.

2006

微软平台

H264High和H265已经逐步追上H264的地位

主要音频编码一览

名称

推出机构

推出时间

目前使用领域

AAC

MPEG

1997

各个领域(新)

AC-3

Dolby Inc.

1992

电影

MP3

MPEG

1993

各个领域(旧)

WMA

Microsoft Inc.

1999

微软平台

可见音频编码技术已经基本可以满足人们的需要。音频编码技术近期绝大部分的改动都是在MP3的继任者——AAC的基础上完成的。

AAC+ > MP3PRO > AAC> RealAudio > WMA > MP3

音视频同步

视音频同步的作用,就是根据解封装模块处理过程中获取到的参数信息,同步解码出来的视频和音频数据,并将视频音频数据送至系统的显卡和声卡播放出来

 就是所谓的音画同步

直播服务

直播服务普遍采用了RTMP作为流媒体协议,FLV作为封装格式,H.264作为视频编码格式

 视频编码,音频编码方面,无一例外的使用了FLV + H.264 + AAC的组合。FLV是RTMP使用的封装格式,

H.264是当今实际应用中编码效率最高的视频编码标准

AAC则是当今实际应用中编码效率最高的音频编码标准

 我现在来看这些情况依旧存在

点播服务

点播服务普遍采用了HTTP作为流媒体协议,H.264作为视频编码格式,AAC作为音频编码格式。

采用HTTP作为点播协议有以下两点优势:一方面,HTTP是基于TCP协议的应用层协议,媒体传输过程中不会出现丢包等现象,从而保证了视频的质量;

另一方面,HTTP被绝大部分的Web服务器支持,因而流媒体服务机构不必投资购买额外的流媒体服务器,从而节约了开支。

点播服务采用的封装格式有多种:MP4,FLV,F4V等,它们之间的区别不是很大。

很幸运有雷神能让我站在巨人的肩膀上了解音视频 

本篇学习总结于雷神文章:[总结]视音频编解码技术零基础学习方法_雷霄骅的博客-CSDN博客_音视频编解码入门一直想把视音频编解码技术做一个简单的总结,可是苦于时间不充裕,一直没能完成。今天有着很大的空闲,终于可以总结一个有关视音频技术的入门教程,可以方便更多的人学习从零开始学习视音频技术。需要注意的是,本文所说的视音频技术,指的是理论层面的视音频技术,并不涉及到编程相关的东西。https://blog.csdn.net/leixiaohua1020/article/details/18893769

之后慢慢一点点把所有细节补上 

你可能感兴趣的:(视频传输,音视频,学习,网络协议)