简体中文

双向视频产品设计思路

双向视频产品-设备端呼叫流程 | TUTK P2P SDK 开发指南

一、概述

双向视频类产品中,设备端主动发起呼叫的场景分为两种:设备当前无用户访问设备当前有用户访问。两种场景的处理流程不同,需根据实际连接状态选择对应实现方式,核心依赖 TUTK P2P 音视频传输API和消息推送通道。

二、场景一:设备当前无用户访问

设备未被任何APP连接时,因手机端通常不携带固定UID,需通过消息服务器发起呼叫请求,引导用户打开APP并建立P2P连接,进而实现双向视频。
支持的消息推送通道:
  • TUTK 原生:KPNS(TUTK 推送服务)
  • 系统级推送:苹果 APNS(iOS)、谷歌 FCM(Android 海外)
  • 国内厂商推送:华为 HMS Push、小米 MI Push、OPPO Push、vivo Push 等
  • 自定义推送:厂商自建消息通道
设备无用户访问时的呼叫流程示意图

图 1:设备无用户访问时的呼叫流程示意图

核心流程:
  1. 设备上线报到(可选):设备启动后连接 TUTK 服务器完成上线(设备通常长期在线,此步骤非必需),同步设备状态和绑定的APP账号信息。
  2. 设备广播呼叫消息:设备触发呼叫事件(如触发传感器、用户按键),通过预设的消息通道(如 KPNS/APNS)向绑定的手机端发送呼叫通知,消息需包含设备 UID、呼叫类型等关键信息。
  3. 用户响应呼叫:手机端收到推送消息,用户点击消息后唤醒 APP(需配置APP的推送唤醒权限)。
  4. APP 发起 P2P 连线:APP 启动后,读取消息中的设备 UID,调用 TUTK P2P SDK 接口发起连接请求,完成身份认证和 P2P 隧道建立。
  5. 双向音视频传输:P2P 连线成功后,APP 与设备端分别启动音视频采集、编码,通过 SDK 提供的音视频传输API互相发送数据,实现实时通话。
  6. 通话结束挂断:任意一方触发挂断操作,APP 和设备端停止音视频采集,释放 P2P 连接资源。

三、场景二:设备当前有用户访问

设备已被 APP 成功连接(用户正在查看实时视频或已建立会话),此时无需通过消息推送(也可以设计为同时呼叫其他绑定此设备的用户,参考场景一),直接通过 P2P 通道发送控制指令即可触发双向视频切换。
核心优势:
  • 无需依赖外部消息通道,响应速度快;
  • SDK v3.3+ 支持全双工通道,无需额外建立新通道,直接使用现有 0 通道传输音视频数据。
核心流程:
  • 设备触发呼叫事件:设备需发起双向视频(如用户按下通话键),此时已存在有效的 P2P 连接(APP 已访问设备)。
  • 设备发送控制指令:设备通过 avSendIOCtrl 接口发送双向视频呼叫指令(如 IOTYPE_USER_IPCAM_CALL_REQ)给已连接的 APP。
  • APP 响应指令:APP 通过 avRecvIOCtrl 接口接收指令后,自动启动本地音视频采集、编码模块。
  • 全双工音视频传输:APP 与设备端通过现有 P2P 通道(0 通道),使用音视频传输API互相发送数据,实现双向通话(无需额外创建通道)。
  • 通话结束/切换:挂断后,APP 可切换回单向查看模式(停止本地音视频发送),或直接释放连接。

四、对接流程

P2P SDK 为双向视频呼叫流程的核心依赖,需根据场景组合使用,具体请参考以下章节:

即刻开启您的物联网之旅

联系解决方案专家
Kalay App
资讯安全白皮书
全球专利布局
解决方案
新闻动态
公司动态
行业资讯
媒体报道
永续发展
经营者的话
社会参与
环境永续
公司治理

+86 755 27702549

7×24小时服务热线

法律声明 隐私权条款

关注“TUTK”

TUTK服务尽在掌握

© 2022 物联智慧科技(深圳)有限公司版权所有粤ICP备14023641号
在线咨询
扫一扫

TUTK服务尽在掌握

全国免费服务热线
+86 755 27702549

返回顶部