当前位置:网站首页>“非洲用户的付费意愿并不低”——专访四达时代研发总监张亮
“非洲用户的付费意愿并不低”——专访四达时代研发总监张亮
2020-11-06 22:22:00 【rpandora】
2018年世界杯前,StarTimesOn App在非洲正式上线,全程直播32个球队的64场比赛,获得了广泛的关注和大量用户。目前StarTimesOn App除了转播体育赛事,还有140多个国际顶级的直播频道,以及数万小时的影视剧内容。
然而在非洲的网络条件下,交付良好的视频播放体验绝非易事,所以这几年张亮的工作就是从各个角度探索问题的解决方案,以保障非洲地区的视频播放体验。
采访讲师:张亮,四达时代研发总监,毕业于北京科技大学,拥有超过十年的视频处理与CDN行业经验,对视频关键技术和大型系统架构设计有较深入的理解,近几年专注于海外弱网下的视频播放体验优化。目前主要负责“StarTimes On视频基础平台”的建设与技术管理工作。
LiveVideoStack:请您简单为读者介绍一下“StarTimesOn视频基础平台”及其亮点。
张亮:StarTimesOn视频基础平台包含了视频处理、视频分发、用户请求调度、视频QoE与QoS分析四大模块,每一部分均为非洲的独特挑战量身定制。
说到亮点,首先应该是0-RTT起播的特性,用户在播放视频之前无需与后台和CDN进行多次交互,而是直接下载视频内容开始播放,这个特点使用户免受高RTT带来的首屏时间较长问题。
在视频处理部分,我们针对非洲相对较差的网络环境,设计了针对性的转码算法和封装格式,提升极低码率下的视频质量、提高下载速度、降低弱网下的播放卡顿比。
在视频分发部分,我们解决了非洲各国、各运营商之间互联互通较差的问题。为了降低丢包率和延迟,提升用户的视频下载速度,我们将边缘CDN部署到非洲各国主要运营商的核心机房。同时为了降低内容分发成本,我们利用卫星的广播特性,将视频内容从南非上星,广播到非洲众多的运营商机房内,从而有效的降低了总体运维成本。
Photo from Pexels
LiveVideoStack:“StarTimesOn视频基础平台“具体部署在非洲的哪些国家,以及这些国家的网络环境与国内有哪些不同?
张亮:我们的视频处理平台部署在南非,将原始视频内容转码、打包后,通过卫星分发到自建CDN。目前CDN已经部署在南非、尼日利亚、加纳、肯尼亚、坦桑尼亚、乌干达等主要的非洲经济/人口大国的主要运营商内。
之所以要覆盖多个国家的运营商,是因为总体上非洲国家的网络资源仍然处于非常匮乏的状态。首先是运营商的接入网和国际互联网出口资源都非常紧张,在手机上ping服务端,延迟很容易达到几百毫秒甚至秒级。
其次是运营商之间几乎没有互联互通,IXP到运营商的带宽十分有限,更缺乏具备足够渗透深度的CDN服务提供商和云服务提供商,这使得跨运营商的数据交换非常困难。
这两个特点使得在非洲提供体验良好的视频播放体验绝非易事。如果直接使用第三方CDN服务或者在IDC中自建CDN,则服务质量不稳定且成本高昂。
因此,我们选择直接与运营商合作建设CDN,避免挤占运营商本已十分有限的国际互联网出口,不但降低了运营商的出口压力,也提升了用户的体验。
LiveVideoStack:在解决非洲地区的弱网问题时,会有哪些特殊的难点及其具体的考量?
张亮:非洲的弱网主要是由严重的拥塞导致的,包括接入网层面的拥塞和国际互联网出口层面的拥塞。这种拥塞一方面导致了极高的丢包率,同时也导致RTT极不稳定且通常较高。在这种情况下,常规的优化方法往往会失效。
我们在处理此类问题时,一方面是从网络基础设施层面入手,通过就近部署CDN来有效提升网络本身的质量;另一方面则结合自身的业务特点,通过各种方法使业务对高延迟、高丢包变得不那么敏感。
例如在常规的视频启动过程中,App需要与后台进行多次交互、经过多个RTT才能开始下载视频并播放。通过对启动流程的优化,用户在列表页点击视频后,跳过了常规的业务接口调用、CDN调度、下载manifest文件等流程,可以直接利用已经建立好的TCP连接在CDN上下载视频内容并播放,相当于0-RTT起播,从而极大的降低了RTT对首屏时间的影响。
这些优化经历也让我们深刻地认识到,任何优化都不能脱离业务场景去空泛地设计。如果想得到一个放之四海而皆准的优化方法,往往会事倍功半;而针对自己的具体问题设计优化方案则更容易达到目标。
LiveVideoStack:非洲的在线视频服务发展目前处于什么阶段,当地用户对在线视频业务的需求如何?
张亮:受限于非洲国家的经济发展水平,目前大部分民众还不能长时间地观看在线视频,与国内相比,这个市场的用户规模还非常小。因此,最早在非洲落地的在线视频服务基本都是付费服务,如DSTV Now,以及大名鼎鼎的Netflix,目前StarTimesOn平台也是以付费内容为主。
另外,非洲的平均经济发展水平虽然相对较低,但用户的付费意愿并不低,以StarTimesOn平台的足球类节目为例,一旦有足球比赛,当日付费会员销售收入可以数倍于平时的水平。
从以上现象可以看出,虽然受限于经济发展水平,非洲在线视频的总体市场规模无法与国内相比,但用户愿意为优质内容付费,这就为能够提供优质内容的服务提供商留下了足够的市场空间。
Photo from Pexels
LiveVideoStack:您近期最关注的技术、行业趋势是什么?
张亮:都与提高非洲用户的视频播放体验有关,比如在网络协议层面关注QUIC,SRT等新的传输控制协议,也关注BBR等拥塞控制算法在非洲弱网下的表现。
视频编码方我们已经上线了HEVC,目前在探索AV1或VVC的应用潜力。流媒体协议方面,现在用的是HLS,也在关注Dash的一些特性,同时我们也会针对自己的需求对这些协议做定制,比如定义自己的manifest以加快首屏启动时间。类似的技术点还有很多,我会在LiveVideoStackCon上与大家详细分享。
LiveVideoStack:您加入四达时代期间对音视频技术有了哪些新的理解;在您的眼中,四达时代在这期间又历经了怎样的发展和变化?
张亮:我04年就加入了四达时代,那时四达时代的服务对象是国内的广电运营商,帮助国内客户建立基于广电网络的视频时移、回看和点播系统。
当时美国的Comcast在互动视频领域还非常有影响力、思科的视频服务器在国内每年也有着巨大的销售额,因此当时我学习、研究的规范与技术都离不开这个范围。也是在同一时期,我带领团队研发了直播注入服务器、QAM资源管理器和会话资源管理器等多个系统。
后来随着四达时代在非洲业务的持续发展,我们也提出了非洲版本的TV Anywhere解决方案,即以电视为主直播高品质的频道内容,通过手机提供直播回看、影视剧点播和热门体育赛事转播的服务。其中手机上的在线视频服务免费提供给我们的高级用户使用。
因此,我们也迅速积累了一批忠实的移动端用户。在这个阶段,我们关注的技术则更加“互联网化”,使用了大量的开放协议和开源技术,比如大家熟悉的HLS、X265、Nginx等。目前,我们的在线视频后台系统已经完全以开源技术为基础,同时又针对非洲的具体情况进行了大量的改造。
这些年的实践经历也让我认识到,一个小圈子里的行业内规范是难以持续进化的,因为用的人少,遇到的问题也少,解决问题的人就更少,所以封闭的花园终究长不大。只有基于开放的平台和技术,在广阔的天地中持续接受考验,才能使技术持续地进化,最终使得采用这些技术的每一个人受益。
四达时代在这个过程中也完成了自身运营思路的转型,从原来只依赖电视一个平台,到现在电视结合互联网,甚至以后可能是互联网结合电视。在内容方面,除了传统的直播频道,我们也在寻求更多的内容来源,以更好地满足用户需求。一句话,相比以前只做电视直播,现在四达时代也变得更加开放了。
LiveVideoStack:您所参与的最难忘的项目是什么?
张亮:说到最难忘的,倒不是一两个项目,我觉得应该是非洲的这个大环境,它让我深刻认识到专注与务实的重要性。
我们提供的是长视频服务,而且都是版权内容,用户需要付费才能观看,所以用户对服务质量是非常挑剔的。我们经常能看到有用户在Google Play上评价说播放体验不好,一卡一卡的,然后就打个一星。
非洲的网络条件之差,没有接触过的同学都难以想象。我们在这么差的条件下努力提供视频服务,但换来的是用户的差评,说实在的这个结果让人很难接受。不过难受完了,问题还是得解决,谁让我们做的是付费视频服务呢。
后来我们针对性地分析了用户体验差的原因,仔细分析我们能改变什么、不能改变什么,然后从播放器交互体验、业务逻辑、传输协议、视频编码封装、CDN建设等多个角度持续优化,最终交付了让绝大多数用户满意的视频服务体验。
在这个过程中,我们没有去盲目地找一些技术点去死磕,而是从问题出发,仔细寻找瓶颈点,然后再针对性优化。例如针对非洲网络RTT较大且不稳定的现状,我们提出了0-RTT视频播放的技术方案,这个方案通过一系列优化手段,使RTT对首屏时间几乎没有影响,从而完美解决了RTT较大影响用户体验的问题。这些优化方案绝非一簇而就,也不能简单地从别人的最佳实践中copy得来,只能是立足于自身的实际情况仔细分析、持续迭代,然后才能取得良好的效果。
LiveVideoStack:近几年您遇到的最大的困难是什么,以及您是如何坚持下来的?
张亮:应该就是在线视频业务的研发过程了。一开始我们按照比较常规的思路上了大量的功能,甚至在长视频之外还上了短视频、图文信息流、体育专题论坛等。但是做了大量功能后,用户活跃度和收入并没有起色。这个过程是非常让人痛苦的,有付出但没有收获,当时产品和研发团队也都很迷茫。
后来我们回到用户体验这个本源上,在CDN建设、播放体验优化、支付体验优化等最基础的层面上持续改善。最终这些改善收到了回报,我们能看到随着体验的不断优化,用户的次均和日均观看时长在增加、留存率在增加、支付成功率也在增加。
支撑我们持续优化用户体验,而放弃堆砌产品功能,其实源自一个非常简单的想法:
在互联网时代,用户的忠诚度非常之低,因为所有的app都在抢占用户有限的时间。如果我们不能在体验上让用户满意,那还不如一开始就不要做,免得浪费资源。
这个想法虽然简单,但是越简单的东西越容易被人忽视,当大家都迷信于堆砌产品功能去追求差异化时,不妨再回过头来想想,我们是否真正满足了用户最基本的需求。
Photo from Pexels
LiveVideoStack:在您的技术进阶之路上,给您启发最大的是谁?
张亮:一位是四达研究院前院长温江涛教授,另一位是我们现在的CTO毕先春。他们身上都有一个共同的特点:专注、务实。这两个词看着平平无奇,但实际上绝难做到。
这两位专家本身的技术能力都非常强,思路也非常开阔,但在面对每一个具体的问题时,他们并不会直接根据以往的经验给出解决方案,而是会刨根问底去挖掘问题产生的原因,问题到底限制了什么、为什么必须解决、应该解决到何种地步、我们最终的目标是什么、有哪些解决问题的思路以及各自的投入产出比如何……他们思考问题角度之刁钻、提出的解决方案之奇葩都让人脑洞大开,但也正是通过对问题深刻的挖掘和分析,最终反而能得出最务实的解决方案。
也正是在这种思路的指导下,针对非洲弱网下的视频播放难题,我们深刻挖掘了问题的原因并明确了我们的目标,最终采用了一系列不太常规、但非常有效且容易落地的优化方案,使非洲用户获得了良好的视频播放体验。
LiveVideoStack:如果此时此刻您可以做任何事、成为任何人,您最想做什么、最想成为什么样的人?
张亮:这个问题过大了……某种程度上说,我应该算一个比较缺乏想象力的人,眼睛看的更多是当前的目标,思考的是如何去完成任务。如果一定要说的话,我希望自己能全面地掌握音视频以及业务后台领域的关键技术,能够针对业务的特点给出务实的系统设计方案,进而带领团队打造一个好用、高效的音视频服务。
LiveVideoStack:能透露一下您在这次LiveVideoStackCon 2020北京站会带来哪些独家内容吗?
张亮:互联网企业出海已经是一个非常热的话题,但目前大多数人分享的是东南亚、印度出海遇到的挑战。我想分享一下四达时代在非洲耕耘在线视频服务时遇到的一些独特问题和我们的解决方案,希望能与大家共同探讨。
海外弱网下的在线视频平台优化实践:在弱网下,视频启动时间和播放卡顿都会增加。为提升弱网用户体验,需要识别出主要问题再针对性调优。本演讲将结合四达时代在非洲建设”StarTimesOn在线视频平台“过程中积累的丰富数据,分享传输路由优化和传输协议优化相关的关键问题,以及各类针对性调优方案上线后的效果对比。
LiveVideoStack:您现阶段正在解决的问题以及您下一个阶段的研发目标是什么?
张亮:目前仍然在努力提高用户的视频播放体验,这应该是相当长时间内的目标。因为我们提供的是付费视频服务,用户对服务质量极为敏感,尤其是在直播比赛时,任何卡顿、花屏等故障都会招致用户投诉。
具体来说,目前我们已经比较好地解决了网络延迟在首屏时间和卡顿方面带来的问题,但仍有相当一部分用户由于下载速度慢,导致播放过程中可能出现卡顿。因此,我们一方面需要继续攻关视频压缩技术,在保障画质的同时持续降低码率;另一方面,也需要研究在非洲弱网下如何有效提高下载速度,从而保障用户体验。
目前我们已经对Quic、BBR等较新的传输协议和拥塞控制算法进行了实网测试,采集了大量数据,优化工作仍在进行中。
LiveVideoStack:在非洲发展在线视频业务的过程中,有哪些经验、教训,又有哪些不一样的挑战和机遇?
张亮:受限于这个市场的整体规模,我认为首先要找准自己产品的目标用户群,真正满足他们最基本的需求,在这个最基本的层面上做到无人能够替代的地步,这样就有了生存的基础。在这个基础足够坚实之前,千万不要盲目堆砌产品功能,希望靠这些外围功能吸引更多的用户进来。
编辑:Coco Liang
版权声明
本文为[rpandora]所创,转载请带上原文链接,感谢
https://my.oschina.net/u/3521704/blog/4490015
边栏推荐
- window系统 本机查找端口号占用方法
- 1万辆!理想汽车召回全部缺陷车:已发生事故97起,亏损将扩大
- 2020 database technology conference helps technology upgrade
- 移动端像素适配方案
- The Interpreter pattern of behavior pattern
- Road to simple HTML + JS to achieve the most simple game Tetris
- STM32F030K6T6兼容替换灵动MM32F031K6T6
- [elastic search engine]
- Python 100 cases
- How to prepare for the system design interview
猜你喜欢
谷歌浏览器实现视频播放加速功能
Jenkins installation and deployment process
What kind of music do you need to make for a complete game?
Novice guidance and event management system in game development
2020-08-17: how to solve data skew in detail?
Why is the LS command stuck when there are too many files?
[self taught unity2d legendary game development] map editor
Event monitoring problem
Vue communication and cross component listening state Vue communication
To solve the problem that the data interface is not updated after WPF binding set
随机推荐
The role of theme music in games
How to start the hidden preferences in coda 2 on the terminal?
实验一
Common syntax corresponding table of mongodb and SQL
应用层软件开发教父教你如何重构,资深程序员必备专业技能
移动端像素适配方案
[graffiti Internet of things footprints] panoramic introduction of graffiti cloud platform
2020-08-18:介绍下MR过程?
Ora-02292: complete constraint violation (midbjdev2.sys_ C0020757) - subrecord found
2020-08-15: under what circumstances should data tasks be optimized?
August 24, 2020: what are small documents? What's wrong with a lot of small files? How to solve many small files? (big data)
Hdu3974 assign the task segment tree DFS order
1万辆!理想汽车召回全部缺陷车:已发生事故97起,亏损将扩大
2020-09-03:裸写算法:回形矩阵遍历。
Detailed software engineering -- the necessary graphs in each stage
mongo 用户权限 登录指令
A concise tutorial for Nacos, ribbon and feign
[byte jumps, autumn recruitment Posts open] ohayoo! Don't leave after school, I want to ask you to play games!!!
Zero basis to build a web search engine of its own
How to prepare for the system design interview