阿里视频云技术专家孙小军:短视频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

目录
相关文章
|
18天前
|
弹性计算 负载均衡 网络协议
阿里云SLB深度解析:从流量分发到架构优化的技术实践
本文深入探讨了阿里云负载均衡服务(SLB)的核心技术与应用场景,从流量分配到架构创新全面解析其价值。SLB不仅是简单的流量分发工具,更是支撑高并发、保障系统稳定性的智能中枢。文章涵盖四层与七层负载均衡原理、弹性伸缩引擎、智能DNS解析等核心技术,并结合电商大促、微服务灰度发布等实战场景提供实施指南。同时,针对性能调优与安全防护,分享连接复用优化、DDoS防御及零信任架构集成的实践经验,助力企业构建面向未来的弹性架构。
161 76
|
21天前
|
机器学习/深度学习 传感器 自然语言处理
基于Transformer架构的时间序列数据去噪技术研究
本文介绍了一种基于Transformer架构的时间序列去噪模型。通过生成合成数据训练,模型在不同噪声条件下展现出强去噪能力。文章详细解析了Transformer的输入嵌入、位置编码、自注意力机制及前馈网络等关键组件,并分析实验结果与注意力权重分布。研究为特定任务的模型优化和专业去噪模型开发奠定了基础。
77 14
基于Transformer架构的时间序列数据去噪技术研究
|
6天前
|
JavaScript 前端开发 Go
Wasm Client SDK 架构介绍
Wasm Client SDK 架构介绍
43 13
|
7天前
|
存储 消息中间件 SQL
数据中台架构与技术体系
本文介绍了数据中台的整体架构设计,涵盖数据采集、存储、计算、服务及治理等多个层面。在数据采集层,通过实时与离线方式整合多类型数据源;存储层采用分层策略,包括原始层、清洗层、服务层和归档层,满足不同访问频率需求;计算层提供批处理、流处理、交互式分析和AI计算能力,支持多样化业务场景。数据服务层封装数据为标准化API,实现灵活调用,同时强调数据治理与安全,确保元数据管理、质量监控、权限控制及加密措施到位,助力企业构建高效、合规的数据管理体系。
|
2天前
|
存储 机器学习/深度学习 算法
阿里云X86/ARM/GPU/裸金属/超算等五大服务器架构技术特点、场景适配与选型策略
在我们选购阿里云服务器的时候,云服务器架构有X86计算、ARM计算、GPU/FPGA/ASIC、弹性裸金属服务器、高性能计算可选,有的用户并不清楚他们之间有何区别。本文将深入解析这些架构的特点、优势及适用场景,帮助用户更好地根据实际需求做出选择。
|
13天前
|
人工智能 自然语言处理 API
MCP与A2A协议比较:人工智能系统互联与协作的技术基础架构
本文深入解析了人工智能领域的两项关键基础设施协议:模型上下文协议(MCP)与代理对代理协议(A2A)。MCP由Anthropic开发,专注于标准化AI模型与外部工具和数据源的连接,降低系统集成复杂度;A2A由Google发布,旨在实现不同AI代理间的跨平台协作。两者虽有相似之处,但在设计目标与应用场景上互为补充。文章通过具体示例分析了两种协议的技术差异及适用场景,并探讨了其在企业工作流自动化、医疗信息系统和软件工程中的应用。最后,文章强调了整合MCP与A2A构建协同AI系统架构的重要性,为未来AI技术生态系统的演进提供了方向。
230 4
|
1月前
|
机器学习/深度学习 缓存 自然语言处理
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
Tiktokenizer 是一款现代分词工具,旨在高效、智能地将文本转换为机器可处理的离散单元(token)。它不仅超越了传统的空格分割和正则表达式匹配方法,还结合了上下文感知能力,适应复杂语言结构。Tiktokenizer 的核心特性包括自适应 token 分割、高效编码能力和出色的可扩展性,使其适用于从聊天机器人到大规模文本分析等多种应用场景。通过模块化设计,Tiktokenizer 确保了代码的可重用性和维护性,并在分词精度、处理效率和灵活性方面表现出色。此外,它支持多语言处理、表情符号识别和领域特定文本处理,能够应对各种复杂的文本输入需求。
187 6
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
|
2月前
|
机器学习/深度学习 缓存 自然语言处理
DeepSeek背后的技术基石:DeepSeekMoE基于专家混合系统的大规模语言模型架构
DeepSeekMoE是一种创新的大规模语言模型架构,融合了专家混合系统(MoE)、多头潜在注意力机制(MLA)和RMSNorm归一化。通过专家共享、动态路由和潜在变量缓存技术,DeepSeekMoE在保持性能的同时,将计算开销降低了40%,显著提升了训练和推理效率。该模型在语言建模、机器翻译和长文本处理等任务中表现出色,具备广泛的应用前景,特别是在计算资源受限的场景下。
663 29
DeepSeek背后的技术基石:DeepSeekMoE基于专家混合系统的大规模语言模型架构
|
2月前
|
机器学习/深度学习 算法 文件存储
YOLOv11改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
YOLOv11改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
300 10
YOLOv11改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
|
2月前
|
机器学习/深度学习 算法 文件存储
RT-DETR改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
RT-DETR改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型
82 4
RT-DETR改进策略【模型轻量化】| MoblieNetV3:基于搜索技术和新颖架构设计的轻量型网络模型

热门文章

最新文章

下一篇
oss创建bucket