整个短视频的市场规模一直在增长,网络数据显示2018年已经突破100亿大关,在2019年预测将超过200亿。纵观行业,在生活资讯、美食、搞笑、游戏、美妆等领域,短视频流量巨大但竞争激烈,但是在教育、财经、军事、旅游等行业还存在较大的机会。那么在这些垂直行业里,我们如何结合短视频能力,实现业务突破?

近期的云栖TechDay音视频技术专场中,阿里云视频云高级技术专家王海华现场分享了《高清极速-全面提升短视频应用体验》议题。他表示,作为短视频SDK服务提供方,视频云一直和客户同样关注如何把短视频的产品和体验做得更极致。本次分享讲从端到云再到端,探讨如何进行思考与优化,实现视频体验的全面提升。

短视频的业务特征

  1. 短视频可以随时随地进行拍摄、分享与浏览,所以它存在着海量的上传和播放
  2. 用户在移动端消费短视频的机型和网络情况十分复杂
  3. 用户对短视频体验的追求是清晰和流畅,而作为开发者,也需要考虑到流量与用户体验的平衡

关于视频云全链路优化的技术实践

阿里云视频云提供一站式短视频解决方案,并从整个链路上进行技术优化。在生产端,短视频SDK支持视频拍摄、导入编辑和视频上传的能力;当视频传到云端,支持媒体转码、存储、视频AI分析处理功能。在分发环节,通过全球节点、智能调度和热门视频预热资源,将视频内容更稳定极速的分发至消费端;最终在播放端,播放器SDK可以实现快速启播、播放缓存、无缝循环播放和多清晰度切换。

一、视频生产端-帧率与低端机型体验优化

在视频拍摄阶段,用户最关注视频的清晰度和流畅度。这其中的优化包括几个环节:

1. 预览帧率的提升

摄像头采集到数据直到呈现到屏幕上,采用GPU驱动渲染,保证渲染的实时性,减少延迟和丢帧的情况。同时,针对人脸特效的渲染,采集3buffer的CPU回调方案,减少buffer资源等待造成的帧率下降。

2. 录制帧率的提升

录制是把视频帧编码的过程。整体采用GPU直接渲染到硬编Surface的方案,同时保留了之前的buffer方案作为软编的适配,在编码的延迟和丢帧缩短到最小。

3. 针对低端机型 定义最优适配

移动终端机型复杂度极高,硬件能力、性能、屏幕分辨率等等指标千差万别,如果想要最大限度保证低端机上的视频质量,就要在提升清晰度和流畅度的时候,降低分辨率。那么问题又来了,在什么机型上降低?怎么降低?到底降低多少合适?阿里云短视频SDK又多往前走了一步,多做了一点点。经过大量的数据分析和适配测试完成了在不同性能手机的适配。

要提升整个视频的清晰度视频编码是永远绕不开的一个话题,在阿里云除了在编码器算法的优化以外,也从更加贴近业务场景的角度进一步优化。在如此多的业务场景,一种编码技术和编码参数是解决不了所有问题,所以针对不同场景,需要完成相应的编码优化。比如以质量优先的场景,会适当牺牲转码速度或者压缩率,以保证清晰度最佳;以转码速度优先的场景,会调整质量,以适实现更高的转码速度。这样更有针对性的编码调优,就可以根据需求实现场景化的平衡。

除此之外,还从更加上层的用户体验上做了很多细节的优化。

王海华表示:“从相册选择资源进入编辑界面,从点击合成按钮进入发布界面,从点击发布界面回到APP的主界面等这些环节的交互流畅度也直接影响用户体验。这其中的优化点:首先是当从相册选择多个图片或者视频合成视频时,我们底层支持图片视频混编的能力从而缩短loading时间,减少等待时间;其次支持后台合成和后台上传,点击合成按钮和发布按钮的时候我们直接进入后台进行合成和上传,让APP可以更快的进入到下一个界面,从而提升用户体验。”

“在视频生产端经过了以上的优化后,看起来我们可以根据对应的场景拿到自己需要的视频,所有的问题都解决了。但是面临着海量上传和播放,以及复杂的网络,我们怎么保证上传速率和上传功率?在播放环节上又怎样去保证播放流畅度?作为开发者(我们的客户)又怎么控制带宽成本呢?”接下来,王海华带我们了解了在上传、云端处理和分发以及播放几个环节中的优化点以及带来的效果。

