今天,我们邀请到了腾讯云音视频技术导师——侯文祯,他将结合工作中实际遇到的一些案例,为大家介绍直播卡顿问题的成因,以及它的优化解决方案。...本期内容主要包括四个方面:直播链路监控、卡顿质量指标、卡顿原因分析以及推荐优化方案。 上图是我们整个直播平台的链路示意图。我们的主播在推流端,通过手机、PC或者是专业的视频拍摄设备进行推流。...其中百秒卡顿时长就是将所有参与评价的直播观看行为中出现的音频卡顿时长加和,然后除以全部直播观看时长加和,再乘以100。百秒卡顿次数也是类似的定义。除了音频外,还有一些APP会基于视频进行卡顿统计。...假如推流比较稳,但存在大面积卡顿,我们推荐可以用降低码率的方法来减少卡顿。常规的直播一般采用1Mbps的码率加15fps的帧率或2Mbps码率加30fps的帧率就可以了。...这里我们的服务端用ffprobe进行查看,可以看到时间戳忽然跳大,然后又跳小,反复抖动。时间戳的不连续,最终在播放端就会导致播放器无法正常播放,产生各种卡顿的现象。
iOS应用除了闪退问题会造成用户流失外,还有一个卡顿问题也会惹来许多差评。 最近小萝莉专门研究了应用卡顿问题,并在Bugly中集成卡顿监控上报功能,大家可以动起来啦! 卡顿是个什么鬼 ?...顾名思义,卡顿就是应用运行不流畅的现象,给用户的直观感受就是点击屏幕操作有停顿、响应缓慢、界面卡死等。 轻微的卡顿问题会影响用户体验,严重的情况更会造成应用不可用。 ? ?...卡顿怎么破 避免卡顿的黄金法则就是不要让主线程干重活,例如网络请求,读写大文件,复杂的运算 等一些耗费大量系统资源及时间的任务。...如果碰到用户反馈卡顿,我们又该如何去定位解决问题? 一个比较常见的场景:用户反馈应用卡顿,客服人员反馈给开发,开发要求用户提供更加详细的信息以定位问题,但是问题又来了,很多时候我们联系不上用户啊!...在这里给大家透露一个小道消息,腾讯Bugly针对iOS的卡顿及Android的ANR监测服务即将上线,协助开发者提升App应用流畅度。 程序员不加班了,生活自然更美好! ?
但是在直播的过程中你一定遇到过留言一堆卡导致用户体验不佳的经历,你也有遇到过自己的平台用户数因为观看直播卡顿从而转移到对手平台的情况。...不过这一切都不是事,在腾讯云可以手把手教你解决直播过程中关于卡顿的一切问题,想知道的可以继续往下看。...直播流程简述 在解决卡顿之前我们先放上一张图,简单的理解直播过程中都是经过哪几个步骤: image.png 从图中,可以看到影响卡顿的环节主要分为三个部分:主播端、观众端、服务端,既然我们知道影响卡顿是这三个环节...原因4:视频流时间戳不一致 在直播中当音视频时间戳不同时,会影响画面渲染造成卡顿的现象。可以检查从推流设备推出去的时间戳进行分析,某种情况下时间戳如果不从0发送也会导致卡顿现象。...播放端侧问题及解决方案: 原因1:网络环境 这里的网络环境指的是观众的下行网络,若播放端的带宽不够或发生抖动,会导致观看直播卡顿。
image.png 而我们经常在使用移动端直播的时候会遇到各种各样的问题,比如手机卡顿、闪退、黑屏、手机发烫这一系列问题,那我们应该怎样去检查解决这些问题了,小编给大家分享一下处理问题的一些方法。...问题描述 首先我们需要明白卡顿和黑屏一般都是播放端比较常见的问题,而闪退和手机发烫在推流和拉流端都会发生。我们要根据情况更好的去定位问题。...问题的排查定位思路 1、播放卡顿 造成播放端卡顿的原因主要有三种: 原因一:推流帧率太低 如果主播端手机性能较差,或者有很多占 CPU 的后台程序在运行,可能导致视频的帧率太低。...原因三:下行不佳 就是观众的下载带宽跟不上或者网络很波动,例如直播流的码率是2Mbps的,也就是每秒钟有2M比特的数据流要下载下来,但如果观众端的带宽不够,就会导致观众端体验非常卡顿。...我们公司接入的是腾讯云直播的产品,总的开发过程还算顺利,目前项目还在持续的开发中,后面会有些其他问题也会持续跟大家分享出来,大家也可以在下方留言跟小编去探讨直播中所遇到的一些问题。
最开始的时候,在小程序中实现吸顶效果,开发工具看起来还挺好的,但是在真机上就会有问题了。 原因是我不停的去 setData 会导致操作反馈延迟严重,无法及时将操作处理结果及时传递到视图层。
ARTHook实战 小结 项目GitHub 背景介绍 前面提到过两种自动化自动化检测方案: AndroidPerformanceMonitor和ANR-WatchDog; 需要本方案的原因:自动化卡顿检测方案无法满足所有场景...; 如,有很多Message要执行, 但是所有Message的时间, 都没有达到自动化卡顿检测方案所配置的卡顿的判定阈值, 那这种情况,自动化卡顿检测方案对这些“较小型”的卡顿问题便无能为力了;...可是这些没有达到卡顿的判定阈值的“较小型”的卡顿问题, 却会一直影响用户体验,这显然是不行的!!...View绘制等; 下面以主线程IPC为例, 因为IPC其实是一个很耗时的操作, 但实际开发时很多时候都没有得到足够的重视, 偶尔还会在主线程进行IPC操作,以及频繁的调用, 而这种耗时其实很少达到卡顿的阈值...下面项目准备了几个类型的单点问题模拟, 运行程序,查看logcat: 【注意, 在打印的时候我加了一个logTAG即ARTHookTest, 所以在查看logcat的时候可以定位ARTHookTest
摘要: 经过6年的发展,布卡互动经历了产品、技术等方方面面的问题与挑战,积累了互动直播和海量直播领域的产品运营经验与技术实战能力。...本文根据布卡互动创始人张玺辉在2017年4月22日《LiveVideoStack Meet北京:后直播时代技术》沙龙上的分享整理而成,讲述了布卡互动在教育直播领域的经验与经历。...---- 大家好,我叫张玺辉,来自布卡互动,我做直播很早了,在2011年我就开始做,但那个时候行业还不是很成熟,另外我个人比较固执,就钻到教育领域去了。...我们遇到一个小运营商的问题,同行也都遇到了,像长城宽带、电力猫这种网络也不知道什么情况,是从哪拉来的。小运营商的出口就很小,我们在上课的时候,基本上是晚高峰,卡顿率就特别高,这是比较头疼的。...,他给你把带宽降下来,我们做过实验,不加这个策略,其实卡的是非常频繁的,那你在动态的调节以后,包括有一个算法,它能够预测你后面可能会卡,主动的去降,主动的去调节,这个卡顿率会大大的降低。
AndroidPerformanceMonitor implementation 'com.github.markzhai:blockcanary-android:1.5.0' AndroidPerformanceMonitor 是一个检测卡顿的开源库...而其使用与LeakCanary也比较相似,可以自主设置卡顿检测时间,检测到的卡顿同样是以Notification展示,在使用体验上也相当类似,与LeakCanary可以说是孪生兄弟。...提示框(Room表现不一,有些手机厂商会把提示框给去掉) ANR 解决方式 adb pull data/anr/traces.txt存储路径,然后分析CPU、IO及锁 ANR 测试 //给主线程造成卡顿...检测组件 https://github.com/SalomonBrys/ANR-WatchDog 使用:new ANRWatchDog().start(); 原理 ANR-WatchDog同样是一个检测卡顿的检测库...AndroidPerformanceMonitor与 ANR-WatchDog 区别 AndroidPerformanceMonitor:监控Msg ANR-WatchDog:看最终结果 前者适合监控卡顿
参考文档:3分钟入门微信小程序直播 – 进击的小羊驼 – 博客园 今天研究了新东西小程序的直播开发 这个东西我研究了整整一下午 快给我整哭了 我的demo地址:https://github.com/AloneYan.../WeChat-live.git 2020/11/2源码迁移到gitee:WeChat-live: 小程序直播demo 下面进入正题 ---- 首先你必须搞一个小程序公众平台的账号 注册一个自己的小程序...获得自己的小程序id 这里的小程序类目是有限制的 自己到微信平台看就好 到设置里把这两个打开 到这里微信端的配置就完成了 ---- 然后你必须搞一个腾讯云账号 开通这云直播权限 它会赠送20gb流量给你...再点开第三个接入管理选择直播码接入 生成推流地址~ 到这里腾讯云端的配置就完成了 ---- 最后下载我的demo 修改project.config.json下的appid为自己小程序id 播放地址:修改...里面的url 为腾讯云生成的推流地址 这样就可以运行啦 demo中要用到的主要就是两个标签 播放 推流 具体的参数配置可以看下面的相关文档 腾讯文档 小程序相关标签
文 | vic yao 小程序科普类的文章已经很多了,这里讲下针对小程序的优化方法,可以有效提高小程序的响应速度和用户体验。当然,开发体验也提高不少。 1....继续以腾讯视频小程序为例,主界面分为 3 个页卡(大部分小程序都会这么设计)。通过简单的数据分析,发现进入首页的用户有 50% 会访问第二个页卡。...所以,预加载第二个页卡的数据,可以很大程度提高用户下个点击页面的打开速度。 同样,先看看代码实现。...因为用户不一定会马上访问页面,而把数据存在全局变量会增加小程序占用的内存。微信会毫不犹豫的把内存占用过大的小程序给杀掉。...微信小程序快速开发,两周内从创意到上线 电商/票务类小程序必读,如何用小程序推送消息?
从网上下载的资源用PS打开有时候会很卡顿以下几个方法可以让PS很丝滑 删除冗余的元数据,如何查看元数据菜单(文件)--文件简介(alt+ctrl+shift+i)--原始数据 有时候会显示meta数据过大无法显示
这就是界面卡顿的原因。...所以,卡顿造成的原因分为CPU卡顿和GPU卡顿,CPU卡顿可以用CADisplayLink来检测,UI更新卡顿可以用Runloop的mode来检测 监测卡顿:开一个子线程,利用displaylink或者...Runloop来监测卡顿; 收集堆栈:将卡顿时的堆栈收集起来; 上传记录:将卡顿上传到后台或自定义; 这里我引用一张微信开发团队的监测流程图: 二、Runloop检测卡顿 首先我们来看一个...所以通过比较dispalylink的更新时间就可以知道是否存在卡顿 - (void)updateTime{ if (!...2、上传位置,一种是自己建立后台来统计这些卡顿,嫌麻烦的话是利用第三方平台、如友盟(统计崩溃比较多)、听云、OneApm、博睿,都大同小异。
一、卡顿原因 屏幕1秒60帧,平均每帧16.6毫秒,如果代码实现不佳,或者过于复杂,导致一帧绘制时间大于16.6毫秒,则无法完成绘制,造成丢帧,连续出现掉帧,在现象上表现为卡顿。...默认情况下,性能分析器只会将卡顿帧显示为有待调查的候选对象。在每个卡顿帧中,红色部分突出显示了相应帧超出其渲染截止时间的时长。...image.png 发现卡顿帧后,点击该帧;可根据需要按 M 键调整缩放程度以聚焦到所选帧。...若要调查导致卡顿的确切细节,您可以查看 Threads 部分,其中会显示与界面呈现有关的线程。...这些线程与界面呈现有关,可能是导致卡顿的原因。 如需在 Android 10 或更低版本上检测卡顿情况,请执行以下操作: 查看 Display 中的 Frames 轨迹。
前言:在小程序中实现选项卡的功能。 GitHub:https://github.com/Ewall1106/miniProgramDemo 先看一下最终的实现效果: ?...小程序实现选项卡功能 1、页面结构 使用wx:for对list数组进行循环遍历,得出选项栏的头部文字; 绑定一个名为tabClick的tap事件并把索引index作为参数传递过去; 然后我们将内容的索引值与用户当前正在点击的索引...$apply(); } 这样我们就实现了一个简单选项卡的制作。
开发者在小程序自建后台服务或接入任意的云服务后,实现单向、双向甚至多向的音频功能。比如在线授课、远程咨询、视频客服,以及多人会议等。小程序在那天正式向所有开发者开放了直播功能。...首先在小程序上直播没有大平台的条条框框,直播更加的灵活,且降低了在大平台直播的费用支出。小程序无需安装下载轻应用形态与直播用户想看就看,随时切换的特点很契合,用户体验良好。...微信10亿用户月活量,1.7亿小程序日活量,平台用户数量巨大、市场广阔。与直播平台单纯的直播功能不同,小程序直播可以可以加入其他功能,如产品购买,预约等将直播流量快速变现。 ?...据了解,双11期间,蘑菇街小程序的直播间日销售额达到平日 28.57 倍;直播小程序新客占比是 App 的 4.75 倍;有主播的直播间复购率最高超过了 90% 。...直播+小程序,迸发新可能 此次“小程序”直播功能的开放,使小程序的未来前景变得广阔,可能性更多。在未来主播不在局限于大直播平台,实现直播行业的去中心化。
按照60FPS的帧率,每隔16ms就会有一次VSync信号,1秒是1000ms,1000/60 = 16 卡顿的原因: iOS默认刷新频率是60HZ,所以GPU渲染只要达到60fps就不会产生卡顿。...RunLoop监听 原理:卡顿是在主线程进行了耗时的操作,可以添加Observer到主线程的Runloop中,通过Runloop状态切换的耗时,达到监控卡顿的目的。...卡顿监控起一个子线程定时检查主线程的状态,当主线程的状态运行超过一定的阈值,则认为主线程卡顿,从而标记为一个卡顿。...分析实现: 使用Runloop进行卡顿监控,定义一个阈值判断卡顿的出现,记录下来上报到服务器。...比如: 主程序Runloop超时的阈值是2秒,子线程的检查周期是1秒,每个1秒,子线程检查主线程的运行状态;如果检查到主线程Runloop的运行超过2秒,则认为是卡顿,并获得当前的线程快照。
用户反馈说华为手机(安卓)小程序推流时声音持续卡顿,始终不会恢复且稳定复现,但是 iOS 小程序推流时声音却是正常的。二、疑惑经过一系列常规处理后,问题依然存在。...由于拉流端的表现都是一致的,无论是 Web 还是 Native 拉流时,安卓小程序的声音都卡顿。因此,可以排除是拉流端渲染异常导致的声音问题。既然现有的变量都没有问题,那么还有什么被忽略的变量呢?...方案1既然是安卓小程序推的音频流有问题,首先想到的就是在源头上解决问题,但是了解小程序直播业务开发的小伙伴一定都知道小程序的底层 SDK 是腾讯提供的,特别是音视频能力,很多接口都没有暴露出来。...五、结论用户反馈的这个声音卡顿问题之所以比较棘手,就是因为问题点有些出人意料。一般小程序出问题了,大家肯定想到的是小程序代码写的有问题,又有几个人会想到是微信自身的 Bug 呢。...好了,关于安卓小程序音频卡顿的问题及解决方案就介绍完了,希望对大家解决问题有所帮助。我正在参与2024腾讯技术创作特训营第五期有奖征文,快来和我瓜分大奖!
btnStartRead.Enabled = true; UiRefresh(null); } 正常运行时: 点击停止读: 正常读,拔掉通讯线,界面不卡:
实际卡顿可能是这段时间内某个函数的耗时过大导致卡顿,而不一定是T2时刻的问题,如此捕获的卡顿信息就无法如实反应卡顿的现场。 我们看看在这之前微信iOS主线程卡顿监控系统是如何实现的捕获堆栈。...卡顿堆栈上报到平台后,需要对上报的文件进行分析,提取和聚类过程,最终展示到卡顿平台。前面我们提到,每一次卡顿发生时,会高频采样到多个堆栈信息描述着这一个卡顿。...做个最小的估算,每天上报收集2000个用户卡顿文件,每个卡顿文件dump下了用户遇到的10个卡顿,每个卡顿高频收集到30个堆栈,这就已经产生2000*10*30=60W个堆栈。...,按照卡顿上报重复的次数降序列出; 2、归类后展示每个卡顿的关键耗时代码,也可查看全部堆栈内容; 3、支持操作卡顿记录,如搜索卡顿,提tapd单,标注已解决等; 4、展示每个版本的卡顿问题修复数据情况,...目前monitor卡顿监控库主要有监控主线程卡顿情况,获取平均帧率使用情况,高频采样和获取卡顿信息等基本功能。
前言 在日常业务测试中经常会发现页面跳转卡顿、滑动卡顿等等卡顿问题,但是往往发生了卡顿问题也没有什么具体信息提供给开发同学排查问题,所以也就不了了之了。...Blockcanary介绍 介绍 Blockcanary是@markzhai开发的检测app主线程卡顿工具,不需要在代码中插桩和debug代码就能检测出卡顿。...log日志 根据上面的配置代码并打包app,进行手工测试如果主线程卡顿超过1000ms,会在手机sdcard/BlockTest目录下生成卡顿日志。...卡顿文件包含几点: 发生时间 版本 imei cpu型号 内存 卡顿堆栈 上报log日志 之前方式的卡顿日志需要连接该设备把log手动导出来分析,或者在卡顿弹框中展示,这样并不能做到日志持久化和做后期的数据分析...项目 我们模拟一个Demo项目来模卡顿,点击block按钮后sleep2秒来模拟卡顿。 卡顿日志:
领取专属 10元无门槛券
手把手带您无忧上云