针对那些需要在云端构建媒体系统的客户,亚马逊云科技提供了一个开箱即用的,集视频转码,水印,点播和直播等多种功能于一体的一站式媒体平台。利用亚马逊云科技无服务器计算引擎,此解决方案提供了平台的可扩展性、弹性调度和高可用。您无需对平台底层的云资源进行运维和管理。
一、亚马逊云科技解决方案概述
下图显示了此解决方案的架构,您可以通过随附的 Amazon CloudFormation 模板进行自动化部署,并参考解决方案的实施指南进行部署和使用。
架构描述
平台服务由以下几个模块组成:
媒体服务器(media proxy):在Amazon ECS服务上构建的高可用代理集群提供了RTMP推流地址和海量设备的接入。其采用轻量级HAProxy,提供了统一的推流地址。
网关服务:此解决方案基于Node-Media-Server实现了高性能的轻量级RTMP server。
支持 RTMP/RTMPS推流接入
维护推流状态并将保存元数据信息
基于事件回调维护推流客户端状态
检测客户端上下线,并根据状态调度ECS任务
元数据管理:这个模块主要使用Amazon DynamoDB管理视频流元数据。
通过Amazon API Gateway提供元数据的CRUD管理的RESTful API
动态设置视频流处理参数
自动生成唯一推流频道
通过API得到推流和拉流URL
媒体处理服务(media processor):基于Fargate实现视频转码,直播,录制,分片等功能,包括:
视频流进行实时编码、转码
视频和图片分片和S3存储
自定义分片时间和转码参数
支持HTTP-FLV(2秒延迟)和HLS\CMAF(10秒延迟)
媒体分发(media distribution): 基于Amazon ECS Fargate和Amazon CloudFront提供无缝的视频体验,包括:
通过自动寻址实现多路输入流到一路输出
内置Nginx缓存避免惊群效应
通过signed URL实现安全访问
网页控制台:注意网页界面仅作演示用途,默认方案不会创建该控制台。您需要在部署前在CloudFormation中的参数显式指定。
二、功能特性
1、开源及定制化
此方案中所有的代码均以开源的方式提供,您可以免费使用。若有不同的需求,您也可以在源代码基础上进行定制化开发。
2、简单易用
您可以通过控制台UI或 API 管理直播流元数据。 根据您的具体业务用例,您还可以轻松配置视频流功能,例如录制、转码、截图、水印等。
3、无服务器化
借助于无服务器架构, 您无需运维底层计算资源,无需考虑服务可用性、可扩展性等技术问题。基于Amazon ECS Fargate构建的云原生架构让客户能聚焦业务场景本身。