笔者最近的业务中,需要将摄像头的图像在大屏或者html页面展示出来。本文以大华摄像头为例,介绍具体的做法。
设备清单
- 大华摄像头(P20A2-WT)但笔者还是推荐海康。
- 本地同机房主机(Linux)
公网服务器或ipv6网络
安装EasyDarwin
EasyDarwin
是一款流媒体服务器软件。支持视频点播、RTMP推流直播(RTSP、FLV、WebRTC)、串流拉流直播、服务端录像与回放、视频抽帧快照。
官网下载地址: https://www.easydarwin.org/p/easydarwin.html
根据系统类型,下载安装包。执行./EasyDarwin
运行。运行后,访问ip:10086
效果如下:
初始账号和密码:admin/admin
类型一 拉流直播
新建直播,按照如下要求填写。
大华推流地址
rtsp://admin:admin12345==@192.168.123.91/cam/realmonitor?channel=1&subtype=1
海康等其他品牌的,可以自行搜索。添加完成后,效果如下:
点击播放按钮,效果如下:
这样我们就得到了摄像头的直播地址,如m3u8
地址。
类型二 推流直播
同样,我们新建直播,选择推流直播。按要求填写。
点击播放按钮,我们便可以得到推流地址rtmp://pan.bbskali.cn:10035/live/sPMPun8SR?sign=sPMEu7USgz
其中sPMPun8SR?sign=sPMEu7USgz
就是推流密匙。我们以OBS为例:
当然,如果你的摄像头支持rtmp。直接在摄像头后台添加推流地址就行了。
推流成功后,在后台我们变可以获得直播画面了。
两者对比
拉流
只能在本地访问,公网不能访问。因此我们可以利用frp或者IPv6访问。推流
可以直接将数据推送到公网服务器,实现公网访问。
公网访问
在很多情况下,公网是不能访问的。如我们得到的直播流地址http://182.168.123.90:10086/hls/cMOAm7USR/playlist.m3u8
是无法在公网访问的。因此我们可以做端口映射,将182.168.123.90:10086
映射即可。后面的地址不变!其实IPv6也是不错的选择。
总结
笔者在实际测试中,大华摄像头有很多问题。推流直播一直推不到服务器,只能用拉流直播搞。最后一起来看看效果。
2 comments
这动环监控不会是你手搓的吧?大佬!
现在摄像头延迟问题、卡顿问题解决就好了