概述
一、平台端注册
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
填入地址
看到视频
最后
以上就是虚幻雪碧为你收集整理的ubuntu网络摄像头接入OneNET示例的全部内容,希望文章能够帮你解决ubuntu网络摄像头接入OneNET示例所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复