第一步 解析协议
如果是在网络上传输一个音视频时 首先需要解析协议 这是因为协议中可能包含一些网络的状况和一些控制命令 这些协议在传输视音频数据的同时,也会传输一些信令数据。这些信令数据包括对播放的控制(播放,暂停,停止),或者对网络状态的描述等。解协议的过程中会去除掉信令数据而只保留视音频数据。但是如果是本地文件的播放则不需要解协议 因为他已经是封装格式数据
第二步 解封装
经过第一步过后 你会得到一个数据 但是此时这个数据并不是图像的数据 也不是音频的数据 而是两者综合一起的数据 如果直接去使用播放器去播放是播放不了的 因为他既不是图像数据 例如 rgb yuv 也不是音频数据 在解封装过后 你会得到两种不同的数据 称为 视频数据和音频数据 但是此时的数据一样不能直接播放 因为他们是经过压缩的 并不是图像本身的信息
第三步 音频解码 视频(图片)解码
在上一步中 你得到了压缩之后的数据 压缩数据有很多种方式 比较常用的图片压缩标准有如下几种 h.264 h.265 等等 目前运用最广泛的就是h.264压缩标准 比较常用的音频压缩标准有如下几种
AAC MP3等等 目前运用最广泛的是AAC音频压缩标准
第四步 音视频同步
在上一步中 你已经得到了可以真正播放的音频和视频信息 但是你不能盲目的播放 你必须让两者同步播放 不然用户就会觉得音画不同步 导致用户体验极差
第五步 输出
显卡和音频驱动收到数据 处理数据到输出设备 最后由输出设备真正完成输出