手机版
 找回密码
 立即注册
理财客 配资
  • QQ空间
  • 回复
  • 收藏

轻松构建基于 Serverless 架构的弹性高可用音视频处理系统

iusidgi 2020-3-26 22:58 725人围观 7*24快讯

前言

随着盘算机技能和 Internet 的日新月异,视频点播技能因其良好的人机交互性和流媒体传输技能倍受教诲、娱乐等行业青睐,而在当前, 云盘算平台厂商的产物线不绝成熟完满, 假如想要搭建视频点播类应用,告别刀耕火种, 直接上云会扫清硬件采购、 技能等各种停滞,以阿里云为例:

轻松构建基于 Serverless 架构的弹性高可用音视频处理系统_7*24快讯_2020-3-26 22:58发布_配资查_www.peizicha.com

这是一个非常典范的管理方案, 对象存储 OSS 可以支持海量视频存储,收罗上传的视频被转码以适配各种终端,CDN 加速终端装备播放视频的速率。别的另有一些内容安全检察需求, 好比鉴黄、鉴恐等。

而在视频点播管理方案中, 视频转码是最斲丧盘算力的一个子体系,固然您可以使用云上专门的转码服务,但在很多环境下,您会选择自己搭建转码服务。好比:

  • 您已经在假造机/容器平台上基于 FFmpeg 摆设了一套视频处理处罚服务,可否在此底子上让它有更弹性、更高的可用性?
  • 您的需求只是简朴的转码需求,或是一些极其轻量的需求,好比获取 OSS 上视频前几帧的 GIF、获取视频大概音频的时长,自己搭建资本更低;
  • 各种格式的音频转换大概各种采样率自界说、音频降噪等功能;
  • 您有更高级的自界说处理处罚需求,好比视频转码完成后, 必要纪录转码详情到数据库, 大概在转码完成后, 自动将热度很高的视频预热到 CDN 上, 从而缓解源站压力;
  • 您有并发处理处罚大量视频的需求;
  • 您有很多超大的视频必要批量快速处理处罚完, 好比每周五定期产生几百个 4G 以上的大视频, 但是盼望当天几个小时后全部处理处罚完;
  • 自界说视频处理处罚流程中大概会有多种使用组合, 好比转码、加水印和天生视频首页 GIF。后续为视频处理处罚体系增长新需求,好比调解转码参数,盼望新功能发布上线对在线服务无影响;
  • 您的视频源文件存放在 NAS 大概 ECS 云盘上,自建服务可以直接读取源文件处理处罚,而不必要将它们再迁徙到 OSS 上。

假如您的视频处理处罚体系有上述需求,大概您渴望实现一个 弹性、高可用、低资本、免运维、机动支持恣意处理处罚逻辑 的视频处理处罚体系,那么本文则是您等待的最佳实践方案。

轻松构建基于 Serverless 架构的弹性高可用音视频处理系统_7*24快讯_2020-3-26 22:58发布_配资查_www.peizicha.com

Serverless 自界说音视频处理处罚

在先容详细方案之前, 先先容两款产物:

  • 函数盘算 :阿里云函数盘算是事故驱动的全托管盘算服务。通过函数盘算,您无需管理服务器等底子办法,只需编写代码并上传。函数盘算会为您准备好盘算资源,以弹性、可靠的方式运行您的代码,并提供日记查询、性能监控、报警等功能;
  • 函数工作流:函数工作流(Function Flow,以下简称 FnF)是一个用来调和多个分布式任务实行的全托管云服务。您可以用序次,分支,并行等方式来编排分布式任务,FnF 会按照设定好的步调可靠地调和任务实行,跟踪每个任务的状态转换,并在须要时实行用户界说的重试逻辑,以确保工作流顺遂完成。

免费开通函数盘算,按量付费,函数盘算有很大的免费额度。

免费开通函数工作流,按量付费,函数工作流有很大的免费额度。

函数盘算可靠的实行恣意逻辑, 逻辑可以是使用 FFmpeg 对视频任那边置处罚使用, 也可以更新视频 meta 数据到数据库等。

函数工作流对相应的函数举行编排, 好比第一步的函数是转码, 第二步的函数是转码乐成后,将相应 meta 数据库写入数据库等。

至此,您应该开端明确了函数盘算的自界说处理处罚本领 + 函数工作流编排本领险些满足您任何自界说处理处罚的需求,接下来,本文以一个详细的示例展示基于函数盘算和函数工作流打造的一个弹性高可用的 Serverless 视频处理处罚体系,并与传统方案举行性能、资本和工程服从的对比。

