课时9:典型案例2:函数计算在音视频场景实践

简介: 课时9:典型案例2:函数计算在音视频场景实践

玩转AIGC训练营:课时9:典型案例2:函数计算在音视频场景实践

课程地址:https://developer.aliyun.com/trainingcamp/1893257e5f7a442c988fd52c818309b3?spm=a2cwt.28237621.J_9603273760.8.31b2b726xTbsZG

课时9:函数计算在音视频场景实践

 

内容介绍:

一、场景介绍

二、最佳实践

三、Demo场景演示

 

一、场景介绍

 

image.png

自从2020年出现新冠疫情音视频领域如短视频、在线教育、视频会议已经成为所有行业各个年龄体的硬需求,而且伴随近几年直播带货的热潮,音视频行业已经成为许多企业创新的新方向,易观千帆数据显示2020年6月国内移动视频领域活跃用户规模为10亿人,视频用户使用时长达到670多亿小时。那么音视频场景的开发者面临什么样的挑战?

image.png

从上图可以看到挑战主要有

1. 需要适配大量不同终端,比如电脑端、移动端、ios、安卓等等,从企业应用 APP 到小程序等,怎么样打造一个通用行业解决方案是非常困难的,往往需要开发者们针对具体的需求重新架构和定制方案。

2. 音视频处理系统对资源方面的需求是非常大的,常见的音视频文件处理、转存、分发、联动这样一个音视频系统的打造对于 CPU、内存、网络资源是要求非常高的,这也造成了整个资源运维上的一些难点,需要管理大量的机器和网络,自建的要求非常高。

3. 主要是业务种类多,变化快,像短视频领域往往是大鱼吃小鱼,企业如果没有创新的话很快会被淘汰,音视频场景业务场景非常复杂,如果迭代比较慢的话,一旦抓不住观众的趋势,那么企业投入将没有意义,所有说这对企业是一个非常大的挑战。

4. 领域有明显的风骨特征,而且往往无法预估爆点的来临,对系统的实时弹性有非常高的渴求。

针对音视频领域的行业背景和客户痛点,基于函数计算的弹性高可用音视频特点、高性能的核心价值在于:

1.高可用、高性能、高弹性

2.百毫秒弹性能力,多可用区的容载,最高端实力八核没有理论的上限 ,而且专注业务开发的特性和低成本可以完全做到,按需使用、按量付费等等结合多种计费模型,能够真正满足企业,更灵活,满足各类定制需求的行业场景,成为短视频、直播带货、在线教育、在线办公领域企业创新的原动力。

函数计算音视频处理方案的优势

ITEM

自建服务

函数计算+函数工作流 Severless

基础设施

需要用户采购、管理、运费机器资源和运行其上的软件、代码

无需运维基础设施,仅需部署函数代码即可,按量付费

开发效率

除了必要的业务逻辑开发,需要自己建立相同线上运行环境,包括相关软件的安装、服务配置、安全更新等一系列问题

只需要专注业务逻辑的开发,配合函数计算控制台或者工具一键部署和任务编排

并行&分布式视频处理

需要很强的开发能力和完善的监控系统来保证稳定性

通过 Serverless 工作流编排即可实现多个视频的并行处理以及单个大视频的分布式处理,稳定性和监控交由云平台

学习上手成本

除了编程语言开发能力和熟悉FFmpeg 以外,可能使用 KBS 或弹性伸缩(ESS),需要了解更多的产品、配置和技术的细节

会编写对应的语言的函数代码和熟悉 FFmpeg 使用即可

项目上线周期

在具体业务逻辑外耗费大量的时间和人力成本,保守估计大约30人天,包括硬件采购、软件和环境配置、系统开发、测试、监控报警、灰度发布系统等

预计3人天,开发调试(2人天+压测观察)(1人天)

 

卓越的工程效率/弹性伸缩免运维/成本优势

如上图,如果要自建一个服务的话,需要采购和管理基础设施,就算现在企业上云,一般情况下也需要购买和运维。比如说 ECS、ACK 等等云上资源,需要管理需集和容性等等。

如果采用阿里云计算的Serverless 方案基础设施是由系统来分配的,开发者无需购买和运维资源,只需部署代码即可,按量付费。

