【问题标题】:What streaming protocols can publish video/audio?哪些流媒体协议可以发布视频/音频?
【发布时间】:2016-06-12 09:17:56
【问题描述】:

我目前正在研究流式传输协议,但我对哪些协议实际上可以用于发布音频和视频感到有些困惑。在这一点上,我相信以下内容是正确的,但我不确定这一切是否正确,所以如果我错了,请纠正我:

RTMP 适用于发布和播放流。

RTSP 适用于发布和播放流。

HLS 适合播放流,不适合发布(http://blog.infrared5.com/2016/01/what-you-need-to-know-about-hls-pros-and-cons/)

HLS 是一个仅限订阅者的协议。与具有从浏览器发布规范的 WebRTC 不同,HTTP Live Streaming 仅支持播放流。如果您想为设备发布实时视频流,您只需寻找其他技术即可。

WebRTC 适用于发布和播放流。

MPEG-DASH 不确定这个?

如果协议不支持广播(例如 HLS),通常如何实现广播?

【问题讨论】:

  • 定义“发布”。这意味着“使用浏览器从客户的相机/麦克风上传[到某处]”
  • 也许我应该更清楚地说明我的情况。我感兴趣的是用我的 Android 设备的摄像头记录一些东西,然后用户就可以现场观看。我已经能够通过 RTMP 实现这一点,但我也对其他流协议的可能性感兴趣。

标签: webrtc rtsp rtmp http-live-streaming mpeg-dash


【解决方案1】:

RTSP 是一种“元协议”,用于交换控制消息(播放、暂停等),但它本身并不流式传输数据。其他协议如 RTMP 用于实现这一点。

HLS 和 MPEG-DASH 仅用于从服务器流式传输视频;服务器需要以特定的方式准备视频数据,客户端可以按照 HLS/MPEG-DASH 协议使用标准 HTTP 协议使用可变比特率从服务器接收视频数据。它与将视频从客户端上传到服务器无关。

执行后者的选项是 WebRTC 和 RTMP。 RTMP 是老式的(部分)专有解决方案,需要一些服务器端组件,要么是 Adob​​e Flash 媒体服务器(或任何市场营销名称 du jour),要么是开源替代实现。它需要在客户端使用 Flash 或其他有能力的浏览器插件。

WebRTC/ORTC 是最新浏览器原生的标准化开放协议,无需插件即可工作,并且可以流式传输视频 P2P;这意味着您可以直接在两个用户之间进行流式传输,也可以流式传输到可以录制/转码/重播流的服务器。

如果您愿意安装任何类型的浏览器插件,我不会过多担心协议,而是查看支持流式视频的产品;如果你想要一个原生的开源解决方案,那就是 WebRTC。

【讨论】:

  • 那么直播使用的协议是RTMP还是WebRTC?如果使用 HLS 播放直播,服务器实际接收的是 RTMP 还是 WebRTC 流?
  • 服务器在后端做什么来生成视频是一个完全不同的话题。可能只是磁盘上的静态预处理文件,可能是来自直接连接到服务器的摄像机的实时流,可能是转码的 WebRTC 流......这超出了 HLS/MPEG-DASH 的范围。
  • 作为 RTMP 和 WebRTC 的替代方案,还有 RTMFP,它是一种专有解决方案,但允许直接 P2P 和多播。由于 WebRTC 是一种 UDP 协议,因此它比 RTMP 更适合在互联网上进行流式传输。
猜你喜欢
  • 1970-01-01
  • 2013-02-24
  • 2013-05-16
  • 1970-01-01
  • 1970-01-01
  • 2014-02-06
  • 1970-01-01
  • 2011-06-11
相关资源
最近更新 更多