专栏首页腾讯云终端专家服务移动直播连麦PK快速调试

移动直播连麦PK快速调试

一、简介

在讲连麦\PK之前,先讲一个概念:低延时流。

低延时流,也叫acc流,相比普通观众流(也叫cdn流)而言,它只有400ms的延时,是主播们连麦、PK时需要低延时场景时拉取的流,通话效果更好。

acc流与cdn流的主要差别,就是延时差距,
那么acc流,是如何做到这么低的延时呢,它与cdn流的差别在哪里呢,下面列举一下。

简称

acc流

cdn流

延时

≤ 500ms

≥ 3s

链路节点

DC专线直达,如下图

DC分发OC节点,如下图

套餐包

acc套餐包,按时长计费

cdn流量包,按流量计费

播放url

带防盗链签名的 RTMP-ACC 地址

普通的 FLV 地址

播放type

PLAY_TYPE_LIVE_RTMP_ACC(详见sdk常量)

PLAY_TYPE_LIVE_FLV(祥见sdk常量)

补充如下差别,方便您进一步理解acc流

简称

acc流

cdn流

底层协议

QUIC协议,基于UDP

HTTP-FLV 协议,基于TCP

推流设备

只有sdk推流才能走QUIC链路

能推rtmp标准协议的设备,都可以推流到腾讯云

播放设备

只有sdk播放器才能播放acc流

能播放标准flv、rtmp、hls的直播播放器,都能播放腾讯云cdn流

最高并发

后台支持16路并发,终端推荐6路以内

无上限

二、快速体验

1、体验demo

官网提供了体验demo,有推流、拉流功能。

1、下图精简版demo,方便调试单功能,推荐使用。
2、在您下载的sdk包里面,demo源码就是精简版demo。
3、您可能是通过小直播demo接触连麦功能的,它里面的连麦功能,就是相互拉取低延时流,只是业务层多封装了一点。

2、demo推流

手机打开demo后,按照demo页面点击操作,都是简单操作。

这里需要补充两点:

1、推流可以推在线秒表画面,方便播放端对比延迟差
2、demo在New推流地址时,会同时生成拉流地址,复制在系统剪切板里面,你可以用聊天工具粘贴功能,发给拉流端的手机。

3、demo播放

把第二步获取到的低延时播放地址,放入直播播放器中,就可以播放了

请注意,demo默认是cdn播放模式,需要点击右下角的闪电符号,安卓是灰色代表低延时播放,ios是蓝色代表低延时播放。
如果未切换就直接播放低延时地址,会播放成cdn流,延时2~5S。

三、如何计算低延时防盗链

1、demo示例

在讲解如何计算自己的低延时地址之前,先看一下demo生成的一组推拉流示例。如下所示。请留意url拼接规则,下文会参考用到。

rtmp推流地址:rtmp://3891.livepush.myqcloud.com/live/3891_user_bfd89bee_692e?bizid=3891&txSecret=eecdbf7972132760a8e3a8faab7be155&txTime=5F229629

rtmp播放地址:rtmp://3891.liveplay.myqcloud.com/live/3891_user_bfd89bee_692e
flv播放地址:http://3891.liveplay.myqcloud.com/live/3891_user_bfd89bee_692e.flv
hls播放地址:http://3891.liveplay.myqcloud.com/live/3891_user_bfd89bee_692e.m3u8

低延时播放地址:rtmp://3891.liveplay.myqcloud.com/live/3891_user_bfd89bee_692e?bizid=3891&txSecret=eecdbf7972132760a8e3a8faab7be155&txTime=5F229629

2、计算总结

①、计算很简单

记住一条:用pushKey计算防盗链!

用pushKey计算防盗链!

用pushKey计算防盗链!

计算低延时防盗链,其实参考官方文档即可,如下使用md5加密

②、计算也很难

会遇到的坑点有:

a、不知道pushKey用哪个
b、不理解为什么要用pushKey计算,我明明有配置播放的playKey
c、不知道什么是bizid
d、调用startPlay接口时,用cdn播放模式,去播放低延时播放地址
e、我算对低延时防盗链了,也找到bizid了,拼接出正确格式的url,也是用的低延时播放模式去播放,
但是仍然播放失败,报错-2301。

解决办法:

a、不知道pushKey用哪个

解决思路:上直播控制台,在推流域名详情里面有"推流防盗链key"。请注意您在配置key时,要按如下格式:32位字母+数字组合

您如果有多个推流域名,都配置了不同的pushKey,那么只有一个pushKey可用,建议您都计算播放看看。

对于这种情况,目前云直播控制台正在优化中,后续考虑会展示出:加密低延时流的pushKey。请耐心等待。

