Skip to content

tencentyun/iot-video-p2p-doc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

腾讯云IoT Video 1V多 P2P接入手册

一、接入总体流程

腾讯云1V多 P2P分享可实现从云端获取的原始http-flv视频流在客户端和客户端、客户端和小程序、小程序和小程序之间分享,可提供Server SDK在客户云环境部署,整体架构图如下:

总架构图

为实现上述架构,需实现云端server端的对接,应用端app和小程序的对接,接入总体流程如下:

总流程图

二、腾讯云 IoT Video 提供SDK

SDK具体可参考线下邮件发布的SDK文件包,SDK分为服务端SDK、应用端SDK,应用端SDK包含小程序插件和APP SDK(含安卓和iOS)。客户可基于SDK,在服务端对接客户的原始http-flv流,进行自有小程序、APP的开发,实现小程序与APP间建立P2P节点分享视频流,达到节省云端流量的目的。另外为统计应用端X-P2P流量信息,腾讯云为客户分配了调用腾讯云统计服务的appId、appKey和appSecret,该三要素需要在应用端初始化时填入,具体可参考线下邮件发布的《腾讯云IoT Video 1V多P2P访问密钥》文档。

三、服务端接入和部署

Server SDK分为两部分,一部分是受限于微信不支持https chunk方案,我们将提供密钥生成SDK,生成的密钥用于服务端视频数据加解密;另一部分是1V多 P2P SDK,该SDK用于拉取客户原始视频流,添加SEI帧和分片,用于P2P共享。架构图如下:

Server SDK 架构图

1、密钥生成模块

密钥生成SDK依赖于存储资源,客户部署该服务时,可以用自己熟悉的HTTP Server架构和存储资源。为了方便客户对接,腾讯云将密钥生成模块以微服务形式提供,参考demo示例。具体使用参考腾讯云IoT Video 1V多 P2P 服务端密钥生成模块参考

2、1V多 P2P 模块

该模块用于拉取原始http-flv流,对分享节点进行管理,将视频流分片用于观看端间共享。目前该模块以二进制形式提供,入参是拉流源域名。客户需部署接入层,保证在对某路视频流的取流过程中,请求会hash至同一服务节点。具体使用参考腾讯云IoT Video 1V多 P2P Server端接口文档

3、服务端部署

腾讯云IoT Video提供的服务端以二进制提供后,客户需要完成接入层和多实例的部署。密钥生成模块部署在https接入层的后端,推荐多实例部署;1V多 P2P模块部署在http接入层(非80端口)的后端,客户端或小程序请求同一路视频流时,需hash至后端相同的server节点上。

四、APP SDK接入

APP SDK入参是腾讯云IoT Video提供的APP ID、APP Key和APP Secret、客户部署的接入层域名,详情参考文档腾讯云IoT Video 1V多P2P 客户端(iOS)接入手册腾讯云IoT Video 1V多P2P 客户端(Andriod)接入手册

五、小程序插件接入

小程序插件入参是腾讯云IoT Video提供的APP ID、APP Key和APP Secret、客户部署的接入层域名,详情参考文档腾讯云IoT Video 小程序P2P 接入手册

About

腾讯云iot的小程序p2p文档

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published