摄像头rtsp使用web socket在浏览器端显示
方法来自于:https://my.oschina.net/chengpengvb/blog/1832469
但作为一名node小白觉得大佬写的比较简略,像我这样的node小白部分省略掉的地方实在看不懂绕了很多弯路,因此详细记录一下。node方面真的是不太懂,也许我的步骤也不太正确,但可以用。
我的平台是windows。
准备工具
1 . Ffmpeg(点击下载),配置环境添加到path变量中。windows下载windows版本ffmpeg。
2 . Node.js(点击下载),配置环境添加到path变量中。
3 . jsmpeg(点击下载),运行主程序
4 . 运行jsmpeg
(1)先创建一个文件夹web,然后进入这个文件夹创建一个项目(不然没package.json)
npm init
(2)安装ws
npm install ws
(3)把jsmpeg中的文件全部拷到这个web文件夹
(4)运行jsmpeg文件夹里面的websocket-relay.js
终端: node websocket-relay.js supersecret 8081 8082
说明: Supersecret是密码 8081是ffmpeg推送端口8082是前端webSocket端口
5.运行解码程序
这是原作者给的指令
ffmpeg -i "rtsp://你的路径" -q 0 -f mpegts -codec:v mpeg1video -s 3840x2160 http://127.0.0.1:8081/supersecret
部分摄像头可能会参数报错
ffmpeg -i "rtsp://你的路径" -r 30 -q 0 -f mpegts -codec:v mpeg1video -s 1024x768 http://127.0.0.1:8081/supersecret
6.打开项目中的html,可以浏览了,延迟非常低,但听不到音频,目前我也不需要听到音频,以后需要的时候再记录。