流媒体协议

服务器与客户端之间通信遵循的规定。目前网上主流的媒体协议如下表:

名称 传输层协议 客户端
RTSP+RTP TCP+UDP VLC,WMP
RTMP TCP Flash
RTMFP UDP Flash
MMS TCP/UDP WMP
HTTP TCP Flash

RTSP(Real-TimeStream Protocol )是一种基于文本的应用层协议,被用于建立的控制媒体流的传输,它为多媒体服务扮演“网络远程控制”的角色。详细

RTMP协议是一个互联网TCP/IP五层体系结构中应用层的协议。RTMP协议中基本的数据单元称为消息(Message)。当RTMP协议在互联网中传输数据的时候,消息会被拆分成更小的单元,称为消息块(Chunk)。 详细

封装格式

音视频码流按某种格式存储在一个文件中。如今流行的封闭格式如下:

名称 流媒体(边下边播) 支持的视频编码 支持的音频编码
AVI NO 几乎所有 几乎所有
MP4 YES MPEG-2, MPEG-4, H.264, H.263等 AAC, MPEG-1 Layers I, II, III, AC-3等
TS YES MPEG-1, MPEG-2, MPEG-4, H.264 MPEG-1 Layers I, II, III, AAC
FLV YES Sorenson, VP6, H.264 MP3, ADPCM, Linear PCM, AAC等
MKV YES 几乎所有格式 几乎所有格式
RMVB YES RealVideo 8, 9, 10 AAC, Cook Codec, RealAudio Lossless

视频编码

主要作用是将视频像素数据(RGB、YUV等)转换成码流,如果不压缩一部电影可达上百G,因此这一步骤非常的重要。命令行使用方式 视频码流分析工具

名称 推出时间 使用领域 备注
HEVC(H.265) 2013 研发中 HM的使用
H.264 2003 各领域 官方标准JM
MPEG4 2001 使用率不高
MPEG2 1994 数字电视
VP9 2013 研发中
VP8 2008 不普及 深入
VC-1 2006 微软

H.264仅仅是一个编码标准,而不是一个具体的编码器。瓶颈与解决方法

VP8与H.264

AVS与H.264

音频编码

主要

作用是将采集到的(PCM等)压缩成码流,但是一般数据量远小于视频,使用落后的编码标准数据量不会差距很大,主要是为了更高的音质。

名称 推出时间 使用领域 备注
AAC 1997 各个领域 简介
AC-3 1992 电影
MP3 1993 各个领域
WMA 1999 微软

AAC的音频文件格式有以下两种:

ADIF:Audio Data Interchange Format 音频数据交换格式。这种格式的特征是可以确定的找到这个音频数据的开始,不需进行在音频数据流中间开始的解码,即它的解码必须在明确定义的开始处进行。故这种格式常用在磁盘文件中。

ADTS:Audio Data Transport Stream 音频数据传输流。这种格式的特征是它是一个有同步字的比特流,解码可以在这个流中任何位置开始。它的特征类似于mp3数据流格式。这种格式可以用于广播电视。

简言之。ADIF只有一个文件头,ADTS每个包前面有一个文件头。

图中表示出了ADTS一帧的简明结构,其两边的空白矩形表示一帧前后的数据。