b、不理解为什么要用pushKey计算,我明明有配置播放的playKey

解决思路:低延时流校验功能,最初设计是用的pushKey,沿用至今。原因是:并不是所有直播用户,都有加密播放需求,都配置有播放key。

如前文节点对比,可以看到cdn播放与低延时播放,是不同链路的,您设置的播放防盗链key,只是作用于cdn播放校验。

c、不知道什么是bizid

解决思路:上直播控制台,在域名管理里面,找到腾讯默认的数字域名,这个数字就是bizid。如上demo用的云直播账户,默认的数字域名是3891.livepush.myqcloud.com、3891.liveplay.myqcloud.com,其中这个3891就是bizid。

d、调用statPlay接口时,用cdn播放模式,去播放低延时播放地址

解决思路:这种一般踩坑的会是终端开发工程师,sdk直播播放的接口是TXLivePlayer.startPlay(url, playType);其中这个playType是需要换成PLAY_TYPE_LIVE_RTMP_ACC常量的。

e、我算对低延时防盗链了,也找到bizid了,拼接出正确格式的url,也是用的低延时播放模式去播放,
但是仍然播放失败,报错-2301。

解决思路:1、看一下是否有买低延时套餐包。如下图所示,在云直播控制台--直播SDK--移动直播连麦页面,查看套餐包。

2、确实有问题:目前极少数客户会遇到,需要联系腾讯支持人员协助修复。简单说一下原因:有部分客户账户,是在18年之前申请创建的,当时云直播是频道模式,后来统一升级成直播码模式,导致后台服务校验上出了问题,需要单独配置一下全局pushkey。

另外有部分客户,是曾经要求云直播控制台删除pushKey,后来就算他们又配置了pushKey,但是仍然有可能校验失败,需要单独配置一下全局pushkey。

3、可用的工具

有三个方式,可以生成防盗链、拼接出url

①、控制台地址生成器

如下图示:控制台--云直播--辅助工具--地址生成器

需要说明一下,控制台地址生成器,目前只能生成推流url、和三种cdn播放url,
但是看到这里,您应该也能想到,其实推流防盗链就能用于低延时播放,
如上demo示例中,低延时地址与推流地址后面的防盗链一样,
所以您在计算推流防盗链之后,直接按如下格式拼接出低延时防盗链,一次计算到位
播放域名+推流防盗链+bizid

2、代码参考

如下图所示,在控制台--云直播--域名管理--点进推流域名页面,也有个地址生成器,最下面有代码参考,你复制即可用。目前仅提供PHP、JAVA版本的示例代码。

3、三方md5加密工具

如下,公网查询md5在线工具,可取32位小写的加密字符串,作为防盗链

四、连麦组件中的问题

1、腾讯云直播demo里面,用的是MLVBLiveRoom组件,来做连麦功能的。

连麦功能其实就是主播们相互拉群低延时流,然后混流给观众看。

在连麦时遇到黑屏问题,其实就是低延时拉流失败了。
上层表现是:观众观看正常,一上麦就彼此黑屏;
代码层表现是:播放事件回调onPlayEvent报错错误码-2301;

结合前文内容,可以把低延时流单独抽取出来播放,看看onPlayEvent,排查套餐包、防盗链的问题

代码如下所示:

2、客户在使用MLVBLiveRoom组件连麦时,也有可能遇到如下连麦问题

①、是get_anchors这个接口获取对方的低延时地址的,但是低延时拉流地址后面没有防盗链。

解决:调用get_anchors接口请求,会去您的云直播后台,找到拉流域名、pushKey,然后计算防盗链,拼接出低延时地址,返回给终端。但是您如果控制台未配置pushKey,就会出现这个问题。

需要您先配置pushKey,参考前文坑点a介绍。

另外,前文坑点e也会导致这个问题。

②、没有用get_anchors返回的地址,是用自己计算的推拉流地址,分发给终端使用的。

解决:支持自己计算分发推拉流地址。播放失败问题,参考前文一步步调试,检查防盗链是否计算成功。

本文转载自: https://cloud.tencent.com/developer/article/1760312复制
如有侵权,请联系 cloudcommunity@tencent.com 删除。
登录 后参与评论
0 条评论

