文章

流媒体协议基础

流媒体协议基础

流媒体协议基础

一般分为指令控制(tcp传输),和数据传输(udp传输)两类协议,分开工作。

流媒体协议标准

  • GB28181 适用大规模监控系统。使用SIP作为信令协议,通过RTP/RTCP实现流控制和反馈。除了规范流媒体传输,还做了通道信息级联同步等规范定义。

流媒体协议分类

常见的有

  • RTMP (应用层,绑定依赖浏览器的Flash播放器插件。可用于推、拉流)
  • RTSP(应用层,控制协议,播放、暂停、终止等指令控制。可用于推、拉流)参考
    • RTP (传输层,数据包传输) rfc规范
    • RTCP (传输层,控制协议,数据包流量控制)
  • http-flv (基于html5技术,无需浏览器插件。使用http请求+flv格式容器。用于拉流播放)
  • ws-flv (同http-flv,传输改用websocket)
  • webrtc (谷歌主导技术)
  • hls (苹果主导技术,切片有延时。用于拉流播放)
  • onvif 私有协议

控制协议内容基本基于纯文本,抓包可以看到。

常见概念

  • SIP Session Initiation Protocol,信令协议,控制协议。包含SIP域(SIP Domain)和SIP ID(SIP Identifier)用户或设备唯一标识符。
  • SSRC Synchronization Source Identifier,同步信源标识符。指产生媒体流的信源,例如麦克风、摄像机、RTP混合器等。它通过RTP报头中的一个32位数字SSRC标识符来标识,而不依赖于网络地址,接收者将根据SSRC标识符来区分不同的信源,进行RTP报文的分组。

容器格式

此外还有flv、mp4等。

压缩编解码

比如h264、h265等。

参考

本文由作者按照 CC BY 4.0 进行授权