1.音视频播放原理介绍

   音视频技术主要包含以下几种:封装技术,视频压缩技术,音频压缩技术,流媒体协议技术以及防盗链技术。接下来的几篇文章将对这几种技术做深入的研究和实践。下面简单说明一下视频播放的原理(以播放互联网上的视频为例):


1.音视频播放原理介绍_第1张图片
视频播放器原理

服务器端的视频数据通过流媒体协议下载到客户端,依次会经过以下的过程:

1.解协议:将流媒体协议的数据解析为相应的封装格式数据,比如RTMP协议解析后得到flv,HLS协议解析后得到ts。流媒体协议在音视频传输的同时,还会包含一些其他的数据,比如RTMP协议会包含一些信令数据,这些信令数据包括对播放的控制(暂停,播放,停止等),或者是对网络状态的描述。HLS协议中会包含索引文件等等。解协议的过程就是只保留音视频数据,去除掉其他的数据。

2.解封装:经过解协议过程,得到视频的封装格式数据后,解封装过程会将其分离成为某种编码格式的音频压缩数据和某种编码格式的视频压缩数据,有的可能还包括字幕和脚本。例如:flv或ts格式的数据,解封装后得到H.264编码的视频码流和AAC编码的音频码流。

3.解码:解封装过程完毕后,分别得到压缩的视频码流和音频码流,解码的过程就是将压缩(编码)后的音视频数据解压,得到系统音频驱动和视频驱动能够识别的音频采样数据(如PCM数据)和视频像素数据(如YUV420P,RGB)。

4.视音频同步:根据时间,帧率和采样率采用一定的算法,同步解码出来的视频和音频数据,并将视频音频数据送至显卡和声卡播放出来。

你可能感兴趣的:(1.音视频播放原理介绍)