实时视频流到移动浏览器

Real time video streaming to mobile browsers

我有一个网站,用户可以在其中直播 video/audio 在他们的 "chat room" 中向观众直播。目前我依赖 RTMP/HLS 并使用 Wowza 媒体服务器。 我需要用于移动浏览器的低延迟选项。

RTMP 提供了启用 flash 的地方,但是 HLS 有 8-10 秒的延迟(优化)。我可以实现 WebRTC,但任何 IOS 浏览器都不支持播放。

就 protocols/techniques 而言,我有哪些选择?

HLS (and other HTTP protocols) - too much latency

你的意思是,HLS 和其他 分段 协议。

HTTP 不是问题,问题在于您正在写出 ~4 秒的块。

您可以使用 HTTP Progressive,轻松将延迟降低至 300 毫秒。

I could implement WebRTC but playback isn't supported in any IOS browsers.

现在已经不是这样了。 Safari 11 支持 WebRTC,我怀疑所有其他 iOS 浏览器(由 Safari 网络视图支持)也支持,但我没有亲自测试过。

WebRTC 是目前超低延迟视频流的唯一可行选择。

虽然 RTMP 与 Flash 没有特别关联,但由于 Flash 插件和语言支持的终止,RTMP 作为浏览器的传输协议已经过时。

像 HLS 和 MPEG-DASH 这样的分段协议本质上不适用于实时聊天应用程序,因为它们需要创建分段,这总是不合理的视频时间。

Android 和 iOS 原生支持 WebR: https://webrtc.org/native-code/android/ https://webrtc.org/native-code/ios/

如果您不想编写本机应用程序,您可以通过 Cordova 在纯 JavaScript 中完成此操作:

https://github.com/BasqueVoIPMafia/cordova-plugin-iosrtc