简朴视频处理处罚体系

假设您是对短视频举行简朴的处理处罚, 架构方案图如下:

轻松构建基于 Serverless 架构的弹性高可用音视频处理系统_7*24快讯_2020-3-26 22:58发布_配资查_www.peizicha.com

如上图所示, 用户上传一个视频到 OSS, OSS 触发器自动触发函数实行, 函数调用 FFmpeg 举行视频转码, 而且将转码后的视频生存回 OSS。

OSS 事故触发器, 阿里云对象存储和函数盘算无缝集成。您可以为各种范例的事故设置处理处罚函数,当 OSS 体系捕捉到指定范例的事故后,会自动调用函数处理处罚。比方,您可以设置函数来处理处罚 PutObject 事故,当您调用 OSS PutObject API 上传视频到 OSS 后,相干联的函数会自动触发来处理处罚该视频。

附:简朴视频处理处罚体系示例工程地点

您可以直接基于示例工程摆设您的简朴音视频处理处罚体系服务,由于音视频是强 CPU 麋集型盘算,猛烈发起直接函数内存设置为 3G(2vCPU),但是当您想要处理处罚大视频(好比 test_huge.mov ) 大概对小视频举行多种组合使用的时间, 您会发现函数照旧大概率会实行失败,缘故原由是函数盘算的实行环境有最大实行时间为 10 分钟的限定,假如最大的 10 分钟不能满足您的需求, 您可以选择:

  • 对视频举行分片 -> 转码 -> 合成处理处罚, 详情参考:fc-fnf-video-processing, 下文会详细先容。
  • 接洽函数盘算团队(钉钉群号: 11721331) 大概提工单
  • 适当放宽实行时长限定
  • 申请使用更高的函数内存 12G(8vCPU)

为了突破函数盘算实行环境的限定(大概说加速大视频的转码速率),引入函数工作流 FnF 去编排函数实现一个功能强大的全功能视频处理处罚体系是一个很好的方案。

全功能视频处理处罚体系-Example

如上图所示, 假设用户上传一个 mov 格式的视频到 OSS,OSS 触发器自动触发函数实行, 函数调用 FnF,并行举行提取音频文件,同时举行 avi,mp4,flv 格式的转码。 以是您可以实现如下需求:

  • 一个视频文件可以同时被转码成各种格式以及其他各种自界说处理处罚,好比增长水印处理处罚大概在 after-process 更新信息到数据库等;
  • 当有多个文件同时上传到 OSS,函数盘算会自动伸缩, 并行处理处罚多个文件;
  • 对于每一个视频,先举行切片处理处罚,然后并行转码切片,末了合成,通过设置公道的切片时间,可以大大加速较大视频的转码速率;
所谓的视频切片,是将视频流按指定的时间隔断,切分成一系列分片文件,并天生一个索引文件纪录分片文件的信息。
  • 联合 NAS + 视频切片, 可以管理超大视频(大于 3G )的转码。

附:全功能视频处理处罚体系示例工程地点

固然, 详细的处理处罚流程是可以根据您的需求修改 fnf 工作流流程, 上面的只是一个示例。

示例结果:

函数盘算 + 函数工作流 Serverless 方案 VS 传统方案

良好的工程服从

自建服务函数盘算 + 函数工作流 Serverless底子办法必要用户采购和管理无开发服从除了须要的业务逻辑开发,必要自己创建雷同线上运行环境, 包罗相干软件的安装、服务设置、安全更新等一系列题目只必要专注业务逻辑的开发, 共同 FUN 工具一键资源编排和摆设并行&分布式视频处理处罚必要很强的开发本领和完满的监控体系来包管稳固性通过 FnF 资源编排即可实现多个视频的并行处理处罚以及单个大视频的分布式处理处罚,稳固性和监控交由云平台学习上手资本除了编程语言开发本领和认识 FFmpeg 以外,大概使用 K8S 或弹性伸缩( ESS ),必要相识更多的产物、名词和参数的意义会编写对应的语言的函数代码和认识 FFmpeg 使用即可项目上线周期在详细业务逻辑外淹灭大量的时间和人力资本,守旧估计约莫 30 人天,包罗硬件采购、软件和环境设置、体系开发、测试、监控报警、灰度发布体系等预计 3 人天, 开发调试(2人天)+ 压测观察(1 人天)

弹性伸缩免运维,性能优秀

