阿里视频云技术专家孙小军:短视频SDK非编架构与渲染引擎技术实现

简介: 在6月8日上海云栖视频专场中,阿里视频云技术专家孙小军进行了一场短视频技术分享,解读了短视频非编架构和渲染技术架构的实现原理。阿里云短视频SDK服务了1000多家企业用户,遇到了不同垂直行业、不同业务场景的客户。

在6月8日上海云栖视频专场中,阿里视频云技术专家孙小军进行了一场短视频技术分享,解读了短视频非编架构和渲染技术架构的实现原理。阿里云短视频SDK服务了1000多家企业用户,遇到了不同垂直行业、不同业务场景的客户。除了面临多样性需求的技术挑战外,还面临着扩展性、性能及兼容性上的考量。
IMG_3274

那么,在基础架构研发层面是如何解决这些问题呢?

image

阿里云的短视频SDK从非线性编辑入手,主要目标是对音视频素材做任意部分的随机存取、修改和处理。其次,阿里云短视频SDK对渲染效果进行管道化处理,提供渲染底座,方便对接不同的视频算法及组合复杂的渲染流程。

在传统的非编场景中,当我们有编辑需求时,是这么操作的。左上角有素材裁剪,导入或采集的视频,要做裁剪、倒放、拉伸等等处理,下一步是添加一些滤镜效果,如果有多段视频,可以选择不同方式的转场。下面在整个视频时间轴上存在不同轨道,每个轨道上可以在不同的时间段放不同的素材,每个素材可以拉伸时长、变速等。

image

一、短视频的非编架构是怎样的?

通过提炼,我们抽取了五层架构。最上面一层是产品级的DEMO,方便用户快速修改发布上线;第二层是成熟的、开源的UI控件,像时间轴空间、文字动图编辑控件等,用户可以直接使用也可以定制化;第三层是针对短视频场景进行一些编排,包括录制场景、视频导入裁剪、多段拼接、编辑场景等;第四层是多媒体领域通用性的组件,包括渲染、音频处理、编解码等;最下层是多媒体分发框架,是对包括线程模型、时钟机制、监控、状态管理等跨平台的基础能力的抽象。下面我们从几个重点层级详细展开。

image

多媒体分发框架

无论是音视频编解码、渲染等基础组件,还是编辑、导入拼接等业务场景的编排组件,都是基于多媒体分发框架上实现的。多媒体分发框架包括线程模型、模块间消息订阅互发等基础服务的封装,通过Clock机制让多个组件之间组合出多样性的时钟同步方案,并通过这些组件之间的统一状态迁移和数据链路的状态监控,可以方便业务编排层快速构建具体的业务场景。

多媒体通用组件

非编场景下的典型的时间轴和多轨道的技术,短视频SDK是如何实现的呢?抽取了音视频缓冲池处理,将素材做映射拉伸,比如对每一个素材做快放、倒放的效果,生成某一个轨道上的视频片段,每个轨道上可以添加多个音频、视频、图片等素材。通过素材的绝对时戳、相对时戳以及与全局时戳的映射关系,就可以灵活组装出各种非编效果。

image

短视频场景编排层

在这一层上会实现短视频场景下的各类编排方式。以编辑场景为例:预览和合成效果上是有重叠的,在这一层中可以按下图方式编排流程。
1、创建缓冲池、渲染、编排、封装等组件,注册到消息分发框架;
2、创建Clock注入组件,订阅主从时钟关系;
3、组装数据流订阅关系,渲染订阅缓冲池流、编排订阅渲染流、Muxer订阅编码等;
4、针对业务场景编排渲染节点;
5、编排层组件统一管理各组件状态迁移Init->Prepared->Playing;
6、编排层可以Buffer监控、调整、上报;

image

二、复杂的渲染效果是如何实现的?

image

上图是短视频录制渲染与编辑渲染的pipeline,可以看出录制场景和编辑场景下渲染流程存在较大差异。在业务丰富度高的toB业务场景中,需要有灵活的渲染节点编排的能力和对接第三方渲染的能力,同时对于终端平台还存在多平台适配问题,需要统一接口并针对平台特性进行优化,来保证性能。

针对以上的问题,在渲染引擎上阿里云短视频SDK抽离出四层概念。第一层是GPU抽象层,这一层是为了解决OpenGL、Mental等渲染适配的问题;第二层是解析和运行层,针对不同的pipeline节点编排,解析并生成链路,并按照驱动模式去运行;第三层是渲染服务层,可以实现状态迁移和模块间信令交互等;第四层是渲染业务编排层,根据不同业务场景来排版渲染的pipeline。

非编能力与渲染引擎能为用户带来什么价值?

第一, 当用户提出新的个性化需求的时候,如多滤镜分屏显示,只需要编排能力就可以组装出用户需要的效果。后续将会开放渲染节点编排,用户可以自行编排渲染节点,实现更符合自己业务特色的渲染效果。

第二, 集成了短视频SDK后,后续将会开放定制动图、滤镜和MV素材。

第三, 针对某个素材,实现各种类型的时间特效,非线性叠加变换。

