1、视频原理
浏览器或是音视频播放器(如ffplay、VLC、射手影音等)播放互联网上视频文件,需要对接收数据经过以下几个步骤:
解析协议-> 解封装 -> 解码音视频 -> 音视频同步。
简单起见,可将视频数据分为以下四层如下表1-1所示,可结合图1-1了解其数据流在各阶段的处理流程
层级 | 作用 |
---|---|
协议层 | 处理符合特定流媒体协议规范的数据,如http、rtsp、rtmp等 |
封装格式层 | 处理符合特定格式规范的数据,如mkv、mp4、flv等 |
编解码层 | 符合特定编码标准规范的数据,如h264、h265、vp8、aac等 |
像素层 | 符合特定像素格式规范的数据,如yuv420p、yuv422p、rgb24、pem等 |
表1-1 音视频各层级协议封装格式表
图1-1 音视频数据流处理层级图
音视频流各协议层处理作用分别如下所述:
解协议
将流媒体协议的数据解析为标准的相应的封装格式数据。视音频在网络上传播的时候,常常采用各种流媒体协议,例如HTTP,RTMP,WebRTC或是MMS等等。这些协议在传输视音频数据的同时,也会传输一些信令数据。这些信令数据