自建服务函数盘算 + 函数工作流 Serverless弹性高可用必要自建负载平衡 (SLB),弹性伸缩,扩容缩容速率较 FC 慢FC体系固有毫秒级别弹性伸缩,快速实现底层扩容以应对峰值压力,免运维,全功能视频处理处罚体系 (FnF + FC) 压测;性能优秀, 详情见下面的转码性能表监控报警查询ECS 大概容器级别的 metrics提供更细粒度的 FnF 流程实行以及函数实行环境, 同时可以查询每次函数实行的 latency 和日记等, 更加完满的报警监控机制

好比短视频处理处罚体系的监控的一个 Example:

函数盘算 + 函数工作流 Serverless 方案转码性能表

实行视频为是 89s 的 mov 文件 4K 视频: 4K.mov,云服务举行 mov -> mp4 平常转码必要斲丧的时间为 188s, 将这个参考时间记为 T。

视频切片时间FC 转码耗时性能加速百分比45s160s117.5%25s100s188%15s70s268.6%10s45s417.8%5s35s537.1%

性能加速百分比 = T / FC转码耗时

从上表可以看出,设置的视频切片时间越短, 视频转码时间越短, 函数盘算可以自动瞬时调治出更多的盘算资源来一起完成这个视频的转码, 转码性能优秀。

更低的资本

  • 具有显着波峰波谷的视频处理处罚场景(好比只有部门时间段有视频处理处罚哀求,其他时间很少乃至没有视频处理处罚哀求),选择按需付费,只需为现实使用的盘算资源付费;
  • 没有显着波峰波谷的视频处理处罚场景,可以使用预付费(包年包月),资本仍然极具竞争力;
函数盘算资本优化最佳实践文档。
  • 假设有一个基于 ECS 搭建的视频转码服务,由于是 CPU 麋集型盘算, 因此在这里将均匀 CPU 使用率作为焦点参考指标对评估资本,以一个月为周期,10 台 C5 ECS 的总盘算力为例, 总的盘算量约为 30% 场景下, 两个管理方案 CPU 资源使用率使用环境体现图大抵如下:

轻松构建基于 Serverless 架构的弹性高可用音视频处理系统_7*24快讯_2020-3-26 22:58发布_配资查_www.peizicha.com

由上图预估出如下计费模子:

  • 函数盘算预付费 3CU 一个月: 246.27 元, 盘算本领等价于 ECS 盘算型 C5;
  • ECS 盘算型 C5 (2vCPU,4GB)+云盘: 包月219 元;
  • 函数盘算按量付费占整个盘算量的占比 <= 10%,费用约为 3×864×10% = 259.2 元,(3G 规格的函数满负载跑满一个月费用为:0.00011108×3×30×24×3600 = 863.8,详情查察计费)。

ITEM均匀CPU使用率盘算费用总计函数盘算组合付费>=80%998(246.27×3+259.2)<= 998按峰值预留ECS<=30%2190(10*219)>=2190

  • 在这个模子预估内里,可以看出 FC 方案具有很强的资本竞争力,在现实场景中, 基于 ECS 自建的视频转码服务 CPU 使用乃至很难到达 20%, 来由如下:大概只有部门时间段有视频转码哀求;为了用户体验,视频转码速率有肯定的要求,大概一个视频转码就必要 10 台 ECS 并行处理处罚来转码, 因此只能准备很多 ECS;
  • 因此,在现实场景中, FC 在视频处理处罚上的资本竞争力远强于上述模子;
  • 纵然和云厂商视频转码服务单价 PK, 该方案仍有很强的资本竞争力

经实行验证, 函数内存设置为3G,基于该方案从 mov 转码为 mp4 的费用概览表:

实行视频为是 89s 的 mov 文件视频, 测试视频地点:
480P.mov 720P.mov 1080P.mov 4K.mov
测试下令: ffmpeg -i test.mov -preset superfast test.mp4
  • 格式转换

分辨率bitrate帧率FC 转码淹灭时间FC 转码费用腾讯云视频处理处罚费用资本降落百分比标清 640*480618 kb/s2411s0.003665640.03288.5%高清 1280*7201120 kb/s2431s0.010330440.06584.1%超清 1920*10801942 kb/s2466s0.021993840.12682.5%4K 3840*21605250 kb/s24260s0.08664240.55684.4%

资本降落百分比 = (腾讯云视频处理处罚费用 - FC 转码费用)/ 腾讯云视频处理处罚费用
腾讯云视频处理处罚,计费使用平常转码,转码时长不敷一分钟,按照一分钟盘算,这里计费接纳的是 2 min,纵然接纳 1.5 min 盘算, 资本降落百分比也在 80% 左右。