二、视频上传链路优化

在视频上传链路,需要核心关注速度和上传成功率两个指标。视频云支持动态加速,选择最优路径来就近上传数据,保证极速上传。同时,采用分片、断点续传技术,针对不同地域和场景决定分片大小,确保上传成功率在99.2%以上。

三、云端处理&分发

当视频上传到云端,就需要对其进行转码等处理,并进行内容分发。这其中我们针对三个指标进行关注和优化:

1. 视频发布速度

不同的场景,需要的视频发布速度是不同的。对于聊天场景下的视频发布,直接在端上进行转码,把原视频直接访问,最大限度提升速度。对于对实时性要求并没有那么高的视频社交APP等场景往往在上传的时候会上传一个码率相对较高的高清视频,为了视频快速启播,我们推荐可以先运用低复杂度转码来加快转码速度;在未来,也会将视频端上合成、上传和云端转码并行处理,大幅度缩短处理时间。

2. 转码成本 vs. 带宽成本

在很多社区里面当一个视频变成热门视频的时候,这时候带宽会带来更大的成本,这个时候建议对热门视频重新转码,提升转码复杂度,将视频文件变小,降低带宽成本。

3. 提升播放体验

因为用户的终端和网络情况不同,所以需要进行多清晰度转码,并采用推荐视频预热方案,提升启播速度和流畅度

四、视频播放优化

播放端直接影响着用户体验,这里我们需要关注几个指标:

  1. 打开速度的快慢影响着用户对产品的第一印象,启播环节用到协议优化、解码渲染优化、视频列表预加载等方案,实现极速启播。
  2. 短视频通常比较短小,通常会采用循环播放的方式来吸引用户重复观看,避免流失。那无缝地循环播放、同时边播放边缓存就十分必要,可以节省流量。
  3. 终端网络情况复杂,但播放流畅度依然是用户十分在意的指标。当用户出现网络环境的变更,需要快速切换多种清晰度的视频,保证视频播放的流畅。

如何进行产品快速落地

一、客户端

短视频SDK将最新最流行的功能、交互集成到产品级Demo中,并开放了源码,开发者拿到以后可以直接集成到应用中,或者基于源代码进行业务的适配,快速开发出一款短视频APP。

Demo提供了拍摄、编辑、播放等模块,同时提供相册管理、音乐、动图、字体等资源的下载和管理,也提供了异步上传发布功能、AppServer业务服务器的SampleCode。

二、服务端

在云端,短视频SDK与视频点播服务打通,提供了丰富的媒体管理和媒体处理能力,开发者通过简单的配合和API调用就可以将以下功能集成到业务当中。

媒资存储:音频,视频,图片,字幕等丰富的存储能力;
媒资管理:提供了分类,打标,搜索,审核能能力等;
数据统计:存储,流量/带宽,播放量等数据统计;

感兴趣的用户,可以扫描上方二维码体验demo,点击访问阿里云官网短视频解决方案页面,了解详情,或者点击浏览趣视频解决方案文档,更快上手

原文链接
本文为云栖社区原创内容,未经允许不得转载。

