OneNET视频能力体验------使用树莓派摄像头推流

目的:把树莓派摄像头变成一个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

OneNET视频能力体验------使用树莓派摄像头推流_第1张图片

步骤流程

一:把树莓派变成一个支持onvif的ip camera

1、在树莓派上执行“rasps-config”命令,在config中去打开camera,并重启树莓派

2、安装NODEJS和Live555

  curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
  sudo apt-get install nodejs
  sudo apt-get install liblivemedia-dev

3、使用git clone命令直接获取源代码

git clone https://github.com/BreeeZe/rpos.git

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

OneNET视频能力体验------使用树莓派摄像头推流_第2张图片

之后就可以使用onvif device manager来查看摄像头实时传输的视频了

OneNET视频能力体验------使用树莓派摄像头推流_第3张图片

10、可以登录http://rpos-ip:8081来修改配置(前面是树莓派的ip地址)

另:如果图像传输不稳定容易中断,可调低图像传输的分辨率。建议使用640*480或320*240

cd lib
gedit camera.js
修改代码的第35行,将WidthHeight分别修改为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地址

OneNET视频能力体验------使用树莓派摄像头推流_第4张图片

2、返回sdk目录,直接输入命令 sh videosamplebuild.sh,即可开始生成项目文件。

3、进入开发目录,输入以下两个命令,在输入这两个命令后,能够在OneNET开发者中心设备管理栏中看到该设备上线(会有一个小绿点提示)

cd bin/ 
./sample_ov5640

3、进入OneNET开发者中心,打开该产品,点击设备管理

OneNET视频能力体验------使用树莓派摄像头推流_第5张图片

再点击播放即可

OneNET视频能力体验------使用树莓派摄像头推流_第6张图片

OVER

要是哪里写得不对,欢迎指正探讨哈~

你可能感兴趣的:(ONENET,物联网)