从开发效率来对比,自建服务除了必要的业务逻辑,还需要自己建立相同线上运行环境,然后测试验收相关软件的安装、环境配置、安全更新等等一系列问题,大量的时间浪费在了非业务创新的环境维护上。那么基于函数计算的解决方案,只需要关注业务逻辑的开发,配合函数计算控制台或者工具做到一键部署和任务编排,不需要浪费大量的时间在环境维护上;音视频场景需要海量资源消耗,要保证服务高可用,高性能、高弹性、自建服务需要很强的开发能力和完善的监控系统来保证稳定性,那么通过 Serverless 工作流来编排函数就可以实现多个视频的并行处理以及单个大视频的分布式处理,稳定性和监控交给了云平台来维护,开发者能够快速完成一个并行的,或者分布式处理系统的落地,这个效率是非常高的。

从学习上手成本和项目周期来考虑,函数计算大大减轻了企业负担,更多来考虑业务能力,不用过多去关注系统架构的稳定,系统架构对于能力要求是非常高的,增加了招聘的负担。

项目周期也可以从保守的大约30人天,下降到3人天左右,这对于中小企业甚至于大企业来说函数计算释放的技术红利为企业带来了质的飞跃。

 

二.最佳实践

核心价值:

快速开发上线:2天完成开发上线

弹性高可用:计算力不再是瓶颈,迅速调动大量计算资源进行音频处理, OSS 上的存量千万级音频文件自动触发函数几个小时内全部完成处理

高度自定义:用户需要 aacgain 和 mp3gain 等音频专业工具对音频进行音量平衡,FFmpeg 进行音频降噪处理,通用的云服务解决不了需求

降低成本:在音频和短视频处理这块,用户反馈节省了大约60%的机器成本

image.png

如上图,北京艾斯酷科技有限公司,是一家英语在线教育公司,旗下的朗易思听是英语听力最佳学习工具,拥有数万双语听力材料,曾获苹果 APP Store 首页推荐,产品相继获得豌豆荚最佳设计奖、小米年度最佳应用等奖项;该企业有海量音频需要音频平衡等处理,短视频需要转码等处理,同时还有很多基于机器学习的 NLP 需求,比如分词、语法分析......

那么基于函数计算的方案,客户上传音视频文件到阿里云存储即可,一旦文件上传成功会立即触发函数计算执行,函数计算系统会自动根据任务数实时扩缩容,同时将转码后的音视频文件存到对象存储,利用该方案,客户在两天内就完成了业务开发,同时也满足了客户对于弹性高可用的能力诉求,计算力不再是瓶颈,高峰期函数计算提供了大量计算资源进行音视频处理上传到对象存储的千万级音视频文件自动触发函数计算,几个小时内就能完成整个业务流程,函数代码的高度自定义在当前还没有产品化解决方案的情况下,是该场景最佳实践,在音频和短视频处理场景下,用户反馈节省了大约60%的机器成本。

这是一个比较简单的架构,从简单到复杂,芒果TV案例。
image.png

核心价值:

全 Serverless 架构:整个流程高度自动化,视频的上传、处理、推送、分发在极短的时间内完成。

弹性高可用:计算力不再是瓶颈,时间驱动能力保证实时监听阿里云对象存储的时间,并快速把数据传输到后端算法系统,加快处理速度,提高处理效率。

稳定性:即使在上传视频高峰期,视频处理也不会有任何的排队。保障了服务的稳定性。

降低成本:有效应对短视频的突发在线流量,按需付费,提高资源利用率。

如上图,芒果 TV 是湖南广播电视台旗下唯一互联网视频平台,作为中国唯一一家拥有全终端、全平台牌照的网络视频平台,芒果 TV 每天要处理大量用户视频,为保证数据量突增时的系统瓶颈,减少闲置服务器资源成本;芒果 TV 选择全 Serverless 架构,函数计算的事件触发机制与毫秒级弹性扩容的伸缩能力可以有效解决芒果 TV 遇到的问题。

