新版qq空间不能直播(qq空间怎么直播不了了)

背景

目前QQ直播的观众用户众多,在不同网络环境等客观因素下,特别是在移动网络中,观看体验还有很多细分项有待提升。在移动网络、弱网、不稳定网络等情况下,直播播放出首帧的速度非常慢,观看直播过程非常卡顿,不流畅,用户体验差。网络波动,会造成视频帧接收不及时,直播时延增大,造成多人连麦等互动性强的玩法体验大大下降。基于这些现状,开展了QQ直播观看端播放体验优化专项,针对首帧、卡顿等问题,逐个分析解决,提升用户体验。

目标

测试发现在正常网络下,QQ直播和竞品APP的播放体验效果一致。但是在弱网环境下有很大差距,QQ直播播放质量有很大的提升空间。

测试方法:

播放5分钟,统计首帧时长、卡顿次数与卡顿总时长。

优化目标:

提升在弱网下首帧速度、流畅度等指标。

降低播放卡顿率,卡时间占比。

名词解释:

首帧耗时 = 首帧渲染时间戳 – 点击进房时间戳

卡时间占比% = 卡顿时长 / 播放时长

卡顿率% = 卡顿次数 / 播放次数

优化效果

新版qq空间不能直播(qq空间怎么直播不了了)

注:1Mbps网络下测试播放卡顿效果示意图

  1. QQ直播播放首帧耗时从30秒优化到平均3秒,效果提升了10倍。
  2. 播放5分钟的卡顿次数,从平均卡顿次数为24次,降低到平均4次,卡顿次数降低了6倍。
  3. 播放5分钟的卡顿时长,从90秒降低到25秒,卡时间占比从平均29.43%,降低到5.33%,卡顿时长降低了3倍以上。
  • 优化前:
新版qq空间不能直播(qq空间怎么直播不了了)

注:弱网优化前数据,弱网播放QQ893版本的播放性能数据表(2022-08-01)

  • 优化后:
新版qq空间不能直播(qq空间怎么直播不了了)

注:弱网优化后QQ898版本的播放性能数据表(2022-08-26)

优化方案

一、测试环境与测试方法

使用网络损伤仪设备,搭建了弱网环境,对QQ直播、多款竞品直播APP等产品的首帧、卡顿情况进行测试;

新版qq空间不能直播(qq空间怎么直播不了了)

设置弱网环境:1Mbps 延时85ms

操作前开启手机录屏,点击进入直播间,等待直播播放出首帧,在直播间观看5分钟。通过对录屏的视频,进行逐帧分析点击时间点、首帧时间点、卡顿时间点。

二、收集测试数据

测试方法:从大厅页点击进房,测试首帧播放速度,播放5分钟,测试5分钟内视频的卡顿次数与卡顿时间。最后从9组测试数据中求平均得出。

新版qq空间不能直播(qq空间怎么直播不了了)

三、 测试结论

  1. 弱网下,从大厅页进入直播间,播放出首帧的耗时远远高于竞品,有很大的优化空间。
  2. 前3分钟QQ直播卡的时间更多。
  3. 播放卡顿体验:其它直播APP的卡顿次数和总时间最小,播放最流畅,体验最好;和其它直播对比,整体卡顿率虽然略微高于其它直播,但其它直播平均卡顿时间基本在1秒左右。

(虽然卡顿次数数倍于QQ直播,但很多播放卡顿时间远小于1s,卡顿感知不强),整体播放体验还是优于QQ直播

分析问题

QQ直播播放全链路分析

  • 点击进房播放流程图
新版qq空间不能直播(qq空间怎么直播不了了)

  • 播放器拉流、解码、渲染的链路流程图
新版qq空间不能直播(qq空间怎么直播不了了)

经过上述流程分析,我们发现播放卡顿的问题点可能出现在以下环节。

新版qq空间不能直播(qq空间怎么直播不了了)

一、开播推流码率不一致问题

推流端存在多种推流方式,各个推流方式的上行码率不一致,我们配置了统一转码模块,将不同码率的直播流转码为统一码流。

