树莓派搭建视频监控平台 (2)

调整一下IndexController的代码,新增启动监控和停止监控的接口。

public void start() { String rtmpUri = get("rtmpUri"); if (StrKit.isBlank(rtmpUri)) { redirect("/?e=1"); return; } try { StreamManager.INSTANCE.startSender(rtmpUri); redirect("http://www.likecs.com/"); } catch (Throwable e) { redirect("/?e=2"); } } public void stop() { StreamManager.INSTANCE.stopSender(); redirect("http://www.likecs.com/"); }

编写播放页面

rtmp流播放采用videojs这个库

<!DOCTYPE html> <html> <head> <title>树莓派视频监控</title> <link href="http://www.likecs.com/css/video-js.css"> <script src="http://www.likecs.com/js/video.js"></script> </head> <body> <video controls poster="http://vjs.zencdn.net/v/oceans.png" preload="auto" data-setup="{}"> <source src="#(streamUri)" type="rtmp/flv"> </video> <br> <br> <div>#(e)</div> <div> <form action="/start"> 推流地址 : <input value="#(streamUri??'rtmp://127.0.0.1:1935/hls/test')"/> <br><br> <button>开启监控</button> </form> <br> <form action="/stop"> <button>断开监控</button> </form> </div> </body> </html> 5. 部署平台

平台开发完成后需要将平台部署到树莓派中运行起来即可,JFinal默认的demo已经提供了启停脚本,所以只需要在Eclipse中执行 mvn install 即可。

打包成功后,在项目的target目录下面会有如下结构:

jfinal_demo_for_maven-release \jfinal_demo_for_maven \-\config \-\lib \-\webapp \-\jfinal.sh # 另外我们需要将target目录下的jfinal_demo_for_maven-4.9.jar复制到lib目录下。

将上面的jfinal_demo_for_maven整个目录FTP上传到树莓派中,启动平台:

sudo ./jfinal.sh start # 这里可以改动jfinal.sh中指定的平台访问端口

启动成功后,可以在电脑上访问平台:

:8080

然后填写推流地址,点击开始监控即可。

raspi-stream

这样,基于树莓派的视频监控平台就部署好了。如果要关闭视频监控,只需要点击页面上的 断开监控 即可。

6. 拓展玩法

这里为了实践我是自己在树莓派上搭建了一个基于nginx + flv module 的流媒体服务器,当然还有很多玩法。

比如:

a. 在线上服务器搭建流媒体服务器,然后将视频流推送到线上服务器,这样就可以实现远程视频监控。

b. 另外也可以将视频流推送到直播平台,实现直播。

=========================================================
项目源码可关注公众号 “HiIT青年” 发送 “raspi-video” 获取。

HiIT青年

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsxsgf.html