阿里云短视频SDK快速落地的秘诀就在这里

简介: 视频云基础架构专家筱骏在2018云栖大会上海峰会中做了题为非编架构与视频渲染助力短视频能力快速落地的分享,本次主要从三个方面进行分享,就短视频的概念和功能、技术方案的实现、遇到的坑等方面的内容做了深入的分析。带你深入了解非编架构与视频渲染的魅力。

视频云基础架构专家筱骏在2018云栖大会上海峰会中做了题为非编架构与视频渲染助力短视频能力快速落地的分享,本次主要从三个方面进行分享,就短视频的概念和功能、技术方案的实现、遇到的坑等方面的内容做了深入的分析。带你深入了解非编架构与视频渲染的魅力。

数十款阿里云产品限时折扣中,赶快点击这里,领券开始云上实践吧!
直播视频回顾
PPT下载请点击
以下是精彩视频内容整理:

短视频制作的过程

短视频制作过程大致可分为三个步骤:首先是视音频采集/输入,主要包括视频、音频从摄像头和麦克风中的数据采集,以及导入视频(MP4、MOV)、导入照片(jpeg、png)和导入音乐(MP3)等操作;导入工作完成之后要做的是视音频的编辑/加工,也就是对各种素材的处理,例如实时美颜、变速、实时混音、音频特效(变声、变调)以及实时滤镜(特效滤镜)等,也包括人脸识别、贴纸、气泡与字幕、MV效果、时间特效(慢速、快速、反复和倒放)以及涂鸦等常见的素材处理;处理完成后进入到合成输出环节,主要是导出360、540和720等不同的分辨率,以及导出MP4、MOV等多种视频格式,然后做视频的发布。

1

阿里云的视频在面临不同行业时设置了大概九个场景,分别是社交、宠物、美食、社区、旅游、电商、母婴、媒体以及教育。作为toB的SDK在面临众多行业的同时,也面临着技术上的挑战,除了面临丰富多样的客户场景需求之外,还面临着扩展性、性能及兼容性上的考量,以及在高清视频的实时处理能力、各种素材的输入和各种素材在合并后的输出等众多挑战。

短视频SDK的技术挑战

在面临众多挑战时,阿里云的视频将从非线性编辑、渲染引擎两个方面应对短视频下的技术挑战,首先是非线性编辑,主要目标是对原素材任意部分的随机存取、修改和处理。其次是渲染引擎,主要是提供渲染底座,方便对接不同的视频算法以及组合复杂的渲染流程。

典型非编场景

2

上图是一个传统的非编软件,可以看到在非编场景下编辑时会面临很多有特色的操作。例如素材裁剪,对导入的视频或者采集的视频可能需要做一些部分的裁剪或拉伸等操作。还会有一些传统的滤镜,对素材在不同阶段做一些不同的滤镜效果,以及在多段短视频中传递一些转场方式。对于时间轴+轨道的展现方式,可以看到有多个轨道,并且每个轨道上也可以存放多个素材,进而可以让这些素材在整个时间轴上进行拉伸,然后对每个视频进行特殊的处理。

短视频的非编架构

  • 阿里云的短视频在非编架构上的实现可以分成不同的层次。
  • 最底层多媒体的分发框架:其主要作用是提供基础的能力,例如线程模型、数据监控、时钟机制以及buffer监控管理等等。
  • 通用组件:其特点是底层代码高度模块化,根据不同的业务场景按需打包,控制包大小,针对不同场景,在多媒体行业上提炼出来的共性的基础能力,例如渲染音频处理,音视频的编解码和短视频的缓冲等。
  • 短视频场景的编排:其特点是业务组件层多平台接口统一,多平台接入简单。在短视频中有数据的导入、直接实时地录制、导入裁剪、多段视频的拼接以及导出合成等功能。
  • UI控件:提供成熟稳定的UI控件来完成定制化,可以方便客户快速集成。
  • Demo:提供产品级别的Demo并向开发者开源。

多媒体分发框架

3

不论是基础性组件还是适合某一场景下编排的组件,它们都集成于多媒体分发框架上的基础能力,通过基础能力的集成,提供了组件之间的互发以及相互之间的消息订阅等能力。通过Clock机制让组件之间按时间的方式串联起来,组件的统一状态迁移也使得我们可以更快的完成业务,并且组件之间数据的传递可以将整条数据链监控起来。

多媒体通用组件

4

对于如何实现非编场景下的典型的多轨道+时间轴的技术问题,首先要抽取音视频缓冲池处理,也就是说将一些素材做各种时间映射和拉伸,例如对每个素材做快放或者倒放的效果,或者一些非线性的效果,让它在时间轴上做拉伸后生成了某一轨道上的视频片段,展现了每个视频的多轨道叠加,这就涉及到了文件流绝对时戳、文件流相对时戳、时间映射后的时戳、全局时戳等处理方式,通过这些方式就可以组装出各种非编效果。

