2在网页中嵌入实时RTSP流

我最近一直在进行智能家居设置工作,而我一直想要设置的一件事就是带有触摸屏网络界面的标签页,用于管理我的智能家居. 我必须破解的第一个问题是如何将CCTV提要流式传输到Web浏览器...

问题

我的闭路电视摄影机, 像许多, 仅提供RTSP流. 没有现代的网络浏览器支持RTSP.

搜索和要求

Google不再是以前的样子,经过几天的搜索,找到了可以满足我所有要求的可接受的解决方案……

  • 我想要一些可以完全脱机工作的东西,而无需任何第三方服务.
  • 我想要一些完全合法的东西, 理想的开源
  • 我想要一些不会对视频或音频进行转码的东西,因为这会浪费处理资源

解决方案

我发现一个 真正有用的指南 解释了一种使用JavaS­cript和ffm­peg做到这一点的方法, 这两个都是免费的.

为了运行ffm­peg,我使用了以下命令, 作为服务我在窗口上运行, 由nssm创建...
ffmpeg -i rtsp://your_rtsp_ip:port/path/to/file.stream -c:v copy -c:a copy -bufsize 1835k -pix_fmt yuv420p -flags -global_header -hls_time 10 -hls_list_size 6 -hls_wrap 10 -start_number 1 /var/www/html/video.m3u8

要嵌入视频,我下载了以下css文件并 2 js文件

  • https://vjs.zencdn.net/7.2.3/video-js.css
  • https://cdnjs.cloudflare.com/ajax/libs/videojs-contrib-hls/5.14.1/videojs-contrib-hls.js
  • https://vjs.zencdn.net/7.2.3/video.js

然后,我使用了指南中的代码 (带有本地文件的修改路径) 嵌入立即可用的视频. ffm­peg正在使用 0.2% CPU使用率以及托管网站的服务器上的几MB内存.

最后一点, 以防万一-我用了 ffm­peg的win64静态版本 4.2.2

Leave a Reply

2 条评论

JS杰克·斯特劳

供参考, 铬 (迄今为止只有 chrome) 可以直接读取 .m3u8 文件并像播放 mp4 等一样播放视频.

回复
Ŧ汤玛士

你好呀,
我试图做同样的, 但我似乎无法使其正常工作
我听了你的指示, 和链接的一个, 但我似乎仍然在实时Feed和发布的Feed之间延迟了20-30秒
任何想法可能是什么原因?

回复