【发布时间】:2018-03-29 01:39:54
【问题描述】:
我们开发了一款通过 RTSP/UDP 流式传输 H.264/MPEG4/MJPEG 视频的 IP 摄像头产品。它有一个网络界面,目前我们使用 VLC Firefox 插件来允许在浏览器中查看实时 RTSP 流,但 Firefox 正在放弃对 NPAPI 插件的支持,因此目前这是一条死胡同。
相机本身是一个相对低功耗的 ARM SoC(想想 Raspberry Pi 级别),因此我们没有大量的备用资源来执行诸如在板上即时转码流等事情。
主要目的是从网络界面检查视频流是否正常工作,因此以某种其他格式/传输/流引擎流式传输新流(或对其进行转码)不如能够以某种方式播放原始流RTSP 直接流式传输。在常规使用中,视频通过 RTSP 流式传输到 VMS 服务器,因此无法更改。
在理想情况下,解决方案将是开源跨浏览器并发生在 HTML5 标记内,但如果它适用于一个或多个最流行的浏览器,我们将采用它。
我一直在这里和网络上阅读各种关于 HTML5 视频标签、WebRTC、HLS 等的勇敢新世界的内容,但还没有看到任何看起来像明智且完整的解决方案的东西'不涉及一些额外的转换/转码/重新流式传输,通常由一些半支持的框架或中间的额外服务器,这不是一个可行的解决方案。
我还没有找到关于将我们的流“转换”为whatever-html5-video-likes可能需要或不需要什么的正确描述,无论它只是围绕相同基本视频流的稍微不同的包装器,还是有很多开销,一切都不同。同样,尚不清楚是否可以在板载或什至使用 JS 在浏览器中实现转换。
标题的原因是,如果我们必须改变它的所有工作方式,我们不妨致力于做任何被认为是“最佳实践”并且尽可能合理地面向未来的事情,而不是一些权宜之计在下一轮浏览器更新/下一次 W3C 新闻稿之后,这可能无法正常工作......
我觉得在 2017 年似乎没有实现这一目标的明智方法有点令人失望(但也许并不奇怪)。
也许“最坏的做法”是更合适的术语......
【问题讨论】:
-
遗憾的是,如果您不想添加转码,并且想要针对浏览器,您将需要重新考虑您的来源。 WebRTC 或 MPEG Dash(通过 https)可能是最好的长期独立于平台的解决方案,但要支持您需要更新相机以提供该功能……充其量,VLC 是一个适合当时的组合,但不再支持
标签: html video browser video-streaming html5-video