相关文章

  • 移动直播连麦PK快速调试

    低延时流,也叫acc流,相比普通观众流(也叫cdn流)而言,它只有400ms的延时,是主播们连麦、PK时需要低延时场景时拉取的流,通话效果更好。

    ppchao
  • 移动直播连麦PK快速调试

    低延时流,也叫acc流,相比普通观众流(也叫cdn流)而言,它只有400ms的延时,是主播们连麦、PK时需要低延时场景时拉取的流,通话效果更好。

    腾讯云-chaoli
  • 移动直播连麦解决方案

    最开始观看直播是主播在那边又唱又跳,而你想与女神互动,只能简单的刷刷弹幕送送礼物。直到有了连麦,你才能用音视频的方式和主播互动,让女神看到你的画面,一起诉说风花...

    腾讯视频云-Zachary
  • 蒋磊:移动直播连麦技术实践

    6月29日,音视频及融合通信技术技术沙龙圆满落幕。本期沙龙特邀请腾讯云技术专家分享关于最新的低延迟技术、全新的商业直播方案等话题,针对腾讯云音视频及融合通信产品...

    腾讯云开发者社区技术沙龙
  • 移动直播连麦,进入房间时报错invalid group id

    简介:这是云通信的错误提示,参考云通信错误码。加入指定id群组时报错:“10015”,“群组 ID 非法,请检查群组 ID 是否填写正确”。

    腾讯云-chaoli
  • 蒋磊:移动直播连麦技术实践(附视频回放)

    6月29日,音视频及融合通信技术技术沙龙圆满落幕。本期沙龙特邀请腾讯云技术专家分享关于最新的低延迟技术、全新的商业直播方案等话题,针对腾讯云音视频及融合通信产...

    腾讯云音视频
  • 浅谈网络直播系统开发的“三步曲”

    随着网络直播市场的日益规范,网络直播系统开发也受到了更多人的关注,有人说网络直播系统开发是有一定难度的,但如今视频直播的普及,使得很多技术难题被攻克,程序开发方...

    q3557873521
  • 如何实现无缝切换的主播pk方案

    通过这篇文章,我们将一起来了解什么是主播连麦PK?以及怎么快速实现主播间的连麦PK?

    腾讯视频云终端团队
  • 多人视频直播交友系统——视频直播源码开发的进阶之路

    去年下半年,多人视频直播交友系统开始崛起,随着5G时代到来,它比4G性能更强、支持超高速率和超低延时,网速的加快会带动互联网行业的发展,同时对于直播行业来说在技...

    用户2954023423
  • MLVBLiveRoom 方案 - 客户端部分

    本文用于介绍移动直播 MLVBLiveRoom 方案的客户端部分,MLVBLiveRoom 方案包含了两部分内容:客户端 MLVBLiveRoom 组件 + 房...

    腾讯云-chaoli
  • 入门腾讯实时音视频(TRTC)从这里开始

    腾讯实时音视频(Tencent Real-Time Communication,TRTC)将腾讯21年来在网络与音视频技术上的深度积累,以多人音视频通话和低延时...

    smiling
  • 移动直播集成(IOS版)

    最近在腾讯云集成了一下移动直播的SDK,从0到1的整个过程,中途遇到的问题也详细地给大家列举出来,希望对将要用到腾讯云移动直播产品的开发者们,起到一点点作用。若...

    rkChen
  • 腾讯云视频狂欢季 移动直播首选 音视频通话产品特惠 8 折起

    腾讯云移动直播是腾讯云很擅长的技术,有着多年云服务行业经验的腾讯云视频移动直播包括活动直播/会议直播/发布会直播等秀场直播/游戏直播/娱乐直播等,腾讯云移动直播...

    魏艾斯博客www.vpsss.net
  • iOS音视频接入- TRTC互动直播

    在直播模式下,TRTC 引入了角色的概念,用户被分成“主播”和“观众”两种角色,“主播”会被分配到接口机上,“观众”则被分配在代理机,同一个房间的观众人数上限为...

    小明同学接音视频
  • 促销活动丨服务器+实时音视频强强联手,助您快速构建高性能音视频服务

    针对职业教育、小班教学、K12等1对1或1对多的场景,依托腾讯云实时音视频能力和专为教育行业定制的富媒体功能,实现老师、学生间实时互动答疑,课件共享、屏幕分享、...

    腾讯即时通信IM
  • iOS 音视频接入 - 初识TRTC

    在上一篇文章中我们对音视频有了最基础的认识,下面就来了解下第三方提供的功能强大的实时音视频SDK-TRTC。

    小明同学接音视频
  • 腾讯云大学大咖分享 | 探索云直播技术

    直播行业规模逐年增加,但行业增速却在逐步放缓,视频直播的平台对于各大厂商的解决方案提出了更多、更个性化的要求。是什么样的技术和服务在背后支撑着我们日常直播内容发...

    可可爱爱没有脑袋

扫码关注腾讯云开发者

领取腾讯云代金券