第四, 可扩展丰富的转场效果,包括多边形、淡入淡出、百叶窗等。

第五, 对非编全链路pipeline做了大量的性能优化,渲染引擎做了CPU到GPU性能优化,集成短视频SDK后,用户可以获得更好的性能体验。

image

作为基础架构研发,孙小军所在的团队也遇到了一些坑点。如果要实现跨多段,全局时间重叠,并且要实现反复时间特效的时候,业内的玩法是预处理合成一个视频,然后再针对这段视频进行反复处理。但是我们也会遇到一些客户的反馈,在这个过程中预处理时,用户的等待时间很长,失去了灵活性。那阿里云短视频SDK做的改变是,在这条线上通过非编,将反复的时间段转换成多个part段,通过part的反复来达到整体非编的效果。

短视频V3.6版本上线

短视频SDK近期刚刚发布的V3.6版本就采用了非编架构和渲染引擎,在功能层面,除了原本的短视频基础能力之外,新增了特效滤镜、时间特效等功能,可以快速实现类似“抖音”等当红短视频APP上的酷炫效果。

image

对业务感兴趣的朋友,可以扫码下载DEMO,或者加入钉钉合作群与专家直接交流。

image

目录
相关文章
|
5月前
|
监控
阿里商旅账单系统架构设计实践问题之对账模型包括内容问题如何解决
阿里商旅账单系统架构设计实践问题之对账模型包括内容问题如何解决
|
2月前
|
存储 安全 开发工具
百度公共IM系统的Andriod端IM SDK组件架构设计与技术实现
本文主要介绍了百度公共IM系统的Andriod端IM SDK的建设背景、IM SDK主要结构和工作流程以及建设过程遇到的问题和解决方案。
57 3
|
3月前
|
机器学习/深度学习 测试技术 数据处理
KAN专家混合模型在高性能时间序列预测中的应用:RMoK模型架构探析与Python代码实验
Kolmogorov-Arnold网络(KAN)作为一种多层感知器(MLP)的替代方案,为深度学习领域带来新可能。尽管初期测试显示KAN在时间序列预测中的表现不佳,近期提出的可逆KAN混合模型(RMoK)显著提升了其性能。RMoK结合了Wav-KAN、JacobiKAN和TaylorKAN等多种专家层,通过门控网络动态选择最适合的专家层,从而灵活应对各种时间序列模式。实验结果显示,RMoK在多个数据集上表现出色,尤其是在长期预测任务中。未来研究将进一步探索RMoK在不同领域的应用潜力及其与其他先进技术的结合。
110 4
|
7月前
|
消息中间件 分布式计算 中间件
秀出天际!阿里甩出的988页分布式微服务架构进阶神仙手册我粉了
秀出天际!阿里甩出的988页分布式微服务架构进阶神仙手册我粉了
|
3月前
|
存储 Java Maven
从零到微服务专家:用Micronaut框架轻松构建未来架构
【9月更文挑战第5天】在现代软件开发中,微服务架构因提升应用的可伸缩性和灵活性而广受欢迎。Micronaut 是一个轻量级的 Java 框架,适合构建微服务。本文介绍如何从零开始使用 Micronaut 搭建微服务架构,包括设置开发环境、创建 Maven 项目并添加 Micronaut 依赖,编写主类启动应用,以及添加控制器处理 HTTP 请求。通过示例代码展示如何实现简单的 “Hello, World!” 功能,并介绍如何通过添加更多依赖来扩展应用功能,如数据访问、验证和安全性等。Micronaut 的强大和灵活性使你能够快速构建复杂的微服务系统。
116 5
|
4月前
|
存储 监控 开发工具
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
Django 后端架构开发:手机与邮箱验证码接入、腾讯云短信SDK和网易邮箱
75 0
|
4月前
|
开发工具 Android开发
Android项目架构设计问题之SDK内部减少每次回调时的冗余判断逻辑如何解决
Android项目架构设计问题之SDK内部减少每次回调时的冗余判断逻辑如何解决
44 0
|
4月前
|
Java API 开发工具
Android项目架构设计问题之为SDK添加新的回调支持如何解决
Android项目架构设计问题之为SDK添加新的回调支持如何解决
29 0
|
5月前
|
数据格式
阿里商旅账单系统架构设计实践问题之系统设计中的清结算系统问题如何解决
阿里商旅账单系统架构设计实践问题之系统设计中的清结算系统问题如何解决
|
7月前
|
存储 运维 5G
基于阿里云数据库 SelectDB 内核 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案
数据是 5G 全连接工厂的核心要素,为支持全方位的数据收集、存储、分析等工作的高效进行,联通 5G 全连接工厂从典型的 Lambda 架构演进为 All in [Apache Doris](https://c.d4t.cn/vwDf8R) 的实时/离线一体化架构,并凭借 Doris 联邦查询能力打造统一查询网关,数据处理及查询链路大幅简化,为联通 5G 全连接工厂带来数据时效性、查询响应、存储成本、开发效率全方位的提升。
基于阿里云数据库 SelectDB 内核 Apache Doris 的实时/离线一体化架构,赋能中国联通 5G 全连接工厂解决方案

热门文章

最新文章