视频监控

343 阅读1分钟

背景

视频监控设备是海康威视的,只有 RTSP 视频流,但是 Chrome 内核默认不支持 RTSP 流。

方案一

用 ffmpeg 在后台将 RTSP 流转成 HLS 流,前端加载 HLS 流。延迟高达 20s 以上,而且还经常失败。而且服务器转码的压力也很大,转上8个流就已经没有资源转其他的了

方案二

是 RTMP 流,前端用 Flash 插件播放 RTMP 流。延迟也达到了5s以上,而且服务器转码压力还是没有解决。

方案三

客户端自建 express 服务器,本地调用 ffmpeg 接收 RTSP 流直接转发到 Websocket 中,前端使用 Bilibili 的库 Flv.js 播放。终于能将时间压缩到 2s 。

方案四

WebAssembly

方案五

ffmpeg解码,直接webgl渲染,不用h5的播放器。 写addon调用avcodec,以及相关简单播放控制,可以参考ffplay, yuv数据直接给webgl,renderer开启node支持,yuv数据不要经过ipc

方案六

写个ppapi的插件,在native层拿到数据,在网页里播放就行了。更直接点,就是把海康的sdk封装成ppapi插件即可。

来源www.zhihu.com/question/26…