视频封装格式
RTP
RTP是实时传输协议,是rtsp协议码流传输的封装格式
RTP码流每帧中所有的时间戳相等,且最后一个RTP包,包头的mark bit置1,RTP包含RTP头和RTP数据
TS
TS是基于MPEG-2的封装格式,特点就是视频流的任一片段开始都是可以独立解码的,广泛应用于数字电视领域
TS分为三层ts层、pes层、es层
- es层就是音视频数据
- pes层是在音视频数据上加了时间戳等对数据帧说明信息
- ts层是在pes层上加入数据刘识别和传输的必要信息码流
TS码流采用固定长度188字节的数据包
FLV
FLV主要是为了Adobe公司flash播放器和服务器之间音频视频和数据传输开发的开放协议RTMP协议的网络传输
FLV包括文件头和文件体两部分,文件体由一系列的Tag及Tag size对组成,Tag又可以分为audio、video和script,分别代表音频流,视频流和脚本流
-
优点 文件体积小,便于传输、共享 众多网站支持所有 -
缺点 不被所有播放器支持
PS
ps是程序流或节目流的简称,程序流将一个或多个分组但有共同的时间基准的基本数据流(PES)合并成一个整体流
PS流可以视为多个PS GOP,每个GOP是以I帧起始的多帧集合,包括音频帧、P/B帧等多个PS包组成
视频协议
RTSP
RTSP协议是一个实时流传输协议,输出rtp封装码流,具有很好的可扩展性,新方法和参数很容易加入RTSP
ONVIF
ONVIF规范描述了网络视频的模型、接口、数据类型以及数据交互的模式。并复用了一些现有的标准,如WS系列标准等。ONVIF规范的目标是实现一个网络视频框架协议,使不同厂家所产生的网络视频产品完全互通。
-
特点 信令由WebService实现 取流使用RTSP协议 码流封装格式为rtp 兼容性强,配套完善,市场占有率高 -
使用场景 第三方设备接入 海外市场
RTMP
实时消息传输协议,输出flv封装码流。RTMP协议传输数据格式是RTMP Message,但在传输时发生端会把Message划分为带有Message ID的chunk,在接收端会根据chunk中包含data的长度,message id和message的长度把chunk还原完整的message,从而实现信息的收发。
HLS
HTTP Live Streaming,输出TS封装码流。
- HLS协议由三部分组成,HTTP+M3U8+TS
- HTTP是传输协议,M3U8是索引文件,TS是视音频的媒体信息
- 利用切片技术按设定的时间间隔对TS码流进行切割并保存为一个TS文件
缺点:因为要有缓存,所以延迟严重
|