博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2018亚太CDN峰会开幕, 阿里云王海华解读云+端+AI的短视频最佳实践
阅读量:5256 次
发布时间:2019-06-14

本文共 3598 字,大约阅读时间需要 11 分钟。

4月11-12日,2018亚太CDN峰会在北京隆重召开,在11日下午的短视频论坛中,阿里云高级技术专家王海华进行了《短视频最佳实践:云+端+AI》的主题演讲,分享了短视频的生命周期关键点和阿里云技术解决方案。以下全文为演讲内容。

每个人都将成名十五秒钟

短视频已经走进我们的生活,离我们越来越近。在1968年美国的艺术家 安迪•沃霍尔 就曾经预言:“在未来,每个人都将成名十五分钟。”在短视频如此火爆的当下,我想这句话可以改成“在现在,每个人都将成名十五秒钟。”可能这个修改有一些断章取义的嫌疑,但这句话恰到好处的表示了短视频的精彩之处,短小精悍、易于传播、内容蓬勃。

image

我们来看几组短视频行业的数据,来自36Kr研究院的数据显示,2017年9月份短视频用户总时长渗透率为4.1%,位于细分行业名列第五,但同步增长率达到311.3%,这是用户层面的数据,同时在资本市场,我们看到一组来自易观的数据,2017年第三季度短视频市场投融资事件24起,估算吸金超8亿元。

前面讲到的都是整个短视频市场利好的信息,其实短视频有多火我相信在座各位的敏锐度很高。那么问题来了,如何利用自己对所在行业理解的优势,快速推出属于自己的短视频应用呢?接下去的分享就可以解答大家的疑惑。我将为大家分享一下阿里云视频云是如何来思考和用技术方案来解决这个问题的。

移动短视频生命周期

image

不管你是在自己已有的应用里面提供短视频能力,还是从零开始完成一款短视频应用的开发,我们从一个短视频生命周期上去看,他大概存在以下几个关键的环节。

  1. 移动端上的视频采集,编辑,生成一个mp4文件;
  2. 视频上传到服务器上进行文件存储和Meta信息存储;
  3. 媒体文件(包括图片和视频)都需要在服务端进一步的处理,才能够让用户得到更加好的体验,在图片时代,我们为了让用户能更快访问图片在不同的场景我们会对图片进行压缩裁剪,同样在视频时代我们也有这样的需求,应对不同的网络环境,不同的设备用户都应该有自己更好的体验,这个时候就需要对视频做出压缩,缩放,裁剪等处理,一方面用户能有更快更流畅的体验,另一方面APP开发者也能够在流量上节省更多的成本;对于海量的内容我们如何能够更加容易和方便的管理,传统的就是通过对视频的标题,描述,类别,tag进行检索和管理。现在我们可以通过更多的人工智能相关的技术对视频内容进行理解来完善和补充视频的Tag信息;
  4. 拿到海量视频的时候我们需要让用户能够更快更流畅访问到我们的视频,必不可少的一个环节就是对视频进行分发;
  5. 用户需要看到视频最重要的还是需要一个功能完善,性能优异的稳定播放器;

阿里云短视频技术实现方案

下面就从短视频的生命周期每一阶段分别来介绍阿里云的技术实现方案。

视频生产阶段

在采集和特效编辑阶段,阿里云短视频SDK经过几年的发展,拥有的能力包括实时美颜、混音、滤镜、变速、图片视频混剪、字幕、MV效果等等,后面结合AI、AR技术、人脸贴纸等更多玩法,让短视频SDK在端上能够做出更具个性化的视频。同时,这些能力可以和垂直的电商、教育、社交、传媒等各个场景结合,实现业务融合。

image

其实大家在选择短视频SDK的时候,首先关注到的是功能丰富性,往往会忽略掉的是稳定性和开放性。对于短视频这个用户直接接触的功能来说,稳定性十分重要的,阿里云短视频SDK经过了集团对外的上千客户验证,相对比较可靠。关于开放性,一部分是UI交互层的源代码的开放,我们会给到客户非常完整的产品级别的DEMO,可以简单快速集成,同时,客户也可以根据自己的业务场景做定制化的交互开发;另一个部分是短视频的玩法特别多,每个行业和APP都在时刻变化,我们的SDK能做到尽量开放,提供标准化的文档和接口,让客户可以更好更快的接入第三方。这两个特性,我建议在座的各位在选择短视频SDK的时候可以去关注一下。

一个完整短视频的应用或服务,不仅仅需要短视频SDK,它是一个全链路的过程。生命周期上看包括采集、上传和云端处理等等。

在视频上传阶段,上传SDK提供了分片断点上传、CDN加速上传等能力,在移动状态下,在比较边缘的情况下也可以提高上传速度和成功率。

image

内容上传到云端后,有人认为下一步就是传输了,但是现在阿里云会做的更多,为客户提供了对视频媒资的管理服务。包括对多媒体媒体文件管理、Meta信息管理、数据服务等。

讲到这里,其实整个视频生产部分已经结束了。下面我们将介绍下短视频的云端处理和播放器观看的相关技术。

视频处理和播放阶段

大家在看视频的时候,经常会抱怨几个问题:

  • 打开速度怎么这么慢?
  • 为什么这个视频看着看着就卡了?
  • 我这个视频为什么糊?
  • 移动网络看到底费不费流量?

