腾讯云直播接入说明

.有哪些接入方式?

腾讯云直播接入方式有两种:

一种是频道模式,主要针对中小客户,用户可以在管理台或通过api来对频道进行管理,如创建频道,删除频道,查询频道信息等。典型的接入流程:用户创建频道,拿到推流进行推流,并用获取到的下行播放地址进行播放。频道模式的客户,如果仅使用管理台,可参考https://www.qcloud.com/doc/api/258/4741。 如果使用api,可以参考https://www.qcloud.com/doc/api/258/4703里对各接口的描述。

另一种是直播码模式,主要针对有一定开发能力的客户。腾讯云提供一个通道能力。典型的接入流程:用户通过人工审核并下发配置后,拿到一个上行路径(如push.domain.com/path/),和一个下行路径(如play.domain.com/path/)。然后用户自行生成并管理频道id,后台接收到一个合法的上行地址(上行路径+频道id)后,用户用相同的下行地址(下行路径+频道id)即可播放。

2.两种分别可以提供什么功能?用户根据需求如何选择?

频道模式

通过管理平台或api进行频道操作、水印管理

提供多码率(原始码率、普清、高清),多协议(rtmp、flv、hls)

提供web播放器代码

通过api创建录制或截图任务,并通过api获取结果

支持推流和播放cname,需要线下配置

直播码模式

用户自己生成频道id(也即直播码id、流id),并自己生成推流地址和播放地址

提供推流和播放防盗链

提供多码率(原始码率、普清、高清),多协议(rtmp、flv、hls)

支持录制和截图

支持主备流,需要线下配置

支持推流和播放cname

注:

高清:分辨率 1280x720 码率 900

标清:分辨率 960x540 码率 550

3.直播码接入流程有哪些?

1.腾讯云自定义直播码接入方式为有开发能力的客户提供推流和cdn播放的管道,用户自定义直播码并进行管理

2.URL防盗链是一种保护用户视频内容安全的功能。通过使用防盗链功能,用户可实时自行生成可用于播放器环境或URL访问的播放链接,该链接在用户指定时间内可用,从而有效保护视频内容。由于防盗链采用动态生成方式,该功能开启后,原有播放器代码和文件URL将不可用。

4.开通直播码需要哪些信息?

uin

appid

下行协议、码率

推流路径

播放路径

推流鉴权key

播放鉴权key

cname

是否开通录制(需要开通点播)

是否开通截图(提供cos_bucketname和cos_appid)

5.什么是防盗链?直播中防盗链规则有哪些?

URL防盗链是一种保护用户视频内容安全的功能。直播防盗链分为上行防盗链和下行防盗链。

上行防盗链。用户可保护自己的推流地址不被其他非法客户使用。

下行防盗链。用户可实时自行生成可用于播放器环境或URL访问的播放链接,该链接在用户指定时间内可用,从而有效保护视频内容。

防盗链的基本逻辑如下

图:防盗链基本逻辑

4.如何开通和使用防盗链?

准备工作:开启服务和获取密钥

该功能目前需要人工手动开启。开启后,用户可获取密钥KEY,该信息为32bit系统随机生成字符。用户需妥善保管该该密钥。

第一步:生成推流地址并推流

推流地址格式示例如下:

rtmp://5000.livepush.myqcloud.com/live/test2016011415?txSecret=9661a47f85a4e7a56bcc0924bd0c6e24&txTime=56698ba6

5000为用户的bizid

live是推流路径

test2016011415为直播码,为保持唯一性,需要加上bizid作为前缀

参数字段生成方法如下:

txSecret=9661a47f85a4e7a56bcc0924bd0c6e24(示例):为校验串,算法为:MD5(KEY+ stream_id + txTime),字母小写。

其中,

KEY:为用户的密钥;

stream_id:直播码

