查看: 92686|回复: 26

[例程/教程] OneNET视频能力体验------使用树莓派摄像头推流

  [复制链接]

5

主题

102

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
发表于 2018-3-12 11:19:53 | 显示全部楼层 |阅读模式
本帖最后由 zhouyunjin 于 2018-11-5 09:08 编辑

手里有树莓派和摄像头的同学,可以来体验一波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

5_.jpg


步骤流程


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


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


2、安装NODEJS和Live555

  1.   curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
复制代码

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


  1. git clone https://git***.com/BreeeZe/rpos.git
复制代码
(请把***替换掉)


4、进入RPOS目录


  1. cd rpos
复制代码

5、安装插件模块,这个命令会把package.json里面的依赖给安装上
  1. npm 1nstall
复制代码
(1要换成i)

6、使用本地Gulp模组编译

  1. ./node_modules/gulp/bin/gulp.js
复制代码


7、重编译RTSP服务器。其中源代码放在cpp文件夹中,执行下面的脚本进行编译。


  1. sh setup_v4l2stspserver.sh
复制代码

8、如果你想修改ONVIF服务器的端口的话,可以去修改文件rpsoConf.json



9、以管理员身份来执行程序


  1. sudo node rpos.js
复制代码


4_.jpg


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


6_.png


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


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

  1. cd lib
  2. gedit camera.js
复制代码


修改代码的第35行,将Width和Height分别修改为320和240就可以。



二:使用OneNET sdk推流




注:如果还没有使用过ubuntu推流的同学可以参考这篇文章:


https://open.iot.10086.cn/bbs/thread-20004-1-1.html


1、进入ubuntu系统,打开命令行窗口,进入开发目录,修改配置文件

  1. rm ont_device_ctx
  2. gedit config.json
复制代码



(ont_deivce_ctx这个文件会记录上次设备的信息,因此在修改设备id之后需要删除,在编译后会重新生成)

然后将config.json里面的信息改为树莓派的onvif设备ip地址


3_.png


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


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

  1. cd bin/
  2. ./sample_ov5640
复制代码

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



2_.png

再点击播放即可

1_.png




OVER


写得不对的地方,欢迎一起指正探讨


------------------------
贴一个交叉编译,移植SDK的例子

https://blog.csdn.net/jo_joe/article/details/79628963

[color=rgba(0, 0, 0, 0.75)]OneNET视频推流------使用树莓派交叉编译工具






回复

举报

0

主题

6

帖子

20

积分

新手上路

Rank: 1

积分
20
发表于 2018-3-19 08:27:17 | 显示全部楼层
你好。我编译在生成makefile阶段提示这个错误。是在pc机上编译的。如何解决。谢谢
root@ubuntu:/work/video_sdk-master/tools# ./videosamplebuild.sh
mkdir: cannot create directory `video_sample_build': File exists
-- Configuring done
CMake Error at platforms/posix/CMakeLists.txt:12 (add_library):
  Cannot find source file "OBJECT".  Tried extensi** .c .C .c++ .cc .cpp
  .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx


CMake Error in sample/CMakeLists.txt:
  Cannot find source file "$<TARGET_OBJECTSinux_s_o>".  Tried extensi** .c
  .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx


-- Build files have been written to: /work/video_sdk-master/video_sample_build
-- Configuring done
CMake Error at platforms/posix/CMakeLists.txt:12 (add_library):
  Cannot find source file "OBJECT".  Tried extensi** .c .C .c++ .cc .cpp
  .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx


CMake Error in sample/CMakeLists.txt:
  Cannot find source file "$<TARGET_OBJECTSinux_s_o>".  Tried extensi** .c
  .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp .hxx .in .txx


-- Build files have been written to: /work/video_sdk-master/video_sample_build

0

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2018-6-16 23:39:53 | 显示全部楼层
老哥,这款开发板如何申请啊急需

5

主题

102

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
 楼主| 发表于 2018-8-7 16:01:03 | 显示全部楼层
zhao_rd 发表于 2018-6-15 16:11
菜鸟请教一个各位大侠问题: ubuntu系统是要装在树莓派上面吗? 如果树莓派上已经装了linux,是否要卸掉再装u ...

树莓派上只是跑了一个软件而已,不用装啥子系统

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2018-4-23 14:17:02 | 显示全部楼层
bin文件夹下config.json里的设备ID是我的ID,但是运行完以后ID不对应,请问是怎么回事?
1.png

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2018-6-15 16:11:12 | 显示全部楼层
菜鸟请教一个各位大侠问题: ubuntu系统是要装在树莓派上面吗? 如果树莓派上已经装了linux,是否要卸掉再装ubuntu系统?谢谢

5

主题

102

帖子

263

积分

中级会员

Rank: 3Rank: 3

积分
263
 楼主| 发表于 2018-4-24 10:28:37 | 显示全部楼层
yu_qiushui 发表于 2018-4-23 14:17
bin文件夹下config.json里的设备ID是我的ID,但是运行完以后ID不对应,请问是怎么回事? ...

应该是因为现在sample的写法,是使用你的注册码去创建了一个设备吧。详情可以去看sample的源码

0

主题

1

帖子

0

积分

新手上路

Rank: 1

积分
0
发表于 2018-3-26 16:35:42 | 显示全部楼层
都是程序员吗?没学过。来围观一下。

0

主题

2

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2018-3-20 21:39:38 | 显示全部楼层
你好,请问我在执行了sudo node rpos.js之后出现Streaming on URL "rtsp//:..........."(RTSP-over-HTTP tunneling is not available)是该如何解决?,前面都是正确的

0

主题

1

帖子

3

积分

新手上路

Rank: 1

积分
3
发表于 2018-3-19 08:59:50 | 显示全部楼层
这个真的不错,学习学习

1

主题

2

帖子

8

积分

新手上路

Rank: 1

积分
8
发表于 2018-3-16 16:48:18 | 显示全部楼层
这个牛      

69

主题

372

帖子

1369

积分

金牌会员

Rank: 6Rank: 6

积分
1369
发表于 2018-3-12 14:18:20 | 显示全部楼层
沙发就由我来占了~赞一个啦
1、麒麟座开发板交流QQ群:572063260
QQ群目前非常活跃,欢迎大家参与进来,交流,讨论,答疑,解惑~~
2、中移OneNET微信公众号:中移OneNET
关注中移OneNET官方公众号随时掌握最新资讯和活动信息

4

主题

34

帖子

131

积分

注册会员

Rank: 2

积分
131
发表于 2018-3-12 14:27:05 | 显示全部楼层
支持一下!
弹霄博科,你好物联网:https://www.txisfine.cn

3

主题

16

帖子

93

积分

注册会员

Rank: 2

积分
93
发表于 2018-3-12 16:59:07 | 显示全部楼层
学习学习

2

主题

26

帖子

67

积分

注册会员

Rank: 2

积分
67
发表于 2018-3-15 23:15:25 | 显示全部楼层
厉害厉害
董科学
高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

快速回复 返回顶部 返回列表