流媒体调查小结

流媒体

流媒体使用指定的媒体格式编码数据实体,封装到指定格式(FLV、MPEG2-TS等),通过特定的传输协议、方式,对媒体数据进行切割打包,逐个发往客户端,由客户端进行即时解码播放。

流式传输方式

  • 顺序流式传输(Progressive streaming):静态下载,可通过标准HTTP发送,必须先下载好完整片段内容再进行播放,保证高质量播放,但无法避免加载延迟,传输不能中断跳转到未下载部分(不能快进调整下载起始点),不适用于大型或要求随机读取的音视频,现在已经沦为HTTP文件下载,不再作为流媒体传输方案。
  • 实时流式传输(Real time streaming):动态下载,需要通过专用流媒体服务器及配套传输协议进行发送,如RTSP或MMS,支持随机快进后退,音视频保证实时播放,但网速不佳时可能产生丢帧或质量下降等问题,并且需要防火墙放行,低延迟,适用于实时直播。
  • HTTP渐进式:对整个媒体内容进行小片段分割,通过HTTP进行分发下载播放,不需要部署特殊服务器,整合了顺序流式与实时流式的优势,目前较为流行。

实时流式传输主要的3种服务器

  • RealNetworks的RealServer
  • Apple的QuickTime Streaming Server
  • Windows Media Server

实时流式传输协议(应用层 <- 传输层 <- 网络层)

  • RTP (Real-time Transport Protocol)、RTCP:配套使用的传输层打包协议,相当于UDP/TCP,RTP用于传输数据实体,RTCP用于可靠传输、流量控制、拥塞控制等
  • RTSP (Realtime Streaming Protocol):基于RTP、RTCP、TCP、UDP等传输层构建的应用层控制框架协议(类似于HTTP),一般配套RealServer使用,用于控制多个数据发送连接,内置快进、暂停等多种媒体控制指令
  • MMS (Microsoft Media Server):由微软定义的应用层协议,类似RTSP,用于接收ASF(WMA、WMV)格式流媒体数据,并提供流媒体播放控制功能
  • RSVP (ResourceReserveProtocol):QoS机制的网络层协议,使用高权限预留带宽提供流畅的媒体传输服务,与路由协议协同工作
  • RTMP、RTMPT、RTMPS:Adobe为Flash传输流媒体数据定义的应用层开放协议,分别建立在TCP、HTTP、HTTPS协议上

HTTP渐进式协议(伪直播)

  • HLS (HTTP Live Streaming):由Apple定义的封装协议,主要用于移动端,通过HTTP传输被切割得很小的多媒体片段,通常分片长度为10秒,间断式下载播放,HTML5直接支持该协议
  • HDS (HTTP Dynamic Streaming):Adobe定义的类似HLS的协议,通常分片长度为2-4秒
  • MPEG-DASH:MPEG组织通用标准协议,类似于HLS,但不限制编码格式和传输协议,分片长度可自定义
  • HTML5

应用领域

PC端常用RTMP(对于移动端需要额外FFMPEG支持),移动端常用HLS(Android 3.0开始内置支持)
RTMP、RTSP或HTTP-FLV提供实时流传输服务,能有效控制延迟范围,HLS延迟取决于切片大小(通常为10秒)

流媒体编码

实时流式协议并不限定使用的媒体编码格式,可根据需要进行指定。
RTSP一般传输MPEG-TS、MP4格式数据流
RTMP一般传输FLV、F4V格式数据流
HLS中视频使用H264编码,音频使用AAC、MP3编码,封装为MPEG2-TS格式并根据分段策略进行切割(10秒)
HDS中视频支持H264或VP6,音频支持AAC或MP3,封装为MP4格式并切割(2-4秒),通过Adobe AIR进行跨平台支持
MPEG-DASH不限制编码格式,封装格式可指定为MP4或MPEG2-TS,切割长度自定,开放式标准

HLS HDS DASH比较

实时音频流主要格式

  • RealNetworks的RealAudio(*.ra)
  • Apple的QuickTime(*.qt / *.mov)
  • Windows Media Audio(*.asf / *.wma)

其他流媒体格式

  • RA/RM/RT/RP:对应于音频、视频、文本、图像
  • QT/MOV
  • ASF/WMA/WMV
  • SWF/MTS/AAM/AAS
  • AVI/MPEG/MPG/DAT等

其它关键词

  • ID3:MP3文件开头或结尾中包含音乐标题、专辑、归属等信息的数据块。(仅限于MP3格式拥有这项属性)
  • Airtime:网络广播内容开源管理平台
  • Icecast:开源流媒体服务器,用于将静态音视频文件或直播信号转换为特定格式数字流并发送,可通过HTTP传输MP3、Opus、Vorbis、FLAC、WebM或Theora格式数字流,或通过SHOUTcast流协议(使用ICY关键字标记)传输AAC和NSV(视频流媒体封装格式),支持SHOUTcast(跨平台流媒体专利软件,常用于网络电台)
  • StreamGuys:流媒体CDN,提供直播、点播服务
  • OOYALA:提供在线视频分发、广告接入、数据分析服务的公司,主要面向后端
  • FreeWheel:提供在线视频广告投放、检测分析服务的公司
  • GMF:Google Media Framework,集成ExoPlayer+IMA的轻量级媒体播放器
  • Akamai:全球最大的CDN提供商

你可能感兴趣的:(流媒体调查小结)