目的:把树莓派摄像头变成一个onvif摄像头,并通过OneNET sdk推流。
简述:因为ONENET视频SDK的demo是支持onvif camera的,因此把树莓派的摄像头变成一个支持onvif camera的摄像头,然后在ubuntu中运行OneNET的sdk,并修改config.json文件,就可以直接推流到OneNET了。
实现方法:
使用官方Raspberry Pi相机,通过rtsp传输h264视频。树莓派上使用了硬件h264编码,还用到了live555
硬件准备:
树莓派 1
树莓派摄像头OV5647 1
步骤流程:
一:把树莓派变成一个支持onvif的ip camera
1、在树莓派上执行“rasps-config”命令,在config中去打开camera,并重启树莓派
2、安装NODEJS和Live555
curl -sL https:
sudo apt-get install nodejs
sudo apt-get install liblivemedia-dev
3、使用git clone命令直接获取源代码
git clone https:
4、进入RPOS目录
cd rpos
5、安装插件模块
npm install
6、使用本地Gulp模组编译
./node_modules/gulp/bin/gulp.js
7、重编译RTSP服务器。其中源代码放在cpp文件夹中,执行下面的脚本进行编译。
sh setup_v4l2rtspserver.sh
8、如果你想修改ONVIF服务器的端口的话,可以去修改文件rpsoConf.json
9、以管理员身份来执行程序
sudo node rpos.js
之后就可以使用onvif device manager来查看摄像头实时传输的视频了
10、可以登录http://rpos-ip:8081来修改配置(前面是树莓派的ip地址)
另:如果图像传输不稳定容易中断,可调低图像传输的分辨率。建议使用640480或320240
cd lib
gedit camera.js
修改代码的第35行,将Width和Height分别修改为320和240就可以。
二:使用OneNET sdk推流
注:如果还没有使用过ubuntu推流的同学可以参考这篇文章:
https://open.iot.10086.cn/bbs/thread-20004-1-1.html
1、进入ubuntu系统,打开命令行窗口,进入开发目录,修改配置文件
rm ont_device_ctx
gedit config.json
(ont_deivce_ctx这个文件会记录上次设备的信息,因此在修改设备id之后需要删除,在编译后会重新生成)
然后将config.json里面的信息改为树莓派的onvif设备ip地址
2、返回sdk目录,直接输入命令 sh videosamplebuild.sh,即可开始生成项目文件。
3、进入开发目录,输入以下两个命令,在输入这两个命令后,能够在OneNET开发者中心设备管理栏中看到该设备上线(会有一个小绿点提示)
cd bin/
./sample_ov5640
3、进入OneNET开发者中心,打开该产品,点击设备管理
再点击播放即可
OVER
要是哪里写得不对,欢迎指正探讨哈~