新版qq空间不能直播(qq空间怎么直播不了了)

  1. 在大型活动的直播间,如果将10Mbps的原始流下发,会造成网络带宽的需求急剧升高,同时对于移动网络和弱网的用户,观看流畅度将下降,卡顿率升高。因此通过转码服务器,统一转码模块,将视频流转码为多个不同档位的直播流,来满足不同网络状态的用户需求。
  2. 在QQ直播有17个不同的观看入口,每个入口的下发直播地址需要做档位处理。

二、CDN回源问题分析

  1. 根据直播监控平台查询,发现QQ直播的域名没有开启异步鉴权的问题。

新版qq空间不能直播(qq空间怎么直播不了了)

注:红框中标记的“LiveAuth正常返回”,“首次” 两个步骤处理时间超过900ms,正常情况耗时小于100ms

  1. 根据直播监控平台查询回源链路,发现CDN的内部存在回源慢的问题。
新版qq空间不能直播(qq空间怎么直播不了了)

注:回源耗时超过10秒,这个是CDN内核偶现问题导致的异常

  1. 根据直播监控平台查询回源链路,发现CDN的内部存在回源慢的问题。
新版qq空间不能直播(qq空间怎么直播不了了)

注:回源耗时超过1700ms,由于主播数据不稳定导致首帧慢

  1. 根据直播监控平台查询回源链路,发现CDN吐流很快但客户端首帧耗时超过6秒。
新版qq空间不能直播(qq空间怎么直播不了了)

为排查这类问题,在客户端增加了播放流量上报,每2秒采样一次,30秒上报一次当前周期内的流量开销,协助排查首帧慢的问题。

注:某现网用户访问直播房间的网络采样图,通过上图可以发现网速是逐步攀升上去的,看着有些不太正常。

  • 流量上报的实现原理:

在ThumbPlayer 收流模块中获取到播放器“当前缓冲大小”,通过计算单位时间内的缓冲增量,可以得到“当前网速”,最终按照一定频率上报到服务器,上报格式如下。

字段

含义

time

起始时间戳

freq

频率(实例中2秒采用一个,可配置)

net_data

网速数据数组KB/s

cache_data

缓存数据数组KB

cache_duration

缓存的可播放时长ms

report_time

采样30秒个点(可配置)

三、播放器缓冲策略分析

经过反复测试验证,在播放器参数和策略方面存在以下差异点

名词解释:

分辨率自适应:不同网络状态下,播放器自动播放对应档位的清晰度,保证直播流畅度。

首缓策略:首次播放时拉取的直播流大小。

二缓策略:出现卡顿时,播放器需要拉取的数据大小,才开始播放。

预加载策略:为加快直播间的首帧速度,提前使用播放器拉取直播流数据,准备首次播放需要的数据。

  1. 优化前QQ直播点击进房预加载所需流量网速如下
新版qq空间不能直播(qq空间怎么直播不了了)

点击进房时,开始播放当前直播间,会同时启动下一个直播间的预加载,会预加载12秒的视频数据(由播放器的首缓策略决定)。此时会同时拉取两条直播流,每条流的码率都是4Mpbs,导致在开始播放时的带宽要求在8Mbps以上。

  1. 优化前QQ直播上下切房预加载所需流量网速如下
新版qq空间不能直播(qq空间怎么直播不了了)

上下切房时,开始播放当前直播间,会同时启动上下两个直播间的预加载,上下两个直播间预加载12秒的视频数据(12秒数据由首缓策略决定)。此时同时拉取三条直播流,每条流的码率都是4Mpbs,导致在开始阶段的网络带宽要求是12Mbps以上。

从上图可以看出以下问题:

  1. 预加载网络开销较大,按照QQ直播的码率计算,12秒时长的字节大小为6MB,计算方法:字节大小 = 时长 * 码率 / 8
  2. 在弱网下,没有足够的网络带宽来支持蓝光档位的视频流播放,从这个点来看,弱网下需要降低播放档位。
  3. 点击进房默认开始了下一个直播间的预加载,上下进房会开启上下直播间的预加载,最高需要12Mbps的网速,弱网下需要判断是否开启预加载。
  4. 预加载数据过多,默认预加载12秒视频数据原因:ThumbPlayer配置的最小缓存大小为4秒,开启了追帧后,PlayerCore会默认调整缓存大小为最小缓存的3倍,即12秒缓存,因此这里会预加载12秒的视频数据,预加载数据过长的问题也需要解决。

