实时视频流到移动浏览器
Real time video streaming to mobile browsers
我有一个网站,用户可以在其中直播 video/audio 在他们的 "chat room" 中向观众直播。目前我依赖 RTMP/HLS 并使用 Wowza 媒体服务器。 我需要用于移动浏览器的低延迟选项。
RTMP 提供了启用 flash 的地方,但是 HLS 有 8-10 秒的延迟(优化)。我可以实现 WebRTC,但任何 IOS 浏览器都不支持播放。
就 protocols/techniques 而言,我有哪些选择?
- RTMP - 垂死且仅适用于插件
- HLS(和其他 HTTP 协议)- 延迟过多
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 中完成此操作:
我有一个网站,用户可以在其中直播 video/audio 在他们的 "chat room" 中向观众直播。目前我依赖 RTMP/HLS 并使用 Wowza 媒体服务器。 我需要用于移动浏览器的低延迟选项。
RTMP 提供了启用 flash 的地方,但是 HLS 有 8-10 秒的延迟(优化)。我可以实现 WebRTC,但任何 IOS 浏览器都不支持播放。
就 protocols/techniques 而言,我有哪些选择?
- RTMP - 垂死且仅适用于插件
- HLS(和其他 HTTP 协议)- 延迟过多
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 中完成此操作: