上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

2017年如何解决视频直播APP开发与性能痛点.pdf

编号:92454 PDF 61页 11.99MB 下载积分:VIP专享
下载报告请您先登录!

2017年如何解决视频直播APP开发与性能痛点.pdf

1、视频直播APP开发与性能痛点2017.11 金昊开直播看直播玩直播2016.012016.052016.102017.042015.10千帆直播直播基本交互直播间进入速度:300ms整体技术指标聊天接入速度:500ms白屏和DNS被劫持率:1%DNS解析时间:100ms一次连麦成功率:99%APP 整体崩溃率:5APP 卡顿率:1%点播视频打开速度:300ms头像、封面:20k内存泄露率:10%/小时整体CPU峰值:60%APP 温度控制平均温度:60直播流首帧延迟均值:500ms直播技术指标推流稳定性:95%直播流丢包率/丢帧率:2%硬编硬解覆盖率:99%直播和连麦延迟:1.5s回音消除、去

2、噪直播流卡顿率:1%黑屏、绿屏、画面卡死:1美颜、道具、贴纸 CPU占用:20%来电、通知、网络切换自动恢复推流CPU占用均值:50%观众端CPU占用均值:30%开播基本流程采集处理编码封包推流采集AndroidAndroid.CameraAudioRecord采集麦克风YUV/RGB、PCMiOSCamera 封装AVCapture(AVFoundation)YUV/RGB、PCM视频处理GPUImageFilterGPUImageFilterGPUImageFilter美颜滤镜贴纸3D道具瘦脸大眼GPUImageFilterAR/VRYUV/RGBGPUImageView(主播预览)编码美

3、颜:无美颜,不直播!美白磨皮补光可爱贴纸瘦脸占用 CPU 资源影响编码效率主播回显延迟增大编码封装FLVH.264AACH.264 编码IPIBPIGOPiOS H.264 编码FFMpeg/X264/Xvid软编YUVH.264(CMSampleBuffers)封装VideoToolBox(VTCompression)硬编iOS PCM 编码AAC降噪麦克风收音麦克风PCMAudio采集AudioToolBox硬编FFMpeg(libfdk-aac)软编Android H.264 音视频编码MediaCodecY兼容硬编?FFMpegNHEVC(H.265)RTMP 转 HTTP-FLV,H

4、.265 反而会快一些,而且压缩比提高!如果不涉及编码转换的话,H.265 也挺快!“高”转“低”比较快,“低”转“高”就很慢,H.264 转 H.265 会慢上5-6倍!得同时输出 RTMP、HTTP-FLV、HLS 及其扩展版,支持 H.265!推流推流技术流程转码中心封包(元信息、时序)LibRTMPFFMpegH.264AACCDN 源站RTMPRTMPHTTP-FLVHLS推流稳定性时刻考虑如何省电、省带宽!缩减动画,缩减特效,保CPU,保GPU!内存优化都得定期扫一遍!实时网络探测,线路择优,好路子优先复用!千帆流媒体中心CDN-B 边缘CDN-B 边缘CDN-A 边缘CDN-A

5、边缘CDN-A 中心节点主播A推流CDN-B 中心节点主播B推流我要看主播A我要看主播A我要看主播B我要看主播BCDN 多路互通推流动态配置名称范围默认值特殊情况帧率8-24fps15fps关键帧2-5s4s1视频码率400-1000 kbps800 kbps200 kbps音频码率5 kbps分辨率360P、480P、504P、720P504P全局配置用户级配置个别系统配置监听来电暂停推流压后台来电结束恢复推流监听压后台静音推流保流不断恢复前台恢复音画采集监听断网网络恢复重新推流友好提示中断推流监听网络切换4G WiFi中断推流重新获取推流地址重新推流推流外部监听防护中心转码20ms20ms

6、20ms3s20ms20ms-2s20ms-2s600ms主播推流边缘接收节点高可用GW边缘分发节点中心节点转码边缘分发节点边缘转码近点分发20ms20ms20ms3s20ms20ms-2s20ms-2s600ms主播推流边缘转码节点高可用GW边缘分发节点中心节点边缘分发节点弱网窄带推流网络检测动态码率动态丢帧动态码率网络不稳定重连窄带大码高帧发不出去推流缓慢发送卡顿Buffer累积Yes:赶紧降码儿!包太多?No:重新调高码率动态丢帧Buffer舍弃参考帧关键帧和音频帧降低编码功耗!减少传输数据量!视听保持流畅,画质有保障!还同时解决音视频同步问题!拉流拉流解码渲染播放多种清晰度CDN-AC

7、DN-B360p+400kb/s504p+800kb/s720p+1000kb/s协议对比应用范围协议首帧延迟RTMP推流、拉流TCP长连接(慢)较慢1-3sHTTP-FLV拉流HTTP长连接快1-3sHLSH5、录流回放HTTP短连接很慢8-10sMP4录屏、小视频HTTP短连接快1-3s拉取关键帧秒开(最佳)边缘节点主动 GOP 预热找近点GSLBDNS预解析转码中心预拼接流地址解复用Video BufferAudio Buffer基于时序同步控制Picture Buffer目标解码Sample Buffer音频解码解码QFPlayer(without buffer)音视频流播放器缓冲队列

8、Buffer延迟累积主播端弱网临时缓冲播放端弱网追帧追帧视频 Buffer音频 Buffer丢弃 P帧、B帧包延迟超过阈值?Yes丢弃音频帧基于时序同步控制监听来电直播静音来电结束恢复声音监听压后台取消前台播放开始后台播放状态显示播放取消后台播放移除状态栏显恢复前台播放APP保活监听断网友好提示网络恢复重连直播重连公屏监听网络切换4G WiFi友好提示重连直播重连公屏外部监听防护播放质量统计用户点击到首帧时长统计时间范围发生次数(总次数6397)平均时长比例0-0.5 秒2660.434317s4.15%0.5-1.0 秒24290.763168s37.97%1.0-2.0 秒25031.37

9、0519s39.12%2.0-3.0 秒7132.387648s11.14%3.0-4.0 秒2513.427744s3.91%4.0-5.0 秒1024.452670s1.59%5.0秒以上1335.234122s2.07%1)点击播放2)首包到达3)首个关键帧画面4)卡顿开始5)卡顿结束6)播放结束主线程APP启动优化Application初始化复杂UI、动态libs、SDK下载缓存开屏广告播放器(内存)预热异步线程检查网络Loading主UI直播间公屏疯狂滚动刷新!礼物疯狂连击!提示和通知疯狂广播!各种 WebView!动画疯狂播放!线程控制多线程中心CPUTimerMEM异步线程 di

10、spatch_semaphore_t(with CFRunLoopObserverRef)时间差1时间差2CFRunLoopkCFRunLoopBeforeSourceskCFRunLoopBeforeWaitingkCFRunLoopAfterWaitingiOS卡顿监控连麦连麦A连麦BRTMP-ARTMP-BFLV-AFLV-BCDN回音消除、转推直播流业务服务器MCU 连麦中心MCU 列表同步APP连麦查询最佳MCU节点广播状态1)连麦稳定性2)播放器内存消耗,CPU消耗3)两路流,带宽压力,码率不高导致画质问题4)多路连麦扩展,音频连麦?5)网络抖动导致延迟-本地编码痛点接口数据后端S

11、OA后端SOA接口合并层版本控制EncryptCompress数据接口请求流程Htttps&Http/2.0?hosthttpsrequest_sizeresponse_sizetotal_sizetime(ms)TRUE56348/activity/star/v1/rankAFALSE56169/activity/star/v1/rankATRUE5538641417441/activity/work/v2/FALSE55/activity/work/v2/TRUE56853/anchor/FALSE56

12、610/anchor/TRUE589427101681/audience/admin/forbid/isDeviceFFALSE5874781065102/audience/admin/forbid/isDeviceFTRUE55236892098/audience/chat/isSFALSE550422972136/audience/chat/isSecret.android动态埋点上报所有 EventID 日志原始日志EventID+版本号 StatID添加当前版本的业务ID与事件ID的映射关系清洗池根据控件路径生成唯一标识解析与映射Hive统计DB提前手动圈选和记录

13、图片&动画图片优化主线程封面下载子线程队列控制并发去重监控图片大小监控尺寸自动裁剪修正Cache监控缓存动画优化1)序列帧-WebP-BPG?2)大礼物分段加载,分段播放3)热门礼物提前打包4)降低分辨率,限宽不限高5)减少实时计算量,缓存中间计算结果6)尽量用整型替代浮点型计算7)减少GC次数8)尽量用硬件加速,发挥GPU性能直播+开启喷气模式组播通知送礼物!看进度开喷喷气设备上线开播通知后端服务喷气功能敏捷开发1)测试包周期:每天2)小版周期:1-2周3)大版周期:4周4)自动打包:Jenkins+OCLint+Fireline5)Crash和卡顿检测:Bugly、听云、自研Hook敏捷1

14、)直播间加载时长统计2)上海品茶与直播间网路请求抓包统计3)CPU、内存、带宽使用报告4)卡顿与崩溃情况报告发包质检5)推流稳定性和压测报告6)APP启动时间报告7)各统计项/动态埋点统计8)接口模拟丢包、劫持、数据破坏容灾报告1)开发确认2)QA每日报告3)全员测试4)技术指标统计5)产品确认发版流程6)全民 showcase7)UI 细节对照完善8)上线报告9)站内灰度、渠道灰度10)全量发布如何快速创新?8)做好质量统计9)直播间优化10)搭建连麦等上层应用11)接口和数据优化12)图片和动画优化13)直播+(物联网)14)敏捷开发1)直播技术指标2)优化开播流程3)采集和音视频处理优化4)编码封包优化5)推流转码高可用7)解码缓冲6)拉流秒开

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(2017年如何解决视频直播APP开发与性能痛点.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部