客户上传视频文件到阿里对象存储然后由对象存储自动触发执行,该过程完全基于阿里云内网,不会产生任何网络费用,同时在视频处理完后函数任务会将结果视频推送到 CDN 系统由 CDN 完成内容的就近分发,那么基于函数计算的 Serverless 架构,整个流程高度的自动化,视频上传、处理、推送、分发在极短的时间内完成,在满足芒果 TV 功能需求的前提下同时做到了弹性高可用计算力不再是瓶颈,事件驱动能力保证了实时监听阿里云对象存储事件,并快速把数据推送到后端系统,加快处理速度,提高处理效率。即使在上传视频高峰期,视频处理也不会有任何排队。保障了服务的稳定性,客户反馈在总体的费用上有明显的降本成果。

这个实例对比上一个是越来越复杂的。

image.png

如上图,天天看看是一家每月服务过亿用户的互联网公司,免费提供电影、电视剧、综艺等视频资源的高清在线点播和下载,也是中国正版影视发行平台,每天有大量的上传视频需要及时转码处理以适配各种终端及网络条件,要求短时间内准备大量的计算资源进行大规模并行转码处理,同时希望基于 FFmpeg 自建的转码服务能简单迁移。

该方案对比芒果 TV 的方案在接入层增加了健全适配多终端的需求,在计算层并行处理的实验要求。

前面两个案例是单个视频文件从头到尾串联处理,对大视频或者并行处理有更高要求的客户可以通过函数计算提供的 API 网关触发器 Serverless 工作流任务编排能力,快速完成业务的迁移、编排整个任务的状态完成整个并行计算的处理基于 FFmpeg 自建的转码服务基本上不需要改动就可以直接部署在函数计算上满足客户弹性高可用、高度自定义降低成本的需求。

image.png

如上图,蓝墨是一家由美国留学生回国创业的高科技公司,专注于移动互联网时代数字出版和移动学习领域的新技术研究及平台运营,自2012年成立以来其业务一直保持高速增长;海量视频教材资源需要剪辑、切分、组合、转码、分辨率调整、客户端适配等一系列复杂的技术工作,且需求量存在极为陡峭的波峰波谷,核心诉求是:节省成本、极致弹性、免运维...

蓝墨的架构中大量的云服务联动,对比前面三个案例增加了日志服务SLS、消息服务 MQ 等等,而且有大量的大文件需要并行处理,蓝墨选择了函数计算作为其 Serverless 架构的核心服务,充分享用云原生架构技术红利,完全按需调用,同时通过任务编排实现复杂的并行处理方案,相比于传统的方式,基于函数计算的方案帮助蓝墨节省了60%左右的 IT 成本投入。做到了无需运维,极高的弹性能力,帮助蓝墨技术团队更专注于复杂业务逻辑的实现,聚焦业务创新,这对于一个初创高速成长的公司是非常有意义的,需要专注于整个业务价值的增长,而不是对于一些底层技术细节追求。

结合四个案例可以看到函数计算在从简单的、快速上云一些服务到复杂的 Serverless 工作流、日志服务、消息服务等等语音服务系统发挥了非常重要的粘合作用。整个流程通过函数计算能够快速整合形成整套 Serverless 方案,能够帮助客户更聚焦业务开发,快速落地。

 

三、Demo场景演示

如何快速开发、调试和上线短视频转码业务。

首先打开函数计算的控制台,可以看到函数计算的一些状态包括指令等等

image.png

回到应用中心可以看到基于模板创建应用,可以看到很多模板,这些模板会以代码的方式提供,再根据模板更改适配的服务,以 FFmpeg 视频转码为例,可以看到整个应用的相关介绍

image.png

场景的实例可以从此视频处看到整个对应的监控包括时长、内存等等。也可以看到更多视频大小的分布执行时间分布等等,帮助实现白屏化,避免重复劳动。

这样的实例是基于函数计算对象存储加上 FFmpeg 实现

Serverless架构的弹性高可用方案也就是最佳实践的第一个案例。这

样案例是需要上传任意格式的文件,自动触发函数执行之后转码,可

以观察整个监控指标。

工作原理就是客户上传视频到对象存储自动触发函数计算立刻执行,函数计算执行之后会把视频文件转存回对象存储,客户在对象存储文件里面拿到转码后的文件。

音视频处理是  CPU 密集型应用,对内存包括 CPU、处理时长都有比较大的需求,如果说默认资源不满足场景的资源需求,可以提交工单扩充更大的资源。

image.png

 

接下来点击部署,部署需要创建对应应用。

