腾讯云直播接入说明

.有哪些接入方式?

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

一种是频道模式,主要针对中小客户,用户可以在管理台或通过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 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

数据库常见的图形工具有哪些?

疑惑一 MySQL常用的图形化管理工具有哪些? 现在随着PHP+MySql越来越火,周边相关产品也受到众多人的关注。在PC上修改数据库,查看数据库内容是研发人员...

3619
来自专栏狮乐园

30 分钟理解 CORB 是什么

我当前的 chrome 版本是 v68,如果是 v66 或更低版本可能提示的警告信息略有不同。印象中只对 CORS 比较熟悉,CORB 是个什么鬼?好奇心迫使我...

713
来自专栏魏艾斯博客www.vpsss.net

百度站长工具 https 认证成功全记录

百度很早就支持 https 证书了,并且给出了百度站长工具 https 认证功能,正好 www.vpsss.net 要从 http 升到 https,经历了多次...

50010
来自专栏take time, save time

三十天学不会TCP,UDP/IP网络编程 - UDP的实践--DHCP

在经历了一顿忙碌加出去玩了玩之后,我又开始重新更新了~这是最新的一篇~完整版可以去gitbook(https://www.gitbook.com/@rogerz...

35412
来自专栏phodal

如何设计一个高逼格的博客系统 (CMS) | 长图多文

节选自《Growth: 全栈增长工程师指南》 1MVC 在我初识架构是什么的时候,我看到了MVC模式架构。这种模式是基于分层的结构,要理解起逻辑也很简单。这个模...

2317
来自专栏LanceToBigData

JavaWeb(二)会话管理之细说cookie与session

前言   前面花了几篇博客介绍了Servlet,讲的非常的详细。这一篇给大家介绍一下cookie和session。 一、会话概述 1.1、什么是会话?   会话...

2057
来自专栏PHP在线

Web安全实战

前言 本章将主要介绍使用Node.js开发web应用可能面临的安全问题,读者通过阅读本章可以了解web安全的基本概念,并且通过各种防御措施抵御一些常规的恶意攻击...

30310
来自专栏FreeBuf

Apache已修复Apache Tomcat中的高危漏洞

近日,Apache软件基金会为Tomcat应用程序服务器推送了最新的安全更新,并修复了多个安全漏洞,其中包括一个DoS漏洞和一个信息泄露漏洞。

1225
来自专栏FreeBuf

案例分析:利用OAuth实施钓鱼

OAuth百科 OAUTH(Open Authorization)协议为用户资源的授权提供了一个安全的、开放而又简易的标准。同时,任何第三方都可以使用OAUTH...

2009
来自专栏高性能服务器开发

(一)TeamTalk介绍

TeamTalk是蘑菇街开源的一款企业内部用的即时通讯软件(Enterprise IM),类似腾讯的RTX。网上也有很多的介绍,我这里也有写几遍关于这款产品的“...

2794

扫码关注云+社区