txTime:该链接有效的截止时间戳。通过(1970-1-1 0:0:0 到有效截止时间)秒数表示,CDN服务器会根据该时间判断该链接是否有效,并转换为16进制。例如希望该链接有效期至2015.8.1. 00:00:00,则t的计算方式为: (1970-1-1. 00:00:00 至2015-8-1. 00:00:00的秒数),即1438358400,转换为16进制表示55bb9b80;该计算有标准函数可使用。

txTime为有效的截止时间戳,如上所述

推流软件首选第三方软件obs

第二步:生成加密播放地址

播放url格式类似为:

rtmp协议:

rtmp://5000.liveplay.myqcloud.com/live/test2016011415?txSecret=058e94199dd71f065af85c5a6ec7ac6f&txTime=56698ba6

hls协议:

http://5000.liveplay.myqcloud.com/live/test2016011415.m3u8?txSecret=65b3be792b3692199a11872e8fc18321&txTime=56698ba6

flv协议:

http://5000.liveplay.myqcloud.com/live/test2016011415.flv?txSecret=058e94199dd71f065af85c5a6ec7ac6f&txTime=56698ba6

多码率

各协议支持普清(分辨率 960x540,码率 550)、高清(分辨率 1280x720,码率 900)、原始码率 三种码率。

以rtmp为例,示例如下

普清:rtmp://5000.liveplay.myqcloud.com/live/test2016011415_550?txSecret=058e94199dd71f065af85c5a6ec7ac6f&txTime=56698ba6

高清:rtmp://5000.liveplay.myqcloud.com/live/test2016011415_900?txSecret=058e94199dd71f065af85c5a6ec7ac6f&txTime=56698ba6

flv、hls同上

字段生成方法如下:

txSecret为校验串,算法为:txSecret = MD5(KEY+ path + txTime),字母小写。

其中,

KEY:为用户的密钥;

path:直播中有三种出流协议,在计算path时rtmp和hls分别都取的是文件名,flv取的是去掉后缀的文件名。如:

rtmp://5000.liveplay.myqcloud.com/live/test2016011415

http://5000.liveplay.myqcloud.com/live/test2016011415_550.m3u8

http://5000.liveplay.myqcloud.com/live/test2016011415_900.flv

txTime:该链接有效的截止时间戳

第三步:根据加密播放地址发起请求

视频请求方根据以上计算结果,组成链接,发起请求至腾讯云以及其CDN

第四步:腾讯云进行验证并判断是否播放。

  1. 腾讯云首先会根据明文中有效的截止时间戳判断当前时间是否过去,如果未过期则根据vodfile.m3u8(链接中明文可见),用户密钥KEY(用户在管理控制台生成时,腾讯云在后台维护的相同副本),以及t=55bb9b80(链接中明文可见),在CDN或腾讯云侧生成txSecret’ = MD5(KEY+ path + t),;如果txSecret = txSecret’,则允许播放;否则禁止播放。如果系统判断防盗链链接不正确,默认将返回403页面。

6.如何使用录制功能?

接入流程 申请开通直播的基础上,开通点播。

录制规则

1.开始推流时,即启动录制任务,直至直播结束

2.录播按时间进行分片,最大大小为0.5小时;

3.录播时,发生断流,则停止录播生成一个分片

4.断流恢复后启动新的录播分片任务,重复1)2)3)的过程,直至整个任务结束

5.录制分片请求url格式:http://(点播bizid).vod.myqcloud.com/(vid).f0.flv

6.通过cgi或者回调的方式获取一个stream_id对应的录制分片列表

7.通过拼接的播放url下载录制分片

7.如何使用截图功能?

接入流程

在申请开通直播的基础上,需要申请截图需要的cos平台权限,并获取cos账号信息。

截图规则

1.开始推流时,即启动 截图任务,直至直播结束

2.频率周期为10s,按照系统绝对时间;

3.截图大小:分辨率300(宽)*自适应(高);

4.截图对象:实时直播流;

5.截图生成文件:文件名为(bizid)(直播码id)(推流绝对时间戳)(任务启动时间戳)(截图相对时间)(长)(宽).jpg