总结提来一句话:我希望我的视频看起来又流畅,又清晰,又省流量。这个看起来是个相互矛盾的问题,但是很多时候用户要的就是这个。所以,我们短视频研发人员也要格外关注这几个问题,因为这是来自于用户的声音。

为此,阿里云视频云团队推出了“窄带高清”技术,从人眼的模型出发,在节省码率的同时也能提供更加清晰的观看体验,从线上测试结果上看,同等视频质量下最高节省20-40%带宽。这个对于用户、对于开发者来说,都是极好的事情。

当然我们也有其他的选择方案,在保证画质前提下调整视频码率、提高压缩率、减小文件体积,以节省存储和流量,使播放更流畅这个指导思想之下,我们整个点播服务做了以下两种处理。不同客户对于视频转码的能力需求是不同的,我们根据不同的场景预制了不同的转码模板,通过勾选就可以实现转码。如果客户的链路有特殊需求,我们也提供了自定义来适应多变的业务场景,这样可以非常灵活的配置清晰度,码率,输出格式等信息。

image

前面我们解决了省流量和清晰度的问题,那么流畅观还需要强大的CDN资源来做支撑的,阿里云的CDN覆盖了全球70多个国家,拥有1300多个节点,总体的容量达到了90Tb,而我们的点播服务是与阿里云CDN进行无缝的衔接,保证我们的视频无论何时何地都能够流畅地播放。

image

同时,针对短视频这个场景在CDN上做了很多的优化,除了更加精准的调度以外,针对短视频的场景我们在TCP协议栈和缓存性能方面都做了很多的尝试,比如说协议栈上有更加激进的拥塞避免算法;缓存上采用了3级缓存,优化了淘汰算法提升了命中率等等一系列的优化,所有的这些都为为了我们视频能够更加流畅被播放。

播放器是接近用户最近的端,简单来说,客户使用了我们的播放器,就基本可以具备与优酷相当的播放能力。刚刚前面提到的用户几个抱怨中,有一个是为什么这么慢,针对这个场景问题,我们在播放器全面支持QUIC协议,基于更多的CDN资源强大的调度,使得我们的秒开成功率达到98%;

短视频循环播放是不可避免的应用场景,我们可以做到边播边缓存,做到收尾无缝衔接,第二次播放不需要耗费用户流量。在视频安全层面,也通过云和端的结合,实现了加密传输和播放,接入也只需要服务端的配置,无需更多的开发成本。

image

讲到这里,用程序员的话来说,其实整个短视频的开发流程已经能够跑通了。

短视频运营阶段

那当短视频的功能上线后,更多的是需要运营。在运营这个环节中,我们会碰到很多问题,首先,海量数据到达服务器后的内容审核和监管,阿里云视频AI可以快速识别出黄色、暴恐、涉政、垃圾广告、无意义视频等数据,提升人肉审核效率和精准度。

其次一个运营面临的问题是短视频的重复,视频指纹可以产生唯一的“指纹”来代表视频文件,在库中进行视频查找。应用场景包括视频查重、版权保护、原创内容保护、广告分成等。

另外,用户在创作短视频的时候,给到平台方的信息是非常少的。所以如果我们平台方想要对视频内容进行结构化理解,基于视频AI能力就可以实现。从各种维度去识别视频内容,包括人物、语音、文字、场景等,更方便去检索视频内容,根据用户特性去进行个性化推荐。

image

提升视频的点击率也是平台方和内容创业者关注的问题。通过视频AI来生成智能视频封面,摘取最精彩片段生成封面图、GIF、视频片段,展示在FEED流中,可以提升用户视觉体验,带来更多流量。

最后,平台方有的时候需要针对活动来快速生成视频合辑,传统的搜索、下载、剪辑、上传三个步骤下来,是十分耗时和繁琐的。这里我们提供了一个云剪辑的功能,所有的操作都在云端完成,实现对视频拼接、专场、字幕、打标等功能,结合素材共享、多人协同、极速分发,智能处理,更快的将视频生产并传输到用户面前。

image

前面做的所有事情,包括AI的引入,我们最终想看到的就是短视频分发后的数据提升。所以我们将云和端的数据整合,为用户提供了清晰直观的数据报表,让用户更好的了解业务情况。后面我们也会陆续开放大家更加关心的:首屏时间,播放成功率等数据。

转载于:https://www.cnblogs.com/jewel0516/p/8808874.html

你可能感兴趣的文章
svn“Previous operation has not finished; run 'cleanup' if it was interrupted“报错的解决方法...
查看>>
熟用TableView
查看>>
Java大数——a^b + b^a
查看>>
poj 3164 最小树形图(朱刘算法)
查看>>
服务器内存泄露 , 重启后恢复问题解决方案
查看>>
android一些细节问题
查看>>
KDESVN中commit时出现containing working copy admin area is missing错误提示
查看>>
利用AOP写2PC框架(二)
查看>>
【动态规划】skiing
查看>>
java定时器的使用(Timer)
查看>>
ef codefirst VS里修改数据表结构后更新到数据库
查看>>
boost 同步定时器
查看>>
[ROS] Chinese MOOC || Chapter-4.4 Action
查看>>
简单的数据库操作
查看>>
iOS-解决iOS8及以上设置applicationIconBadgeNumber报错的问题
查看>>
亡灵序曲-The Dawn
查看>>
Redmine
查看>>
帧的最小长度 CSMA/CD
查看>>
xib文件加载后设置frame无效问题
查看>>
编程算法 - 左旋转字符串 代码(C)
查看>>