Published on

三种不同流媒体传输协议简介

Authors
  • avatar
    Name
    yushenw
    Linkedin

RTMP、HLS和MPEG-DASH是三种流行的流媒体传输协议,它们各自有不同的特点和应用场景。下面是对这三种协议的简要介绍以及它们的地址格式示例:

RTMP (Real-Time Messaging Protocol)

  • 特点:RTMP是由Adobe开发的一种设计用于高性能传输音频、视频和数据的协议,主要用于实时直播。RTMP基于TCP,能够提供稳定的连接和低延迟传输,但由于它不是基于HTTP,因此可能会被某些防火墙或网络设备阻挡。
  • 应用场景:主要用于直播流的推送(从编码器到服务器)和一些要求低延迟的应用。
  • 地址格式
    rtmp://server-address/app/stream
    
    例如: rtmp://example.com/live/stream123

HLS (HTTP Live Streaming)

  • 特点:HLS是由Apple开发的基于HTTP的流媒体传输协议,支持动态比特率适配,这意味着视频可以根据用户的网络速度动态调整质量。HLS通过将视频分割成一系列小的基于HTTP的文件来工作,每个文件包含一小段视频内容。
  • 应用场景:广泛用于各种设备和浏览器的视频点播和直播,特别是在需要适应不同网络条件和跨平台兼容性的场景。
  • 地址格式
    http://server-address/path/playlist.m3u8
    
    例如: http://example.com/live/stream123.m3u8

MPEG-DASH (Dynamic Adaptive Streaming over HTTP)

  • 特点:MPEG-DASH是一个国际标准,支持从简单的视频点播到高质量的直播。与HLS类似,DASH也是基于HTTP的自适应比特率流媒体传输协议,允许高质量的流媒体通过互联网传输。
  • 应用场景:适用于需要高度自定义和支持广泛设备的视频点播和直播服务。
  • 地址格式
    http://server-address/path/manifest.mpd
    
    例如: http://example.com/live/stream123.mpd

总结

  • RTMP 适合实时直播场景,特别是在对延迟敏感的应用中,但由于不是基于HTTP,兼容性和穿透防火墙能力不如基于HTTP的协议。
  • HLSMPEG-DASH 都是基于HTTP的自适应比特率流媒体传输协议,支持通过普通的Web服务器分发,更容易穿透防火墙,且兼容性好。HLS由于其在iOS设备上的原生支持和广泛的应用,成为了直播和点播的主流选择之一。而MPEG-DASH作为一个开放的国际标准,提供了更多的灵活性和自定义能力,逐渐在各种应用中得到采用。