短视频源码如何快速打造一款高清又极速的短视频APP?

布谷安妮2019-04-02 11:46


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


       那么在这些垂直行业里,我们如何结合短视频能力,实现业务突破?近期的云栖TechDay音视频技术专场中,阿里云视频云高级技术专家王海华现场分享了《高清极速-全面提升短视频应用体验》议题。他表示,作为短视频SDK服务提供方,视频云一直和客户同样关注如何把短视频的产品和体验做得更极致。短视频的业务特征短视频可以随时随地进行拍摄、分享与浏览,所以它存在着海量的上传和播放用户在移动端消费短视频的机型和网络情况十分复杂用户对短视频体验的追求是清晰和流畅,而作为开发者,也需要考虑到流量与用户体验的平衡。
关于视频云全链路优化的技术实践阿里云视频云提供一站式短视频解决方案,并从整个链路上进行技术优化。在生产端,短视频SDK支持视频拍摄、导入编辑和视频上传的能力;当视频传到云端,支持媒体转码、存储、视频AI分析处理功能。在分发环节,通过全球节点、智能调度和热门视频预热资源,将视频内容更稳定极速的分发至消费端;最终在播放端,播放器SDK可以实现快速启播、播放缓存、无缝循环播放和多清晰度切换。
       视频生产端-帧率与低端机型体验优化在视频拍摄阶段,用户最关注视频的清晰度和流畅度。这其中的优化包括几个环节:
       1. 预览帧率的提升
       摄像头采集到数据直到呈现到屏幕上,采用GPU驱动渲染,保证渲染的实时性,减少延迟和丢帧的情况。同时,针对人脸特效的渲染,采集3buffer的CPU回调方案,减少buffer资源等待造成的帧率下降。
        2. 录制帧率的提升
       录制是把视频帧编码的过程。整体采用GPU直接渲染到硬编Surface的方案,同时保留了之前的buffer方案作为软编的适配,在编码的延迟和丢帧缩短到最小。
        3. 针对低端机型。定义最优适配移动终端机型复杂度极高,硬件能力、性能、屏幕分辨率等等指标千差万别,如果想要最大限度保证低端机上的视频质量,就要在提升清晰度和流畅度的时候,降低分辨率。那么问题又来了,在什么机型上降低?怎么降低?到底降低多少合适?阿里云短视频SDK又多往前走了一步,多做了一点点。经过大量的数据分析和适配测试完成了在不同性能手机的适配。要提升整个视频的清晰度视频编码是永远绕不开的一个话题,在阿里云除了在编码器算法的优化以外,也从更加贴近业务场景的角度进一步优化。在如此多的业务场景,一种编码技术和编码参数是解决不了所有问题,所以针对不同场景,需要完成相应的编码优化。比如以质量优先的场景,会适当牺牲转码速度或者压缩率,以保证清晰度最佳;以转码速度优先的场景,会调整质量,以适实现更高的转码速度。这样更有针对性的编码调优,就可以根据需求实现场景化的平衡。除此之外,还从更加上层的用户体验上做了很多细节的优化。
        王海华表示:“从相册选择资源进入编辑界面,从点击合成按钮进入发布界面,从点击发布界面回到APP的主界面等这些环节的交互流畅度也直接影响用户体验。这其中的优化点:首先是当从相册选择多个图片或者视频合成视频时,我们底层支持图片视频混编的能力从而缩短loading时间,减少等待时间;其次支持后台合成和后台上传,点击合成按钮和发布按钮的时候我们直接进入后台进行合成和上传,让APP可以更快的进入到下一个界面,从而提升用户体验。