从上表可以看出, 基于函数盘算 + 函数工作流的方案在盘算资源资本上具有显着上风。

使用摆设

  • 免费开通函数盘算,按量付费,函数盘算有很大的免费额度。
  • 免费开通函数工作流,按量付费,函数工作流有很大的免费额度。
  • 免费开通文件存储服务NAS, 按量付费

详情见各自示例工程的 README:

  • 简朴视频处理处罚体系示例工程地点
  • 全功能视频处理处罚体系示例工程地点

总结

基于函数盘算 FC 和函数工作流 FnF 的弹性高可用视频处理处罚体系自然继承了这两个产物的优点:

  • 无需采购和管理服务器等底子办法,只需专凝视频处理处罚业务逻辑的开发,大幅收缩项目交付时间和人力资本
  • 提供日记查询、性能监控、报警等功能快速排查故障
  • 以事故驱动的方式触发应用相应用户哀求
  • 免运维,毫秒级别弹性伸缩,快速实现底层扩容以应对峰值压力,性能优秀
  • 资本极具竞争力

Q & A

末了逐一答复一下之前线出的题目:

Q1: 您已经在假造机/容器平台上基于 FFmpeg 摆设了一套视频处理处罚服务,可否在此底子上让它更弹性,更高的可用性?

A: 如工程示例所示,在假造机/容器平台上基于 FFmpeg 的服务可以轻松切换到函数盘算, FFmpeg 相干下令可以直接移值到函数盘算,改造资本较低, 同时自然继承了函数盘算弹性高可用性特性。

Q2:您的需求只是简朴的转码需求,或是一些极其轻量的需求,好比获取 OSS 上视频前几帧的 GIF 等。 自己搭建资本更低。

A: 函数盘算天生就是管理这些自界说题目, 你的代码你做主, 代码中快速实行几个 FFmpeg 的下令即可完成需求。

典范示例: fc-oss-ffmpeg

Q3: 您有更高级的自界说处理处罚需求,好比视频转码完成后, 必要纪录转码详情到数据库, 大概在转码完成后, 自动将热度很高的视频预热到 CDN 上, 从而缓解源站压力。

A: 详情见全功能视频处理处罚体系(函数盘算 + 函数工作流方案),after-process 中可以做一些自界说的使用, 您还可以基于此流程再做一些额外处理处罚等, 好比:再增长后续流程;最开始增长 pre-process。

Q4: 您有并发同时处理处罚大量视频的需求。

A: 详情见全功能视频处理处罚体系(函数盘算 + 函数工作流方案), 当有多个文件同时上传到 OSS, 函数盘算会自动伸缩, 并行处理处罚多个文件。详情可以参考 全功能视频处理处罚体系 (FnF + FC) 压测。

Q5: 您有很多超大的视频必要批量快速处理处罚完, 好比每周五定期产生几百个 4G 以上的大视频, 但是盼望当天几个小时后全部处理处罚完。

A: 详情可以参考 全功能视频处理处罚体系 (FnF + FC) 压测, 可以通过控制分片的巨细, 可以使得每个大视频都有充足多的盘算资源加入转码盘算, 大大进步转码速率。

Q6: 自界说视频处理处罚流程中大概会有多种使用组合, 好比转码、加水印和天生视频首页 GIF,后续为视频处理处罚体系增长新需求,好比调解转码参数,盼望新功能发布上线对在线服务无影响。

A: 详情见全功能视频处理处罚体系(函数盘算 + 函数工作流方案), FnF 只负责编排调用函数, 因此只必要更新相应的处理处罚函数即可,同时函数有 version 和 alias 功能, 更好地控制灰度上线, 函数盘算版本管理。

Q7: 您的视频源文件存放在 NAS 大概 ECS 云盘上,自建服务可以直接读取源文件处理处罚,而不必要将他们再迁徙到 OSS 上。

A: 函数盘算可以挂载 NAS, 直接对 NAS 中的文件举行处理处罚。

上云就看云栖号,点此查察更多:https://yqh.aliyun.com/?utm_content=g_1000100940

本文为阿里云内容,未经答应不得转载。


本文来自配资查|www.peizicha.com 自网络收集整理。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

鲜花

握手

雷人

路过

鸡蛋
温馨提示:以上内容仅为信息传播之需要,不做任何投资建议,如有侵犯版权,请联系配资查门户 客服人员进行删除处理,谢谢! 配资查股票配资门户网是国内专业的股票配资门户网,是炒股配资和配资交流的首选之站 - www.peizicha.com
我有话说......