6.COS存放部分: 截图后,对应文件上载至COS系统;时间在15S内; 即15S内,用户可通过COS查询下载,COS账号、容量购买、下载部分由客户独立完成;

7.图片url格式:http://(cos_bucketname)-(cos_appid).file.myqcloud.com/文件名

8.通过cgi或者回调的方式获取截图消息

9.通过拼接的播放url下载截图

注:并发高的用户需要将cos属性设置为nugc。

8.直播码用户可以使用哪些接口?

接口定义

其中key为用户密钥,目前需要人工手动开启。

1. 获取截图消息

接口名:

Live_Queue_Get

输入说明

完整的访问地址示例:

curl "http://fcgi.video.qcloud.com/common_access?cmd=N&interface=Live_Queue_Get&Param.n.bid=100&Param.n.count=10&t=1453279831&sign=XXXXXX"

2.获取录播分片

接口名:

Live_Tape_GetFilelist

3.获取频道状态

接口名:

Live_Channel_GetStatus

4.暂停/恢复频道 接口名:

Live_Channel_SetStatus

5. 查询在线

接口名:

Live_Statistic_QueryOnline

6.查询频道列表

接口名:

Live_Channel_GetChannelList

9.可以提供哪些通知回调功能?

1)推流上下线

2)录制分片

3)截图地址

接口定义

公共参数

其中key为用户密钥,目前需要人工手动开启。鉴权Key为32字节字符串,可通过联系客服人员进行开启和分配。

事件类型(event_type)

目前支持的类型

0 断流

1 有输入流

100 录制分片回调

200 截图图片地址回调

其它参数

数据格式采用http post

data部分

{“t”:23123123,”sign”:”dasdas”,”event_type”:1,“stream_id”:”asdasd”,”channel_id”:”sdadas”}

接入流程

1)提供回调接口地址及接口方式

2)进行联调

相关推荐 Now直播应用的后台服务器性能测试实践 WebRTC 点对点直播

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏娱乐心理测试

第一个微信小程序

3286
来自专栏互联网杂技

Hybrid App开发者一定不要错过的框架和工具

最近开始给网站的移动版本做技术选型,发现了很多好玩的东西,写出来给大家分享下。 ionicFramework 我是hybrid app的忠实粉丝和大力倡导者,从...

3144
来自专栏Zchannel

Windows 10四月更新(1803)的各类问题及疑难杂症和解决办法

1713
来自专栏何俊林

18个Python爬虫实战案例(已开源)

一个可以用于下载图片、视频、文件的小工具,有下载进度显示功能。稍加修改即可添加到自己的爬虫中。

4183
来自专栏人工智能头条

6月Python开源项目Top 10:如何快速找到抖音上的漂亮小姐姐……

1753
来自专栏程序人生

再谈 API 的撰写 - 总览

背景 去年我写过一篇文章:撰写合格的 REST API。当时 Juniper 裁掉了我们在德州的一支十多人的团队,那支团队有一半的人手在之前的半年里,主要的工作...

4247
来自专栏北京马哥教育

10年 Windows 与 Linux 程序员的区别

如果一个程序员从来没有在Linux、Unix下开发过程序,一直在Windows下面开发程序,同样是工作10年,大部分情况下与在Linux、unix下面开发10年...

1690
来自专栏大数据文摘

一个可以把web表单变成会话形式的开源框架

5565
来自专栏noteless

8.web的发展 互联网发展 起源 历史 cgi web项目发展 企业应用web项目 框架 发展 互联网技术发展 互联网技术包括 web技术发展 web开发技术

计算机网络把分布于各地的单独的计算机连接起来,可以进行数据的共享与交互.这是web的根基

1972
来自专栏Flutter入门到实战

开发工具总结(9)之开源项目的README文档的最全最规范写法

版权声明:本文为博主原创文章,未经博主允许不得转载。https://www.jianshu.com/p/813b70d5b0de

1201

扫码关注云+社区

领取腾讯云代金券