本文主要探讨人工智能相关技术在大微映画公司直播业务中的应用场景。
AI+直播应用场景一:直播内容审核
内容审核难点
第一、网络直播规模庞大,人工审核成本高。2015年直播平台接近200家,用户数量已经达到2亿,大型直播平台每日高峰时间会有数万个直播“房间”同时在线,用户数可达千万人次,如果全部用人工对1万路视频同时进行审核,为了保证“无漏网之鱼”,至少需要数百人同时工作,并且每位工作人员需要配备1-2台监控设备。比如映客现在在审核上投入的人力是800多人,占用了7000平方米的审核基地,24h的人力审核。其实直播视频内容的违规比例占比不高,仅0.04%,甚至更低,但为了做到“无漏网之鱼”,企业需要投入大量的人力、物力和财力进行监管,运营成本压力增加。
第二、直播流量聚焦夜晚,人工审核效率低。网络直播白天跟晚上的“房间数”不同,目前,白天直播流量峰值是数百路视频,晚上可以飙升到数千路。但“三班倒”的审核人员,夜晚疲劳,人眼识别精确度降低,出现误判漏判的概率上涨,审核效率降低,难以达到网络直播的内容监管需求。
第三、主播实名及直播实时验证难。直播平台注册简单,主播规模扩充迅速,如果实名验证完全依靠人力审核,人力成本增加,难以做到真实有效的审核;再加上一些稍微大一些的直播平台高峰期时期会有上万人,如果每次主播直播时,都验证是否属于本人在直播,这又增加一部分人力成本,对于一些中小型直播创业企业而言,运营难度上升。
监管政策影响
(1)从直播平台本身来说,能够促进直播平台加强自律:例如部分直播平台规定主播需实名验证、满18周岁;直播内容存储时间不少于15天;所有直播房间内添加水印;对于情节严重的主播将列入黑名单、对直播内容进行24小时实时监管等。
(2)从直播平台的发展来说,对于大型企业的发展是比较有优势的,大型直播平台对监管成本上升的承受能力比较高,中小型视频直播平台将在监控审查成本的提升环境下挑战增大。
(3)从直播平台的内容发展来说,依靠色情、暴力等擦边球的“激进”内容来吸引用户的道路越来越不可行,未来受欢迎有潜质的主播也许会更加偏向专业化。
内容审核技术
传统的图像审核方式主要有两种:
纯人工审核(企业员工“三班倒”工作,人眼鉴别该图片或视频是否违规)和传统智能审核(如识别色情图像,基本是通过图片 RGB 值识别肤色比例;通过建模识别异常动作、敏感部位等)。
但是这两种审核方式都存在较大的漏洞,“三班倒”的人工容易导致审核效率低、误判漏判多等主观性问题;传统智能识别色情图片准确率低、经常误报等。而且这几种审核方式对近两年热门的视频直播审核需求更难以满足。
AI+直播内容审核
现在主要是利用机器识别结合人工审核的模式进行审核,机器识别是依赖于人工智能领域最新的算法:深度学习算法,通过模拟人脑神经网络,构建具有高层次表现力的模型,能够对高复杂度数据形成良好的解读。通过大数据持续训练、频繁的迭代,不断提高审核鉴黄违法等内容精确度,有效节省人工复审的工作。
机器主要是用来专门判断哪些图片是色情的或者需要被过滤掉的违法信息,它在这方面的智能程度是可以替代人力的,经过机器审核后的数据,会分为“确定”和“不确定”的两个部分,确定部分的可以达到99.5%的准确率,不确定的会诚实地告诉客户,由客户做出决断。不确定的部分可能只占到审核总量的1~2%,原先需要100个人审核,经过机器识别服务,就可以只用1~2个人来完成了。
机器识别内容审核主要包括鉴黄、暴恐识别、广告识别、敏感人脸过滤等;
AI技术实现
机器学习需要同时满足三个条件:
1、海量的数据(大家都知道互联网发展那么多年,已经积累了大量的数据了);
2、高性能计算的能力 (显卡和GPU因为摩尔定律的发展,也已经积累了很多年);
3、深度学习的算法(是在2012年被一次imagenet的比赛,被业界广泛注意到,隆重地登上了历史的舞台)
简单来说,可以把深度学习理解为一个空白的人脑,这些大量的数据就是灌输进来的经验。深度学习是属于机器学习的一个范畴,是最新的机器学习的技术,主要体现在“深度”这两字上。
深度学习可以理解为“深度机器学习”的意思,因为普通或者传统的机器学习,在神经网络的复杂度和层数没有像现在这么高,深度学习就是一层一层的层数变多了,层数和复杂度都加深了许多,所以现在才会叫做深度学习。
譬如说你想训练一只狗,狗做对了你就给它激励,为它或者做错了你就惩罚它,那久而久之它就知道哪些是正向、或负向的激励,然后就明白自己哪些事情是自己应该去做的,对于错误的事情的想法也会逐渐被抵消。
当我们把大量的色情、性感、正常的样本的属性告诉深度学习的引擎, 然后让引擎不断学习,然后把他们做对的进行奖励,做错的就惩罚,当然这些奖励和惩罚都是数学上的,最后空白的脑袋就会学成了一种连接的模型,这种模型就是为了鉴别色情与非色情而生的。
深度学习,恰恰就是通过组合低层特征形成更加抽象的高层特征(或属性类别)。然后在这些低层次表达的基础上,通过线性或者非线性组合,来获得一个高层次的表达。此外,不仅图像存在这个规律,声音也是类似的。
深度学习的一个主要优势在于可以利用海量训练数据(即大数据),在学习的过程中不断提高识别精度,但是仍然对计算量有很高的要求。而近年来,得益于计算机速度的提升、大规模集群技术的兴起、GPU 的应用以及众多优化算法的出现,耗时数月的训练过程可缩短为数天甚至数小时,深度学习才逐渐可以用于工业化。
对于开发团队来说,做该领域产品的困难在于如何获取大规模已标注数据、集成有 GPU 的计算集群以及针对自己的项目调参数,团队需要不断地输入新数据,持续迭代以提高机器识别准确率。
业内概况
在智能审核垂直领域的有腾讯优图、阿里绿网,他们主要为自身的平台客户提供审核服务,不属于第三方。
第三方公司如图普科技,目前服务的直播客户包括花椒、在直播、映客、17直播、悟空TV等等。
AI+直播应用场景二:个性化推荐
个性化推荐可以说是内容审核的延伸。
如果不将AI局限在“鉴黄”或内容审核内,我们还可以视频时代的内容建立连接。文字时代,有了计算机对文字的理解就有了内容间的连接,同样,图像和视频被计算机理解后,也能形成内容间的连接。因此,除了内容审核,还可以发力视频和直播的大数据标签和个性化推荐服务。
大数据标签主要用于短视频和直播平台,系统会通过对海量的标注过的数据的学习,根据主播的行为、场景、人物风格、年龄、性别等,自动为当前直播建立标签。例如,一个喜欢做嘟嘴表情的年轻女孩,会有很大可能被打上“萌妹子”的标签。而通过对人工标注的系统的学习,我们甚至可以判断主播的颜值。当然,和有硬性指标的鉴黄不同,“萌妹子”、“颜值”这些标签很多时候带有很大的主观因素。
但是,对于做视频推荐来说,这些基本符合主流审美标准的标签已经足够了:新用户注册后,直播平台可以根据该用户选择关注的标签,在他的首页呈现相应的直播;直播平台还可以根据颜值和热门等综合因素,在首页推荐直播内容;另外,当用户关注的主播不在线时,系统还可以推荐一些和他关注的直播类型相似的主播。
应用一:场景推荐。比如在场景的精准推送上,可以基于人脸、场景、商品识别与分析技术,抓取视频内的价值信息,实现最精准的内容匹配。例如主播正在做什么,唱歌、跳舞、抽烟、化妆、睡觉或其他。在将来全民生活直播,可以挖掘的信息量就更大,包括万事万物的识别,视频内出现的车、手机、玩具或其他的,这都是反映了一个人的生活习惯、行为习惯,机器可以根据用户偏好,智能推送相应直播视频,帮助直播企业更好地进行用户互动运营。
应用二:搜索推荐。搜索的标签栏,用户可以直接根据标签去搜索。例如用户喜欢跳舞的、场景在KTV里的直播,都可以根据相应标签搜索。直播的视频内发出的所有图像信息,包括人物、地点、活动、事物、背景等,在以人工智能技术作为基本支撑下,可以帮助用户智能搜索所需信息,像KTV、餐厅、教室等,这些都是可以提高产品和用户体验,或者企业想将这些信息流量变现,均可按企业需求定制。
应用三:风格推荐。在主播风格推荐上,通过图像识别对主播进行分类,可以得出直播平台的内容是否健康,或者给主播打上标签,平台是否需要培养和扶持一些比较稀缺、受欢迎的主播。可以自动分类不同风格的男神女神,根据用户平台资料和兴趣,智能推送偏好类型。
应用四:颜值推荐。还可以建立颜值推荐系统,基于人脸识别,机器自动将高颜值主播推荐给用户等。基于人的智能搜索,帮助直播平台把用户和内容串连起来,把相似的主播串连起来,让用户找出自己想要的人物形象。例如用户可以描述自己梦中情人的形象然后进行智能搜索,或上传自己的照片即找出与自己最有夫妻相的主播等,这都是目前同质化直播平台没有做到的事情。
仅这个推荐功能,应用表较好的平台,可以使新用户的留存增加一倍以上;对老用户,也能使其停留时长至少增加30%-40%。对短视频和直播平台来说,留存增加意味着用户体验的提升,更重要的是,广告、打赏等收入会得到显著提升。如果说之前的内容审核是节约人力成本,为企业省钱的话,视频推荐则是在实打实地帮企业赚钱。
个性化推荐技术
包括人脸识别(主播颜值、风格、表情、年龄、性别、其他外在特征等)、场景识别(主播直播时所在环境)、物体识别(直播平台中出现的物体)等各种图像的识别。直播平台的个性化推荐,是在传统推荐系统的基础上,融入图像识别技术,以用户的即时兴趣为基础,智能推荐符合用户心理预期的内容。
举例:颜值推荐接口
用户通过该颜值接口上传一定数量的图片,我们会返回这些图片里的人物是好看,普通,难看或其他,并给出相应的判断分数,分数越高,判断为该类别的概率越大。
颜值接口1天可以处理一亿张图片,并且24小时不间断工作。准确度超过99.5%,可以替代80%以上的人工审核,并且可以不断学习提高准确度。
图片区分标准主要以人的正脸样貌为主进行判断,由于对样貌的评比标准是主观的,所以我们让机器学习大众审美的评比标准后作出判断,标准因人而异。
AI+直播应用场景三:广告、营销、互动
硬创公开课:人工智能在消费级视频场景中的应用
Video++张奕:人工智能在消费级视频场景中的应用丨硬创公开课(附PPT)
Video++产品体系架构
Video++,作为国内领先的专注于消费级视频大流量场景的AI科技公司,其主要产品有Video OS、Live OS、Video AI、魔法植入、Video Data、V Mall。
Video OS:为点播平台提供视频互动和智能识别操作系统,为传统视频创建多维度互动形式结合视频内容打造用户体验与创新营销,开创内容营销打造多元化互动产品,并通过自动化广告投放系统帮助视频平台进行流量变现。使用Video OS的综合平台包括芒果、中国蓝TV、乐视、PPTV、风行等,垂直社区包括日日煮,Zealer,凤凰网等。
Live OS:为直播平台提供直播互动系统,包含红包、图片、中插、图文链、投票、点赞、抽奖等7大基础强互动功能,并都涉及内容和广告两方面,贴合各个阶层的用户群体,同时打造了完善的直播广告电商分成系统,帮助直播平台进行流量变现。使用Live OS的直播平台包括斗鱼、战旗、熊猫、龙珠等。
Video AI:基于人工智能辨识技术,在影视剧中挖掘最具商业价值的视频信息,通过建立品牌广告、视频内容、用户情感之间的关联性进而优化广告投放逻辑,大大提升品牌产品的使用场景联想,提升品牌好感度与用户记忆。例如识别到视频中出现周杰伦则自动投放周杰伦代言的商品广告,识别到出现聚餐场景则自动投放啤酒广告等。
魔法植入:根据视频播放的场景,将广告与视频场景融合,模拟拍摄视频时广告已经在此场景中的效果,从而达到不打扰用户体验的全新广告形式。
**Video Data: **为视频广告提供丰富全面的互动产品数据分析服务以外,以Video++特有的跨平台视频观众互动数据为基础,通过大数据算法,将用户标签化,实现广告精准投放。
V Mall:Video++ 为视频平台搭建原生电商系统助力平台内容电商发展,一站式解决供货、物流、客户等运营问题,帮助平台降低运营成本提升创收效率。
我们将看到更多Video++的产品应用到视频节目中,为平台方和品牌方提供更多的广告商业机会。
Video++官网
Video++植入案例
AI+直播应用场景四:直播美颜
几年前图片美颜教育了市场,到了直播时代,美颜同样成为直播平台的标配。女主播要是在直播中不能自动美颜,那只能靠更精致的妆容来补,而实时直播美颜技术恰好解决了这个问题。
目前最新的美颜技术已经发展到了 2.0 阶段,打个比方,如果美颜 1.0 只是化妆(磨皮、祛痘、肤色调整)的话,美颜 2.0 基本就能达到整容的效果——把眼睛变大,把圆脸变成瓜子脸。而实现这一效果的基础就是人脸识别。
涂图 CTO 邱彦林为大家讲述 《解密 AI 在直播美颜中起到哪些你看不到的作用》。
**一、美颜中最常见的祛痘、磨皮技术原理是什么样的? **
从图像处理的角度看,什么是“痘”和“斑”?
一张图像可以看作是一个二维的数据集合,其中每个元素都是一个像素点。如果将这些数据用几何的方式来呈现出来,“痘”就是和周围点差异较大的点。在图像处理领域,这个差异是通过灰度值来衡量的灰度,也叫“亮度”。灰度图,也就是黑白图。将彩色图转换为灰度图,图像的关键特征不会丢失。
事实上,人的眼睛在观察物体时,首先注意的是物体的边缘。而在一张图像里面,边缘,即与周边灰度差异较大的点。类似的,“痘”也是与周边点的灰度差异较大的点。相比色彩,人的眼睛对灰度更敏感。这也是为什么对视频进行压缩的时候,会偏向于丢弃色彩部分的数据,而尽量保留亮度数据。
磨皮祛痘,就是要平滑点与点之间的灰度差异,同时还要保持皮肤原有的一些细节。所以,美颜一般选择边界保持类平滑滤波算法。
二、直播美颜(动态)和图片美颜(静态)的区别在哪里?动态美颜要解决哪些技术难题?
最重要的区别在于:直播美颜要求实时处理,而静态的图像处理对实时性没有要求,比如最近比较火的 Prisma,大家会发现处理一张图像的速度可能需要 1~2 分钟,甚至更长。
直播的实时性,最直接的体现就是在很短的时间内,完成一系列任务。所以直播中的美颜,对性能有很高的要求,无法使用特别复杂的算法。我们只能在算法和美颜效果之间找个平衡点。
在图片处理应用中,没有实时性的要求,所以对算法没有什么限制。只要能实现好的效果,再复杂的算法也可以用。
在第一个问题中,我提到了边界保持类平滑滤波算法。这类算法有很多种,但在直播中一般均选择双边滤波算法。这个算法性能高,效果也比较好,非常适合直播场景。除了磨皮算法外,调整皮肤肤色也是美颜的一个关键环节。关于调整肤色:一方面实现美白、红润的效果;另一方面则通过控制肤色,可以弱化“痘”和“斑”等,因为磨皮算法只能在一定程度上消除噪点。调整肤色个环节,还能够让设计人员参与进来,来设计出更符合我们审美观的效果来。
**三、如何解决美颜后画面像素变差的问题,可通过什什么办法在保证美颜效果和画质之间的平衡? **
从技术上讲,美颜和画质没有关系。直播的画质由主播端的输出码率决定,码率越高,画质越好,反之越差。 一般来说,在直播应用中,主播端输出的码率是固定的,或者说限制在一定范围内。如果网络情况好,输出的码率高,反之则低。目前主流的直播平台都采用 RTMP 协议,采用其它技术比如 webRTC。此外直播画质和直播平台的稳定性也有一定关系。
四、如何实现直播时添加脸部贴图,甚至实时整容:如把眼睛变大,把圆脸变成瓜子脸?
这类效果的核心是人脸识别技术。在直播时,从相机采集到每一帧的画面,然后进行人脸识别,再标示出关键点的位置,结合图像技术得到最终的效果。
我先深入讲下人脸识别,目前在人脸识别领域可分为机器学习与深度学习两类方案。
机器学习方案:
机器学习识别物体是基于像素特征的我们会搜集大量的图像素材,再选择一个算法,使用这个算法来解析数据、从中学习,然后对真实世界中的事件做出决策和预测。
深度学习方案:
深度学习与机器学习不同的是,它模拟我们人类自己去识别人脸的思路。比如,神经学家发现了我们人类在认识一个东西、观察一个东西的时候,边缘检测类的神经元先反应比较大,也就是说我们看物体的时候永远都是先观察到边缘。就这样,经过科学家大量的观察与实验,总结出人眼识别的核心模式是基于特殊层级的抓取,从一个简单的层级到一个复杂的层级,这个层级的转变是有一个抽象迭代的过程的。
深度学习就模拟了我们人类去观测物体这样一种方式,首先拿到海量数据,拿到以后才有海量样本做训练,抓取到核心的特征建立一个网络。因为深度学习就是建立一个多层的神经网络。有些简单的算法可能只有四五层,但是有些复杂的,谷歌里面有一百多层,不同的层负责不同的处理方式,如磁化层等等。
当然这其中每一层有时候会去做一些数学计算,有的层会做图象预算,一般随着层级往下,特征会越来越抽象。比如我们人认识一个东西,我们可能先把桌子的几个边缘抓过来,结果每个边缘和轮廓组成的可能性都很多。基于轮廓的组成,我们可把这个桌子抽象成几层,可能第一层是这里有个什么线,然后逐渐往下抽象程度会由点到线到面,或者到更多的面等等这样的过程。这是一个抽象的过程。
机器学习方案和深度学习方案的区别:
而这两种“学习”的区别,举个例子来说:比如要识别具体环境中的人脸,如果遇到云雾,或者被树遮挡一部分,人脸就变得残缺与模糊,那基于像素的像素特征的机器学习就无法辨认了。它太僵化,太容易受环境条件的干扰。
而深度学习则将所有元素都打碎,然后用神经元进行“检查”:人脸的五官特征、人脸的典型尺寸等等。最后,神经网络会根据各种因素以及各种元素的权重,给出一个经过深思熟虑的猜测,即这个图像有多大可能是张人脸。
移动平台上用深度学习替换机器学习算法:
具体到应用层面,在移动设备上,采用机器学习进行人脸识别,是目前的主流做法。将深度学习迁移到移动设备上,这算是时下的研究热点。深度学习的效果很好,但是前提是建立在大量的计算基础上。虽然现在的手机硬件性能已经很好,但如果要运行深度学习的模型,手机的电量会是个问题。
据我了解,目前已经有一些公司已经成功在手机上实现了低能耗的深度学习算法。目前我们也在做相关研究,在移动平台上用深度学习替换机器学习算法。
再回到直播中的给人脸实时贴图或者“整容”,实现这一效果主要应用我上面提到的人脸识别技术,检测并识别出人脸的关键点再进行图像处理即可。
**五、改变眼睛和脸型涉及到美丑的问题,如何让计算机懂得“审美”? **
改变眼睛与脸型这类美颜,因为要涉及到人脸识别的问题,就像我刚才说的原理,非常复杂,对计算量的要求也非常大。
目前这类美颜一般都是基于机器学习的,参数在编写程序时已经确定好,并没有计算机“自己”调整的过程。所以,目前的美颜的“美”,都是我们人为的来控制。当然,这个人为也不是说程序员自己可以随便编,而是要与美工人员共同参与来完成的。
举例来说:在一些比较专业的图象处理论坛里面,有设计师会发一些经过处理的美女图片来。一般是发张原图,发张经过处理之后出来一个效果图,原图跟效果图之间有个差异,我们可以通过技术手段得到这个差异。然后把这个差异应用在我们做美肤里面去,这就是调整肤色的做法。
图片跟图片之间可以通过一些手法去模拟到这个效果,这中间的过程都是可以计算出来的。然后在滤镜、PS,或者是图象处理里的一项技术,去控制一张图片的颜色表现。通过把技术人员跟美工人员结合起来,技术只管技术,美工只管美工,这样就能够开发与设计结合起来,实现所谓的“美”。
所以你看很多平台算法都大同小异,但是为什么最终出来的美颜效果让人感觉还是有差异,其实就是说里面有很多细节在,需要花时间优化,特别是用户的需求是什么,怎样更漂亮。
未来深度学习的技术更为成熟时,电脑也许就可以凭借海量的数据来总结出美来,进而按这种总结出的“审美”来处理图像。但话说回来,“美”终究还是一种很主观的事,就像之前有人通过大量美女图片合成过各个国家标准的美女脸来,还是很多人觉得不好看,就是这个原因。
六、直播美颜目前面临最大的技术难题是什么?
暂时没有很大的技术难题,Android 设备适配可以算一个。由于 Android 设备和系统类型较多,导致在 Android 平台上,直播美颜很难做到兼容所有设备。Android 直播,从技术上分为硬编和软编两种方案。
硬编:即采用硬件加速,通过 GPU 进行视频编码。特性是省电、性能好,是目前最佳的方案。但无法支持个别机型。Android 4.3 + 以上的系统才支持这个方案。(这其实不是问题了,现在主流的设备都是 Android 5.0 以上);另一方面,一些厂商在硬件层和软件层做适配时,缺乏相关支持。
软编:通过 CPU 进行视频编码,比较耗电、性能差,但能兼容绝大部分设备。主流的直播平台一般是根据进行来自动适配,保证最佳效果。
涂图直播美颜产品简介
AI+直播应用场景五:直播云服务
即构科技
说到音视频云服务,大多数人可能联想到的是网络直播应用场景,实际上,硬件对音视频云服务的需求也在逐渐提升。而这样的市场需求也推动了整个行业的发展,目前,阿里云、腾讯云和网易云等巨头都已入局,除此之外还有即构科技这样的新兴企业加入了这一竞争行列。毫无疑问,音视频云服务将会是云服务市场的下一个热点。
大家都知道,音视频云服务降低了硬件接入音视频的门槛,但是,在使用这一服务的过程中难免踩坑,这是音视频云服务提供商以及硬件团队都格外重视的,但问题是具体有哪些坑以及如何避免呢?
深圳即构科技市场运营总监冼牛为大家讲述 《关于视频直播云服务,这几点你不得不知》。
嘉宾简介:冼牛,即构科技市场运营总监,资深技术人,市场营销新兵,客串投资顾问,骨灰级游泳者。北京邮电大学计算机硕士,香港大学工商管理硕士,一直秉承人丑应该多读书的理念,读书不断。2008年起旅居香港至今,2015年回流深圳南山创业,服务过爱立信香港,摩根大通香港,和分期乐集团等老东家。2002年北邮硕士期间开始专研视频会议,现深耕语音视频云服务,直播技术应用和直播行业研究。
一、音视频直播云服务的硬件应用场景
实际上,音视频直播云服务的硬件应用场景并不少:车联网,智能家居,远程医疗和户外活动等。这是正在发展的场景,还有很多潜在的场景,会在未来几年逐渐展现。智能终端对音视频云直播服务的需求在不断增加。举个栗子,目前在国外玩得比较热的户外直播、无人机直播,都是智能硬件的一些典型应用场景。
通俗点说,音视频直播云解决的最终极问题就是:让你听见,看见,就像在面前一样。然而,这个简简单单的问题,在复杂的网络环境,硬件平台,操作系统,海量并发运维等等因素综合加在一起,就变成了一个十分复杂的问题。
以即构科技为例,在做音视频直播云服务的过程中针对智能终端解决了以下问题:
- 延迟比较大,做不到连麦互动多人对讲的效果。
- 无法全面兼容众多安卓机型,长尾用户群体无法全面覆盖。
- 硬件场景声音环境复杂,噪音抑制和回声消除的效果不好。
- 视频画面卡顿不流畅,观看效果不好。
- 如果使用基于udp的私有协议,无法被CDN网络支持;如果使用基于RTMP的标准协议,无法获得理想的低延迟。
- 无法支撑海量用户并发,或者在海量并发情况下,效果不稳定。
- 多个人同时说话,甚至出现抢话(所谓双讲)的情况下,语音效果不好。
- 对系统内部运作可见度不高,不可管控,出现紧急问题的时候很难快速定位。
二、音视频通信的原理以及技术难点是什么?
上文提到,音视频直播云服务要做的事情就是让用户在任何一个地方任何一个时候可以听见看见。由此可见,核心的问题就是对音视频数据的处理和传输。
音视频通信的整个流程包括:采集,编码,推流,转码,存储,拉流,解码,渲染(播放)。每一个环节都会有很多的坑,都需要投入很多人力和时间去填平这些坑,都需要时间去试错。因此,要做好音视频,除了靠技术的积累还要靠多年的经验。
采集和渲染:音视频信息是从通话的发起端,进行语音和视频的采集;在通话的接收端进行语音和视频的渲染。而采集和渲染两个环节会涉及到具体硬件的音视频设备的性能。需要注意的是,采集和渲染都会用到具体硬件平台的接口,这和具体硬件设备的接口、设计和性能等密不可分。因此,在系统设计阶段,就要考虑硬件设备的兼容性和跨平台。
编码和解码:编解码环节会涉及到具体硬件芯片的处理能力。我们可以将其分为两类:一类是采用硬编硬解,另一种是采用软编软解,二者各有各的优缺点。
硬编硬解要用到GPU的处理能力,优点是效率高,速度快,分担CPU的压力,减少CPU发热;缺点就是不同的硬件平台的芯片性能和接口参数不一样,要进行适配。软编软解不使用GPU,而使用的是CPU的计算能力,优点是对各个硬件平台的兼容性好,缺点就是计算的压力都放在CPU上了,速度慢,效率低,而且CPU会发热。需要注意的是,有些设备CPU和摄像头离得比较近,CPU发热可能会导致摄像头采集的时候丢帧。
除了采集、渲染、编码解码这几个终端环节以外,其它环节的和硬件平台不相关,属于后端的范畴,和目前在娱乐直播行业、在线教育行业、游戏语音行业、大规模游戏语音直播行业的方案都没有差异。下面对后端的原理简单阐述。
推流是发起音视频通讯的智能终端设备把音视频流推送到音视频服务器集(注:音视频服务器集群是一个统称,里面比较复杂,包括音视频流服务器,信令调度服务器和混流服务器等,可以简单的理解为云端)。推流是能否做到低延迟的关键。智能终端所在的环境十分的复杂,要适应这些复杂的环境,要做很多工作。例如,一般情况下上下行的网络不对称,上行网络远远小于下行网络,而且用户的设备质量参错不齐,所在区域的接入点服务质量良莠不齐。推流可以分为两步:1)选路,选择一条最优的路径;然后2)推流,在该路径上做到最优。在服务器集群上的处理包括混流(如果需要)和存储等,然后把音视频流转推到CDN网络去。
拉流的用户分为两类,一类是普通的观众,一类是参与到多人互动对讲中的用户。相对来说,普通的观众对低延迟要求不高,只要求流畅和高质量,所以可以使用CDN网络来均衡质量和成本。观众端从就近的CDN网络进行拉流,在智能终端进行解码和播放。使用的协议是RTMP, HLS或者HTTP-FLV协议,多种协议可以适配不同的环境。有些智能硬件场景是没有普通观众的,那么就只有参与音视频互动对讲的用户了。对于进行互动对讲的核心的参与者,音视频流是不经过CDN网络的。各个参与者是直接从音视频流媒体服务器上拉流来的播放。音视频流媒体服务器的质量相对比较好,网络资源也比较好,能够提供低延迟和高质量的音视频服务。
这是一个典型的音视频直播云服务的系统架构,同样可以应用到智能硬件的场景中。比如说无人机航拍直播。举个例子,即构科技有个客户是做房地产销售的,他们组织几个房地产专家进行连麦互动谈话,讨论楼盘的各种情况,并对实况进行直播,场外有上万的观众在线观看直播。推流端包括几个身处各地的房地产专家还有几个在楼盘现场航拍的无人机上的摄像头,拉流端就是观看直播的观众和各位房地产专家。从系统架构的角度来说,房地产专家的音视频通讯是在音视频流媒体服务器集群上完成的,没有转推流到CDN;而观看直播的观众,就会从CDN网络上拉流。
关于开发上的难点,已经包含在上面我们所解决的问题列表里。这里重复了一下:
- 延迟比较大,做不到连麦互动多人对讲的效果。
- 无法全面兼容众多安卓机型,长尾用户群体无法全面覆盖。
- 硬件场景声音环境复杂,噪音抑制和回声消除的效果不好。
除了开发上的难点,还有运维上的难点:
- 对系统内部运作可见度不高,不可管控,出现紧急问题的时候很难快速定位。
- 当紧急问题出在网络运营商,基础云商,或者CDN网络那边的时候,无法及时得到事故通知,也无法得到及时而深度的配合。
- 在一些边远的地理区域,网络覆盖不足,用户体验比较差或者不稳定。
- 来自不同的网络的用户得到的体验不一样,造成某些网络的用户体验比较差。
运维上的难点更多的偏向于经验的积累,只有踩过足够多的坑,只有经历过长时间的试错,才能够把系统打磨得比较顺溜。
三、低延迟、高音质和高画质怎么保证?
低延迟是一个比较难的技术点,这也是即构科技解决得比较好的一个问题。目前,使用即构科技的音视频直播SDK,参与连麦互动直播各方的延迟达到400毫秒,观众端的延迟达到1秒左右。这个低延迟指标在市场上是十分有竞争力的。举个例子,花椒直播(奇虎360投资的企业,日活超过500万)采用了即构科技的直播技术方案,原因是即构科技的视频直播SDK延迟极低,能做到移动端六路连麦互动,能让明星主播进行“同框”互动直播。
要降低延迟也是要从采集,编码,推流,拉流,解码和渲染整个链接来解决的,可以从下面几个点进行探索:
- 采集、视频处理和编码尽量减少内存多处拷贝,减少CPU和GPU处理多次切换;
- 解码、视频后处理和渲染也是类似的方式;
- 另外就是推拉流的链路上的优化,包括就近接入,和减少多层级server的转发等。这些都要根据实际用户策略来做。
关于高音质和高画质怎么保证,可以从以下几点来探索:
- 音频的数据量比较小,对带宽的要求比较低,一般不会限制音频,要优先保证音频数据可以发送。毕竟,在极端差网的情况下,即使视频不好,只要音频清晰流畅,互动沟通还是可以继续的。
- 为了获得低延迟同时保证视频的质量,要平衡流畅和清晰度,现在通常采用VBR或者CBR来处理。在保证画面质量不至于太差的情况下,可以选择性性地丢帧。这样可以避免推流端因为TCP拥塞导致于推流质量越来越差,否则除了引起卡顿也会引起画面质量下降严重。在网络确实太差的情况下,通常为了保证视频流畅,可以适当地降低推流码率,这样画面质量会有不可避免的下降。通常的做法是设置一个极限值,避免视频质量太低无法观看。
四、怎么优化音视频云服务对CPU和带宽资源耗费?
CPU资源
使用智能硬件设备的芯片进行音视频的编码解码的时候会面临两个选择:硬编硬解,还是软编软解。要降低对CPU的消耗,就要充分的利用GPU的能力。使用GPU就要进行硬编硬解,优点是速度快,效率高,CPU的占用低,缺点对兼容性有要求,需要对具体硬件平台进行深度兼容,才能做好硬编硬解。
带宽资源
要解决带宽资源消耗的问题,可以从两个角度入手:码率自适应,和云端混流。
码率自适应,就是让音视频流的码率能够自动适应复杂的网络环境,比如说网络抖动。我们都知道,在中国,用户端的上下行网络带宽是不对称的。比如说,下行如果是100Mbps,那么对应的上行就是1Mbps, 这样上行就成了瓶颈,下行反而问题不大。因此,要确保推流成功而且质量好,那么就要利用好上行的网络带宽。推流端要能够做到根据各种维度的因素,包括个体历史数据,群体历史数据,网络探测数据等等,去分析和预测网络的情况,从而决定推流应该采用多大的码率。关键点就是要找出在目前上行带宽的情况下小于上行带宽的最大码率。
云端混流,就是把多路的音视频流在服务器集群里面混合成一路流,然后转推到CDN去,让观众拉单流来观看。这样可以节省一部分带宽成本。拉流端拉流的时候有两个选择,一个是把所有推流端的音视频流单独拉下来播放,另一个就是把在云端混合好的单一一路流拉下来播放。如果采用不混流的方案,优点是拉流端可以灵活地操控多路流,比如说让画中画中的画面灵活对调, 缺点就是多占用了网络带宽。如果采用混流的方案,优点就是拉流端只需要拉一路流,可以大大的节省从流媒体服务器到CDN网络和CDN网络到拉流端所占的网络带宽,缺点就是多路音视频经过混流以后,画面的布局就固定了,在拉流端无法再进行灵活操控了。
五、音视频SDK怎么适配智能终端,如何做到跨平台和广泛兼容?
目前智能终端主流的操作系统包括iOS和安卓。iOS是苹果的智能终端操作系统,苹果的机型数目有限,而且设计和质量都比较好,要适配苹果的设备和iOS问题不大。比较难的是如何适配安卓操作系统。安卓是谷歌的开源智能终端操作系统,正因为是开源的,所以各个厂商可以做各种大尺度的裁剪和修改。特别是在中国国内市场,安卓机型十分繁多,而且架构设计,硬件质量良莠不齐;安卓操作系统也做了很多的裁剪和修改。我这里举的安卓智能手机的例子,其实也适用于采用了安卓操作系统的其它智能终端,比如说无人机或者智能电视。因此,我们说要全面兼容各种智能终端,其实说的就是如何全面兼容安卓操作系统和各种各样的智能终端硬件平台。
众所周知,安卓是开源的操作系统,底层提供c接口,上层提供java接口。国内的厂商在对安卓系统进行裁剪和修改的时候,为了提高效率和降低成本,大部分都是直接调用java接口进行修改的。
在即构科技创业初期,我们也考虑过调用java接口进行优化,来开发音视频引擎和其它各种适配工作,后来发现行不通。这条路虽然看起来节省成本而且提高效率,但是损失的是兼容性和稳定性。一套代码无法在各种各样的安卓平台上稳定运行,反而是提高了成本和降低了效率。于是我们采用比较笨,也是最基础的方法,从最底层做起,尽量地调用c接口,去做深层优化,去实现音视频终端引擎。这个过程虽然十分痛苦十分的累,但是最终一套代码可以在各种各样的平台上使用,终端音视频引擎的稳定性和兼容性也是真心的好,因此我们认为十分值得。所以,在兼容全终端、做到跨平台这一点上面,建议大家用比较笨的基础的方法,从最底层进行优化,这样才能保证兼容性和稳定性。
由于即构科技的音视频SDK是进行端对端集成的,而后端是完全解耦的,所以只要智能终端实现了全面的兼容性,后端就完全没有兼容性问题了。现在,即构科技的音视频直播方案,能够跨越iOS、安卓、WP和H5四个平台,能够兼容PC、各种手机和PAD三种终端类型,用的就是直接从底层深度优化这个笨办法。
另外一点也值得提一下,在拉流端,为了兼容和适配观众端各种各样的平台,我们提供了多种协议进行拉流:RTMP, HLS, HTTP-FLV。用RTMP或者HTTP-FLV拉流可以用即构的SDK(APP)或者Adobe Flash Player上观看,用HLS拉流可以在H5上观看。这样可以确保全面覆盖各种各样的终端用户。
六、评价音视频通信质量好坏的标准
评判一个音视频云服务质量好不好,要看技术指标,也要看非技术指标。毕竟这是技术服务,是技术也是服务。
技术上的指标包括但是不限于:1)低延迟;2)流畅性;3)回声消除;4)噪音抑制;5)跨平台;6)全终端兼容;7)海量用户并发;8)无感知扩容能力。
低延迟,这个很重要,但是到了一定临界值以后,就不是最重要的指标了。一般来说低于800毫秒的延迟,就能够做到多人实时连麦互动,做到比较好的对讲,比较好的高频互动;高于800毫秒的延迟,就只能做监控,只能做单向直播了,这样的效果和点播的差别不是很大,是做不到连麦互动或者多人实时对讲的。
流畅性,这个影响用户体验的关键指标。但低延迟和流畅性实际上是矛盾的,要获得最低的延迟,最好就是让缓冲队列尽量地短;但是要做到流畅,缓冲队列就要有一定的长度,才能够抹平网络抖动带来的影响。所以,我们要在低延迟和流畅性这对矛盾的指标上找到一个平衡点。
回声消除和噪音抑制能力,这两项最能考验音视频技术能力的水平,这也是一流的音视频直播云服务区分其它竞品的利器。在选择方案的时候,要看能否做到没有回声,没有啸叫(不带耳机的哦)。还要看能否有效抑制环境噪音,声音清晰而且通透。有创业团队找到我说,他们团队的技术很厉害,自己花了大半年就把音视频通讯系统做出来的,就是这两项怎么做都效果不理想。其实音频比视频要难,音频里面这两个点是最难的,不是那么容易做得好的。
跨平台和终端兼容性,上文有介绍,就不再赘述了。
海量用户并发,这个十分考验海量并发运维能力。C端的业务,靠的是海量的用户取胜。音视频技术很多团队自己就能做出来,demo跑的时候挺好,一对一效果不错,但是用户量一上来就开始不稳定,就要不断地进行重构和迭代,就要不断地经历服务中断。
无感知扩容能力,这对创业团队来说很重要。创业团队处于业务的快速扩展期,往往几个月用户就要成倍增长。为了扩容可能要进行版本迭代升级,甚至重构,这样很可能会终端服务,极其影响用户体验。能否做到无感知扩容十分考验一个音视频云服务商的运营经验和网络资源。这里就不仅仅是技术了,更多的是要考验是能和网络运营商,技术云商,CDN网络合作深度。这些运营经验都要靠不断试错,靠多年运营积累总结出来的。
看完上述技术指标后,让我们看看非技术指标:
技术服务的深度,要看知道技术支持的是核心技术团队还是普通客服团队。如果核心技术团队能够主导SDK集成接入和后期的运维支持,他们能够帮你解决深度的技术问题,帮你提供经验和建议。如果只是客服团队经过简单培训上岗,对着FAQ文档回答你的问题,那样的服务是远远不够的。
运维支持的能力和反应速度,这方面要看一手硬的和一手软的。所谓硬的,就是看有没有健全而强大的后台监控系统,能否全面的看到每一路流,每个节点的各项技术指标,实时监控状态,一出问题就可以快速定位。所谓软的,就是要看这个音视频云服务团队的市场口碑和自我定位,看它是不是能够对大小客户都一视同仁,能够积极快速反应,积极处理问题,能够踏实地提供服务。
和网络运营商以及基础云商合作的深度,这要看和基础云商,CDN网络的关系,能否让对方配合做一些深度的适配,能否及时地得到事故通知,能否让对方帮忙解决问题等。
这是都是企业在接入音视频云服务的时候该十分注意的问题。毕竟,选择一个云服务可能因为它技术指标好,抛弃一个云服务往往可能因为它非技术指标不好。
七、智能终端的创业公司会快速增长扩容,到后期会要求支持海量用户并发,音视频直播云服务如何满足这样的要求?
实际上,这是很多创业企业的痛点。这些创业型的团队直接面对C端的用户。刚刚启动的时候,用户很少,可能只有几百个; 但是后面几个月可能会成倍的增长,达到数十万甚至上百万个用户。面向C端的用户系统在扩容来跟上用户量增长的过程中,可能会出现扩容周期过长,系统不稳定,甚至服务中断等问题。
即构科技从两个方面来解决这个问题:
1)服务端架构能够进行灵活水平扩容。在信令层面,在架构设计的时候,我们就按照用户的预期增长,做好了相应的设计,允许水平扩展。在保证多媒体服务器集群业务侧无状态的前提下,结合我们的智能调度系统,保证调度给用户的资源是足够的。这个架构支持我们能够根据客户的容量需求,水平的把网络资源十分灵活地铺开,能够做到让C端的用户感觉不到任何中断 。
2)有丰富网络节点资源来做到无感知的扩容。网络节点资源的支持也十分的重要,即构科技和一线的网络运营商进行深度对接,储备足够的网络节点资源来满足创业企业客户群不断扩容的需求。
智能终端的创业公司也是面对C端用户,用户量发展特别快,靠速度取胜。 C端用户并发的用户数到稳定阶段会十分庞大。举个例子,智能终端应用于汽车,也就是所谓的车联网,具体的应用是音频直播,也就是现在广播电台的替代产品。这一类的产品,最后能存活下来并且发展壮大的靠的是速度和用户规模。
因此,为了支持创业企业快速发展,音视频直播云服务要能够做到以下三点:
1) 在创业早期,要能够以较低成本,较快的速度,让早期的产品集成音视频直播SDK。因为早期团队缺乏资金,但是又要求快。因此音视频直播SDK必须是简单易用的,而且是端对端集成的。
2) 在创业中期,要能够快速而且无感知的扩容,不能影响到生产环境,不能对用户体验造成损害。因此,音视频直播云服务必须要能够做到无感知地水平扩容,在云端通过配置增加网络,基础云和CDN等资源。
3)在创业后期,要能够支持海量用户并发,确保服务持续而且稳定。因此音视频云服务的架构要能够支持千万级别的海量用户并发,技术团队要有多年海量运营的经验,和运营商的基建要能够深度的结合才行。
ZERO直播云服务产品简介
八、关于未来
请允许我斗胆判断一下未来,未来音视频直播云服务可能有两个趋势:
1)公共事业服务化:未来会更加趋向于接受由专业的人做专业的事情,音视频直播云服务会成为像自来水一样广泛而且中立的公共事业服务,就像今天的基础云服务一样,谁都可以很便利很放心地使用,没有人担心安全性,也没有必要重复发明轮子。
2)成为互联网主流互动方式: 音视频的流量占网络流量的比例越来越大,VR/AR音视频的信息量还会有数倍的提升,可以预测音视频通讯成为网络流量的主要贡献者。从用户的角度来说,要能听见看见,音视频互动是最直观最自然的互动方式。从商业的角度来说,网络运营商,基础云商还有CDN网络,都会特别喜欢这个趋势,毕竟音视频的流量比文本的流量大的多,流量多起来了,就意味着更大规模的基建,更大规模的收入流水。因此,网络运营商、基础云商、CDN网络和音视频直播云服务商都会把音视频技术作为标配能力。毕竟,控制主要流量的来源,就控制了未来发展的命脉。
当我们在展望未来,未来已经变成了现在。要能听见看见,这个自然而简单的需求,会让音视频直播云服务在未来跟随着智能终端深入到互联网生活的每一个环节中去,深刻地改变人们互动沟通的方式。
七牛云直播
七牛直播云服务产品框架
七牛在视频直播大爆发时代,推出专为直播平台打造的全球化直播流服务和端到端直播场景解决方案,完美解决视频企业的三高之痛:技术门槛高、成本高、卡顿延时率高。
七牛独有的直播云服务能够为直播平台打造全球化直播流服务和端到端直播场景解决方案,完美解决直播行业企业技术门槛高、成本高和卡顿延时率高等痛点。直播流服务采用全新的实时流网络技术(LiveNet),实时计算全链路状态,按需智能伸缩最佳路径节点。实现秒开、低延时、不卡顿,和节点故障常态处理等直播需求。就端到端的直播场景解决方案而言,七牛提供多平台采集SDK和播放SDK,并开放云端API实现透明播控管理,能够帮助直播企业开发者快速构建直播平台的核心业务,提高开发效率。此单个至博路外,对于卡顿延时问题,七牛的直播云能够实现智能化的质量监控,基于单个直播流业务粒度的线路质量智能监控及实时动态的数据统计,提供自动容错及全方位的数据分析,定位并优化直播卡顿率。
七牛直播云产品简介