四、协议栈分析-直播流编码信息

  1. QQ直播流编码信息

目前QQ直播的直播流都是H264编码格式,秀场直播间是20FPS帧率,游戏直播间是30FPS帧率。

  1. 竞品直播的码流信息

通过抓网络包等方式,分析视频流的编码信息、帧率、码率等信息。

root过的手机:tcpdump -i wlan0 -w 1.pcap

抓取播放过程的网络包:

新版qq空间不能直播(qq空间怎么直播不了了)

找到网络包中的FLV直播流数据,FLV视频流是以“FLV”开头

新版qq空间不能直播(qq空间怎么直播不了了)

将数据回包保存为FLV文件,将该文件放至到flvAnalyser中进行解析,即可得到媒体信息

新版qq空间不能直播(qq空间怎么直播不了了)

其它直播1和其它直播2,都有H265编码格式。

新版qq空间不能直播(qq空间怎么直播不了了)

  1. 码流信息分析结果
新版qq空间不能直播(qq空间怎么直播不了了)

从对比的媒体数据来看,其它直播1和其它直播2,都使用了H265编码格式,同分辨率下,码率更低。因此QQ直播也可以通过下发H265直播流,来进一步降低直播流的码率。

解决问题

一、解决上述问题的措施

  1. 在大厅页,开发测试模块,检测当前网速状态,是否为弱网。
  2. 根据网络评估结果,大厅页优先选择播放低码率的视频,提高首帧的播放速度。
  3. 根据网络评估结果,决定大厅页是否要自动播放。
  4. 根据网络评估结果,决定直播间内是否需要做直播间预加载。
  5. 降低标清直播流的码率,当前标清码率为800Kpbs,在1Mbps无法稳定播放,结合清晰度适当降低码率。
  6. 当前预加载数据过长,需要解决预加载数据过长问题。
  7. 下发H265的视频流,进一步降低播放端的码率带宽要求。
  8. 播放器增加IP上报,监控CDN节点是否有聚集性拉流失败问题。
  9. CDN开启异步鉴权,对比同步鉴权,减少CDN回源时长,加快拉取首帧数据的速度。

二、实施技术方案

  1. 网络测试模块与MSF测试模块开发,评估网络状态。根据网络状态,判断当前网络状态是否支持预加载播放、已经适合播放的档位。

新版qq空间不能直播(qq空间怎么直播不了了)

2. 根据网络状态、判断当前网络是否支持大厅页自动播放,弱网下关闭播放可以提高收发业务信令的速度。

新版qq空间不能直播(qq空间怎么直播不了了)

3. 根据网络状态选择对应的清晰度,以及是否支持房间内的预加载。

新版qq空间不能直播(qq空间怎么直播不了了)

4. 整体的弱网策略根据Toggle动态下发,根据灰度效果调试出最优的配置参数。

新版qq空间不能直播(qq空间怎么直播不了了)

5. 预加载数据过长处理方案,在开始预加载时,启动定时器查询缓存的数据大小,在预加载数据大于4秒(4秒可以配置),暂停下载。等用户播放该直播间时,再恢复下载。

新版qq空间不能直播(qq空间怎么直播不了了)

6. CDN回源慢问题监控,对播放器解析连接CDN的IP地址进行上报,开启CDN的异步鉴权功能。对异常CASE实时提醒,实时跟进。

新版qq空间不能直播(qq空间怎么直播不了了)

7. 竞品直播都支持H265视频下发预加载,因此QQ直播也进行H265解码验证与测试,灰度测试H265直播流。下发H265的编码视频流,蓝光的码率下降了35%,标清码率下降37.5%。整体码率大幅度下降,在弱网下播放的流畅度更高,同时也节省带宽成本。同时验证了在各个业务场景下的H265解码情况,目前各个场景都是解码正常的。

新版qq空间不能直播(qq空间怎么直播不了了)

新版qq空间不能直播(qq空间怎么直播不了了)

