我们开发的IP摄像机产品通过RTSP/UDP传输H.264/MPEG4/MJPEG视频。它有一个Web界面,目前我们使用VLC Firefox插件来浏览浏览器中的实时RTSP流,但是Firefox不再支持NPAPI插件,因此目前已经是死路一条。当前在Web浏览器中传输实况视频的最佳实践?
相机本身是一个相对低功率ARM的SoC(认为树莓派级别),所以我们没有广阔的备用资源,做这样的事情转码流在董事会上的动态。
主要目的是检查视频流是否从Web界面正常工作,因此在某些其他格式/传输/流引擎中流式传输新流(或将其转码)比能够以某种方式播放原始的RTSP流直接。在正常使用中,视频通过RTSP流式传输到VMS服务器,因此无法进行更改。
在一个理想世界的解决办法是开源的跨浏览器和发生的HTML5标签内,但如果它工作在一个或多个最流行的浏览器,我们会接受它。
我一直在阅读各种有关HTML5视频标签,WebRTC,HLS等勇敢新世界的各种各样的东西,还没有看到任何看起来像一个明智的和完整的解决方案,不涉及一些额外的转换/代码转换/重新流式处理,通常是由一些半支持的框架或中间的额外服务器,这不是一个可行的解决方案。
我还没有找到一个适当的描述,可以或不需要将我们的流“转换”为任何html5视频喜欢的内容,无论它是相同的基本视频流中的稍微不同的包装还是如果有很多开销,一切都不一样。同样,目前还不清楚这种转换是可以通过板载或甚至是使用JS的浏览器来实现的。
标题的原因是,如果我们必须改变这一切的方式,我们可能会尽可能地采取一切被认为是“最佳实践”和合理的面向未来的做法,而不是一些权宜之计软糖,可能无法超越下一轮浏览器更新/下一个W3C新闻稿...
我觉得有点令人失望(但也许并不奇怪),在2017年似乎没有明智的方式来实现这一点。
也许“至少最坏的做法”会更合适术语...
不幸的是,如果您不想添加转码,并且希望定位浏览器,那么您将需要重新考虑您的来源。 WebRTC或MPEG Dash(通过https)可能会是最好的长期平台独立解决方案,但为了支持您将需要更新相机以提供......至多VLC是一个适合当时的kludge ,但不再支持 – Offbeatmammal