创建好后点击部署,通过部署可以看到对应的应用打包出来的逻辑资源。函数计算是以函数作为最小力度的控制单元,可以把函数通过逻辑的服务组合成一个服务的概念,很多服务概念组合成应用概念,可以以一个函数作为业务去使用,也可以更多的函数组合打包成一个应用来提供服务。

image.png

可以看到事件、资源、监控、设置很明显的看到应用模板的内容和相关配置。创建成功后可以看到相关的对应配置,指标、版本管理、相关资源,如果对冷启动有比较高的诉求,可以通过预留资源来满足需求,可以看到示例音视频配置内存是3GB

image.png

也可以看到相关资源配置需求,可以在这里更改资源代码、模板。如果只是一个音视频转码处理,这样不需要改代码,完全满足需求。如果有一些定制化需求,通过更改代码,保存之后可以直接在线进行调试。可以看到配置函数的触发器

image.png

一旦上传了文件可以立马触发这里可以看到日志和对应指标。
image.png

 

如果上传一条视频,可以看到函数计算已经触发成功

image.png

并且日志也可以看到触发执行了一次

image.png

可以看到文件大小1022.076K,

image.png

而原文件是12.449MB,已经被转码处理,再进行一次上传

image.png

可以看到开始和结束22秒处理完成。

通过这样的案例,可以看到函数计算再音视频场景里面怎么样快速落地有了更深的认知。通过这样的 Demo 了解到函数计算在音视频领域核心价值,包括了免运维,帮助客户更 专注业务逻辑开发,也包括音视频在 CPU 密集型场景下发挥的高弹性高可用高性能核心能力,和函数计算低成本能力。

 

相关实践学习
【文生图】一键部署Stable Diffusion基于函数计算
本实验教你如何在函数计算FC上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。函数计算提供一定的免费额度供用户使用。本实验答疑钉钉群:29290019867
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
2月前
|
机器学习/深度学习 机器人 Serverless
FaaS 的应用场景
FaaS 的应用场景
|
2月前
|
消息中间件 存储 监控
函数计算产品使用问题之“低频介质型”适用哪些场景
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
26天前
|
运维 Kubernetes 前端开发
拥抱Knative, 合思加速Serverless化演进实践
合思信息基于阿里云容器服务Knative, 实现Serverless化演进的最佳实践。
拥抱Knative, 合思加速Serverless化演进实践
|
2月前
|
存储 缓存 监控
函数计算产品使用问题之调用sd生图时,怎么保证高并发场景正常运行
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
弹性计算 监控 Serverless
函数计算产品使用问题之如何处理银行转账场景遇到的高并发问题
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
2月前
|
前端开发 小程序 Serverless
异步任务处理系统问题之阿里云函数计算FC的应用场景有哪些
异步任务处理系统问题之阿里云函数计算FC的应用场景有哪些
|
2月前
|
人工智能 Serverless API
Serverless 架构实现弹幕场景问题之用SAT进行双主键的插入操作如何解决
Serverless 架构实现弹幕场景问题之用SAT进行双主键的插入操作如何解决
29 0
|
2月前
|
前端开发 大数据 数据库
🔥大数据洪流下的决战:JSF 表格组件如何做到毫秒级响应?揭秘背后的性能魔法!💪
【8月更文挑战第31天】在 Web 应用中,表格组件常用于展示和操作数据,但在大数据量下性能会成瓶颈。本文介绍在 JavaServer Faces(JSF)中优化表格组件的方法,包括数据处理、分页及懒加载等技术。通过后端分页或懒加载按需加载数据,减少不必要的数据加载和优化数据库查询,并利用缓存机制减少数据库访问次数,从而提高表格组件的响应速度和整体性能。掌握这些最佳实践对开发高性能 JSF 应用至关重要。
45 0
|
18天前
|
人工智能 自然语言处理 Serverless
阿里云函数计算 x NVIDIA 加速企业 AI 应用落地
阿里云函数计算与 NVIDIA TensorRT/TensorRT-LLM 展开合作,通过结合阿里云的无缝计算体验和 NVIDIA 的高性能推理库,开发者能够以更低的成本、更高的效率完成复杂的 AI 任务,加速技术落地和应用创新。
|
2月前
|
Serverless API 异构计算
函数计算产品使用问题之修改SD模版应用的运行环境
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。