新版qq空间不能直播(qq空间怎么直播不了了)

三、最终效果与数据

整体数据对比:

新版qq空间不能直播(qq空间怎么直播不了了)

IOS端部分测试数据:

新版qq空间不能直播(qq空间怎么直播不了了)

新版qq空间不能直播(qq空间怎么直播不了了)

Android端部分测试数据:

新版qq空间不能直播(qq空间怎么直播不了了)

新版qq空间不能直播(qq空间怎么直播不了了)

作者:fangguozeng

来源:微信公众号:腾讯VATeam

出处:https://mp.weixin.qq.com/s/az3tP8SRMq3pxJ_7FS317A

免责声明: 文章源于会员发布,不作为任何投资建议

如有侵权请联系我们删除,本文链接:https://www.sws100.com/baike/387806.html

(0)
鸟叔鸟叔
上一篇 2023年 4月 30日 上午11:52
下一篇 2023年 4月 30日 下午12:06

相关推荐

  • 烟头回收加工设备(烟头回收加工设备小型)

    中新网12月21日电 据日媒报道,日本烟草产业(JT)子公司“TRUE SPIRIT烟草公司”20日公开了群马县前桥市和埼玉县川口市本月起投产的2家废弃烟头回收再利用工厂。此类工厂在日本没有先例。 日媒指出,烟头再利用在技术和费用方面存在难题,这两家工厂在全球也是仅次于美国的第二例。 报道称,烟头的烟叶和卷纸可以用作堆肥,滤嘴可加工成细小颗粒作为文件夹或烟灰…

    社会百科 2022年 8月 20日
  • 题破山寺后禅院是哪里(题破山寺后禅院哪里体现出前后呼应)

    1、《题破山寺后禅院》是唐代诗人常建在游玩破山寺即兴写的一首题壁诗,表达出游览名胜的喜悦和对高远境界的强烈追求。破山寺就是今江苏(常熟)境内著名的佛寺禅院(兴福寺)。 A. 苏州 寒山寺 B. 南京 大报恩寺 C. 镇江 金山寺 D. 常熟 兴福寺 答案:常熟 兴福寺 不靠谱助记:见粉色标记文字:常→常熟 兴福寺 2、根据《中华人民共和国刑事诉讼法》,在审判…

    社会百科 2023年 4月 4日
  • 你看在太空中生活是不是很有趣(你看在太空中生活是不是很有趣标点)

    央广网北京12月2日消息(记者王迟 王晶)11月30日7时33分,神舟十五号航天员乘组顺利进驻中国空间站,与神舟十四号航天员乘组首次实现“太空会师”。 这是中国载人航天工程今年的第6次飞行任务,也是空间站建造阶段最后一次飞行任务。在这次任务中,神舟十四号、神舟十五号航天员乘组将首次进行在轨轮换,神舟十五号航天员乘组将在轨工作生活6个月。 航天员在太空是如何生…

    2023年 2月 25日
  • 山西二建报名时间(山西二建报名时间2021年)

      2022年山西二级建造师考试时间是6月11、12日,近日山西省人力资源和社会保障厅已发布《山西省2022年度二级建造师执业资格考试公告》,其中可知山西二建报名4月29日开始,具体详情如下:   报名时间:4月29日至5月6日   报名网站:山西省人力资源和社会保障厅-人事考试专栏   网上交费:4月29日至5日7日   准考证打印:6月7日至10日   …

    2022年 11月 19日
  • na2co3是什么化学名称(cacl2是什么化学名称)

    纯碱化学式 纯碱又加碳酸钠、苏打,碱灰等,纯碱化学式为Na2CO3,其化学方程式可分为: 与酸反应: Na2CO3+2HCl =Na2CO3+2NaCl H2CO3=CO2 ↑+H2O 总方程式:Na2CO3+2HCl=2NaCl+H 2O+CO2↑ 与碱反应: Na2CO3+Ca(OH)2=CaCO3↓+2NaOH 与盐反应: Na2CO3+BaCl2=2…

    2023年 4月 24日

联系我们

在线咨询: QQ交谈

邮件:k37759@foxmail.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信