亚马逊云科技为您提供了一个通用的无服务器媒体解决方案架构。
作为示例,此方案利用Amazon Lambda,实现了基于FFmpeg的转码功能,帮助您轻松的完成云端视频转码工作(如转换文件格式,转换视频编码,等),而无需配置和管理服务器。此方案附带简洁易用的的UI界面,您只需要轻松的在界面上进行配置参数,便可以轻松开启转码任务。
您可以基于此方案的架构或示例代码,在亚马逊云科技云端快速构建符合您应用场景的媒体解决方案。
亚马逊云科技解决方案概述
下图显示了此解决方案的架构,您可以联系我们的销售顾问获取方案的Amazon CloudFormation模版及部署手册。
架构描述
这个方案提供了一个通用的无服务器框架。
作为这个框架的使用案例,此方案提供了一个具有转码功能的演示Demo。这个Demo是基于Amazon Lambda和FFmpeg软件实现的。用户可以通过UI界面或者命令行的方式设置转码的相关参数并开启创建转码任务。
当开启一个转码任务,前端通过Amazon API Gateway发起请求并由后端的Lambda函数进行处理。Lambda函数会在DynamoDB中记录转码任务当前的配置。Lambda函数会将当前转码任务的参数作为Step Functions的输入来启动一个转码的工作流。该工作流自动将视频文件进行分段,由多个Lambda函数并行的调用FFmepg功能,对分段视频进行进行转码。
当所有转码工作完成,另一个Lambda将使用FFmpeg将处理过的多个分段视频合并成一个完整视频,并将其放到Amazon S3上。
Amazon Lambda: 负责核心控制逻辑和转码逻辑
Amazon API Gateway: 处理前端的业务请求并转到后台Lambda处理
Amazon S3: 存储用户上传的原始视频,存储前端WebUI的代码
Amazon Step Functions: 维护一个视频转码工作流
Amazon EFS: 用来存放分段转码视频的结果,多个Lambda函数公用
Amazon CloudFront: 提高前端页面的访问速度
Amazon DynamoDB: 存储转码任务相关的参数和解决方案相关的配置参数
Amazon CloudWatch: 记录Lambda运行的日志
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/96211.html