视音频技术主要包含以下几点:封装技术,视频压缩编码技术以及音频压缩编码技术。如果考虑到网络传输的话,还包括流媒体协议技术。
视频播放器播放一个互联网上的视频文件,需要经过:解协议,解封装,解码音视频,音视频同步,这四个步骤。播放本地文件只需要解封装,解码音视频,音视频同步这三个步骤。
解协议:就是将流媒体协议的数据,解析为标准的相应的封装格式数据。解协议过程中会去除掉网络上传送的指令数据而只保留音视频数据。
解封装:就是讲输入的封装格式的数据,分离为音频流压缩编码数据和视频流压缩编码数据。
解码:将音频/视频压缩编码数据,解码为非压缩的音频/视频原始数据。解码是整个系统中最重要也是最复杂的一个环节。通过解码,压缩编码的视频数据输出成为非压缩的颜色数据。
视音频同步:就是根据解封装模块处理过程中获取到的参数信息,同步解码出来的视频和音频数据,并将视频音频数据送至系统的显卡和声卡播放出来。
其解码视频流程图如下:
解码音频流程图如下: