ubuntu网络摄像头接入OneNET示例

一、平台端注册
https://open.iot.10086.cn/develop/video

二、设备端开发
1、下载sdk
SDK下载地址:https://github.com/cm-heclouds/video_sdk
git clone https://github.com/cm-heclouds/video_sdk video_sdk

sdk介绍
1)文件目录
bin:可执行文件及其运行时所需配置文件所在目录;
include:SDK对外接口声明文件所在目录;
lib:库目录;
platforms:跨平台代码;
sample:接入OneNET视频云示例;
src: ODVP接口等代码所在目录;
tools:构建sample生成可执行程序的脚本文件;
README.md:说明文件。
2)头文件路径:

#inlcude/device.h
#inlcude/platform_cmd.h
#inlcude/rtmp_if.h
#inlcude/rvod.h
编译工具: cmake
3)接口列表
1.设备相关接口
接口名称 说明 备注
ont_device_create 创建OneNET接入设备 参考device.h
ont_device_get_acc 获取接入机地址和接入机token 参考device.h
ont_device_connect 设备连接鉴权接口 参考device.h
ont_device_verify 验证从接入机获取得到的token 参考device.h
ont_device_request_rsa_publickey 请求平台的RSA 公钥
同时平台会下发请求设备公钥 参考device.h
ont_device_replay_rsa_publickey 设备向OneNET发送加密公钥 参考device.h
ont_device_register 设备注册 参考device.h
ont_device_auth 设备鉴权,设备可以只注册一次,再以后的连接中使用鉴权码鉴权,从而提高效率 参考device.h
ont_device_data_upload 设备数据上传 参考device.h
ont_device_get_channels 获取设备下的通道 参考device.h
ont_device_del_channel 删除设备下的通道 参考device.h
ont_device_add_channel 增加通道 参考device.h
ont_device_keepalive 设备保活接口 参考device.h
ont_device_check_receive 检查是否有平台下发的数据需要处理 参考device.h
ont_device_reply_ont_cmd 设备向OneNET发送命令响应结果 参考device.h
ont_device_reply_user_defined_cmd 设备向OneNET发送命令响应结果 参考device.h
ont_device_deal_api_defined_msg 设备处理API下发的自定义消息 参考device.h
ont_device_deal_plat_resp_push_stream_msg 设备处理平台回复的设备推流请求 参考device.h
ont_device_set_platformcmd_handle 设置平台命令处理函数 参考device.h
ont_device_get_systime 同步平台的系统时间到设备 参考device.h
ont_device_keep_connect 设备与OneNET连接保持 参考device.
ont_device_disconnect 断开连接接口 参考device.h
ont_device_destroy 销毁实例接口 参考device.h
ont_device_req_push_stream 设备请求推流并调用回调函数处理平台回复 参考device.h
2.指令回调接口(平台移植接口)

接口名称 说明 备注
t_ont_cmd_live_stream_ctrl 直播流级别切换 参考platform_cmd.h
t_ont_cmd_dev_ptz_ctrl 云台控制 参考platform_cmd.h
t_ont_cmd_dev_query_files 设备历史流文件查询 参考platform_cmd.h
t_ont_keepalive_resp_callback 心跳保活回复 参考device.h
t_ont_live_stream_start 通知直播流开始 参考device.h
t_ont_vod_start_notify 通知历史流回放开始 参考device.h
t_user_defind_cmd 用户自定义指令 参考device.h
t_api_defind_msg 处理API自定义消息 参考device.h
t_plt_resp_dev_req_stream_msg 处理平台回复推流请求的信息 参考device.h
3.rtmp实时视频相关接口

接口名称 说明 备注
rtmp_create_publishstream 创建rtmp推流实例接口 参考rtmp_if.h
rtmp_stop_publishstream 关闭rtmp推流实例接口 参考rtmp_if.h
rtmp_send_metadata 发送metadata接口 参考rtmp_if.h
rtmp_send_spspps 发送sps数据接口 参考rtmp_if.h
rtmp_send_videodata 发送视频帧接口 参考rtmp_if.h
rtmp_send_audiodata 发送音频帧接口 参考rtmp_if.h
rtmp_check_rcv_handler rtmp接收处理接口 参考rtmp_if.h
rtmp_make_audio_headerTag 创建flvaudio headerflag接口 参考rtmp_if.h
rtmp_send_h264data 发送H264视频帧 参考rtmp_if.h
4.本地历史视频相关接口

接口名称 说明 备注
rtmp_rvod_createctx 创建历史视频实例接口 参考rvod.h
rtmp_rvod_destoryctx 销毁历史视频实例接口 参考rvod.h
rtmp_rvod_start 开始历史视频推流接口 参考rvod.h
rtmp_rvod_stop 结束历史视频推流接口 参考rvod.h
rtmp_rvod_send_videoeof 文件发送结束通知接口 参考rvod.h

2、配置
打开sdk bin目录的config.json
各字段含义如下:

productid: 产品号
deviceid: 设备号,可为0
pass: 产品注册码
id: 设备唯一标识
channel_id:通道编号
url: onvif设备地址
user: 登录onvif设备的用户名
passwd:登录onvif设备的密码
defaultlevel: onvif设备默认的码率播放级别(1:流畅 2:标清 3:高清 4:超清)
channel_id:本地视频通道编号
location:本地存储路径
beginTime:视频开始时间
endTime:视频结束时间
videoTitle:视频名称
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
三、编译sdk
ubuntu下解压,进入tools目录
videosamplebuild-mp4v2.sh 是mp4文件上传
videosamplebuild-onvif.sh 网络摄像头视频上传
videosamplebuild-arm.sh 交叉编译

这里我们用 sh videosamplebuild.sh

修改配置脚本,
在这里插入图片描述

填入产品id、设备id、注册码
以及网络摄像头的地址、用户名、密码
在这里插入图片描述

生成文件在bin目录下
在这里插入图片描述

四、执行
在这里插入图片描述
五、查看视频
设备上线
在这里插入图片描述
查看视频
直接点实时视频或者用vlc播放器拉流
这里演示vlc观看
复制地址
在这里插入图片描述
选择一个地址,这里我选的rtmp
在这里插入图片描述
打开vlc
在这里插入图片描述
填入地址
在这里插入图片描述
看到视频
在这里插入图片描述

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值