如何快速打造一款高清又极速的短视频APP?的更多相关文章

  1. 【FastDFS】如何打造一款高可用的分布式文件系统?这次我明白了!!

    写在前面 前面我们学习了如何基于两台服务器搭建FastDFS环境,而往往在生产环境中,需要FastDFS做到高可用,那如何基于FastDFS打造一款高可用的分布式文件系统呢?别急,今天,我们就一起来基 ...

  2. 快速搭建一个“微视”类短视频 App

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号"腾讯云视频",一键获取 技术干货 | 优惠活动 | 视频方案 " ...

  3. 使用FastDFS打造一款高可用的分布式文件系统

    FastDFS 介绍 参考: http://www.oschina.net/p/fastdfs FastDFS 是一个开源的分布式文件系统,它对文件进行管理,功能包括:文件存储.文件同步.文件访问(文 ...

  4. 打造一款高逼格的Vim神器

    点击上方"开源Linux",选择"设为星标" 回复"学习"获取独家整理的学习资料! 作者:枫上雾棋 链接:https://segmentfa ...

  5. 实时 + 高清 + 超压缩,阿里云视频云发布业内首款 VVC 编码器 Ali266

    基于新一代国际视频编解码标准 H.266/VVC,阿里云视频云近日发布了实时高清编码器 Ali266,有力推动 H.266/VVC 标准应用的落地,真正开启 H.266/VVC 的商用之路,并强力赋能 ...

  6. H.265:网络视频的高清时代

    去年八月,爱立信公司推出了首款H.265编解码器,而在仅仅六个月之后,国际电联(ITU)就正式批准通过了HEVC/H.265标准,标准全称为高效视频编码(High Efficiency Video C ...

  7. 小红书携手HMS Core,畅玩高清视界,种草美好生活

    在相同流量消耗的情况下,540p可秒变1080p?这不是魔法,通过视频超分辨率技术(简称视频超分),就能让视频变得更清晰. 7月20日,在小红书最新版本7.48的App中,用户就能体验到这项技术带来的 ...

  8. 主流芯片解决方案Ambarella的高清网络摄像机、德州仪器和控制海思

    (本文由四川艾普作为数码科技有限公司 苏斌.范清华 收集) 高清网络视频监控发展到今天.正的高清时代.诸多有实力的高清摄像机厂家的产品线也逐渐完好起来,高清网络视频监控的配套产品有更加丰富和成熟.与此 ...

  9. 如何设计一款优秀的短视频 SDK

    2017 年,短视频成为了创业的新风口,各种短视频 App 如雨后春笋般先后上线,视频越来越像文字.图片一样,成为每一个 App 不可或缺的一部分. 1. 包体一定要尽可能小 如何做到尽可能的减小 S ...

随机推荐

  1. docker遇到超时

    1. 直接通过docker拉取镜像遇到的问题:熟悉的timeout!!! [root@localhost ~]# docker search mysql INDEX NAME DESCRIPTION ...

  2. python中的矩阵、多维数组

    2. 创建一般的多维数组 import numpy as np a = np.array([1,2,3], dtype=int)  # 创建1*3维数组   array([1,2,3]) type(a ...

  3. JAVA DESIGN PATTERN

    工厂模式(factory) 简单工厂模式的概念 就是建立一个工厂类,对实现了同一接口的一些类进行实例的创建.简单工厂模式的实质是由一个工厂类根据传入的参数,动态决定应该创建哪一个产品类(这些产品类继承 ...

  4. css实用属性

    background-size: 100% 100%;            背景通过拉伸实现填充 自适应 overflow: hidden;                              ...

  5. icpc2018焦作-I. Distance

    第一发又超时了... 题目大意:给你n个点,然后给你n-1的数,表示两两距离,然后让你输出n个答案,第i个答案表示从这n个点里面挑i个点,然后这i个点两两之间会有一个距离,答案要求这些距离和的最大值. ...

  6. codeforces 13 D

    给你500个红点和蓝点,让你找多少点红点构成的三角形里没有蓝点. 巧妙啊!我们考虑一个很远位置的点,不妨设这个为O,然后n^2枚举红点,考虑Oij里面蓝点的个数, 然后 对于 ijk这个三角形,我们可 ...

  7. 单点登录实现原理(SSO)

    简介 单点登录是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统的保护资源,若用户在某个应用系统中进行注销登录,所有的应用系统都不能再直接访问保护资源,像一些知名的大型网站,如:淘 ...

  8. -bash:syntax error near unexpected token '('

    在Xshell5中编写int main(int argc,char** argv)时, 出现-bash:syntax error near unexpected token '('  : 可是我是按照 ...

  9. day11函数(形参实参)

    形参与实参 def fn(形参们): pass # 形参:定义函数,在括号内声明的变量名,用来结束外界传来的值# 实参:调用函数,在括号内传入的实际值,值可以为常量.变量.表达式或三者的组合 # 注: ...

  10. Python练手例子(13)

    73.反向输出一个链表. #python3.7 if __name__ == '__main__': ptr = [] for i in range(5): num = int(input('Plea ...