5

上图分别是短视频录制渲染 pipeline(左)与短视频编辑渲染 pipeline(右)两个典型场景,可以看到两种pipeline在渲染诉求上是完全不同的。对于toB场景来说业务丰富度更高一些,每个客户都会有对应场景下的要求,这样就需要针对这些pipeline有灵活的编排能力,以适应不同业务场景下的客户需求,同时有需要有能够灵活扩展,快速对接第三方渲染的能力,除此之外对于跨平台问题,也做了统一接口处理,针对平台特性进行了优化,支持硬编硬解(性能)。
对于渲染的管道化处理进行了抽离处理,GPU抽象层解决了OpenGL平台适配问题,这个层面会涉及解析运行等操作。由于pipeline有不同的节点,针对这些节点编排后怎样解析进而生成链路,最终以一种驱动模式运行的问题,我们的解决方式就是采用渲染服务,渲染管道有一个统一的状态使整个业务层面统一运行起来。

非编&渲染引擎的改进优势

在集成短视频SDK后,可以开放定制动图、滤镜和MV素材等功能。对于云端的短视频,在非编架构上可以对每个素材做各种类型的时间特效非线性叠加变换,并且渲染转场效果也可以进行扩展出更多的类型,例如多边形、淡入淡出和百叶窗等等。
阿里云短视频SDK最新版本增加了特效滤镜、时间特效以及做了性能提升。通过非编架构和渲染引擎可以使得短视频SDK做出行业领域里面各种酷炫的效果,也能够缩短客户在需求上的迭代速度。

相关文章
|
弹性计算 安全 开发工具
灵码评测-阿里云提供的ECS python3 sdk做安全组管理
批量变更阿里云ECS安全组策略(批量变更)
|
程序员 开发工具 Android开发
Android|使用阿里云推流 SDK 实现双路推流不同画面
本文记录了一种使用没有原生支持多路推流的阿里云推流 Android SDK,实现同时推送两路不同画面的流的方法。
566 7
|
Java 开发工具
通过Java SDK调用阿里云模型服务
在阿里云平台上,可以通过创建应用并使用模型服务完成特定任务,如生成文章内容。本示例展示了一段简化的Java代码,演示了如何调用阿里云模型服务生成关于“春秋战国经济与文化”的简短文章。示例代码通过设置系统角色为历史学家,并提出文章生成需求,最终处理并输出生成的文章内容。在实际部署前,请确保正确配置环境变量中的密钥和ID,并根据需要调整SDK导入语句及类名。更多详情和示例,请参考相关链接。
|
网络协议 安全 调度
阿里云公共DNS发布支持鸿蒙系统版的SDK
阿里云公共DNS发布支持鸿蒙系统版SDK,赋能鸿蒙开发者快速接入阿里云公共DNS服务。公共DNS将帮助接入的鸿蒙应用免除LocalDNS劫持困扰、解析加速、精准调度。
|
消息中间件 分布式计算 DataWorks
DataWorks产品使用合集之如何使用Python和阿里云SDK读取OSS中的文件
DataWorks作为一站式的数据开发与治理平台,提供了从数据采集、清洗、开发、调度、服务化、质量监控到安全管理的全套解决方案,帮助企业构建高效、规范、安全的大数据处理体系。以下是对DataWorks产品使用合集的概述,涵盖数据处理的各个环节。
|
弹性计算 运维 Serverless
Serverless 应用引擎产品使用之在阿里函数计算中,使用阿里云API或SDK从函数计算调用ECS实例的服务如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
446 4
|
人工智能 Java 开发工具
阿里云视觉智能开放平台提供了多种SDK供开发者使用
阿里云视觉智能开放平台提供了多种SDK供开发者使用
429 6
|
算法 小程序 开发工具
视觉智能开放平台操作报错合集之同样的图片路径(上海阿里云),sdk报错code.400,是什么原因
在使用视觉智能开放平台时,可能会遇到各种错误和问题。虽然具体的错误代码和消息会因平台而异,但以下是一些常见错误类型及其可能的原因和解决策略的概述,包括但不限于:1. 认证错误、2. 请求参数错误、3. 资源超限、4. 图像质量问题、5. 服务不可用、6. 模型不支持的场景、7. 网络连接问题,这有助于快速定位和解决问题。
470 0
|
Java 开发工具
阿里云灵积平台Java SDK调用教程
开通阿里云灵积服务并创建API-KEY,添加Java依赖`dashscope-sdk-java`版本2.11.0。示例代码展示如何使用SDK进行多模态对话,调用`MultiModalConversation`进行交互,并打印结果。测试结果显示输出对一张图片的描述。参考链接提供通义千问VL快速入门指南。
3467 0