本指南展示了云原生灵活制作(CNAP)项目中,用于云环境媒体工作流的新工具。该倡议以时间可寻址媒体存储(TAMS)API 规范为基础,此规范最初由英国广播公司的研发团队开发。CNAP 项目的目标,是推动行业采用 TAMS,将其作为一个云原生、开放且可互操作的框架,用于快速周转的媒体工作流,以创作新闻、体育和娱乐内容。TAMS 将媒体以离散的数据块形式存储在对象存储中,可通过开源 API 进行访问。这种方法消除了传统基于云的媒体工作流中常见的难题。通过将时间和标识作为主要标识符,TAMS 实现了以内容为中心的工作流,与传统基于文件的系统不同,这种工作流减少了重复内容,并且能高效扩展。
请注意:[免责声明]
架构图

-
TAMS 概念概述
-
TAMS 数据结构
-
AWS 开源 TAMS API
-
AWS 开源 TAMS 工具
-
TAMS 概念概述
-
此架构图展示了时间可寻址媒体存储(TAMS)如何作为快速周转工作流核心,用于处理直播或准直播视频与音频内容的概念。
第 1 步
所有媒体内容都存储在时间可寻址媒体存储(TAMS)内。这会将分块的媒体数据存储在对象存储中,并通过 API 来建立内容与媒体核心数据之间的联系。第 2 步
直播视频流会以小块媒体的形式上传,并在 TAMS 中进行注册,以此实现不断更新内容的效果。第 3 步
基于文件的内容既可以原生上传,也可以根据需要在导入前进行分块处理。第 4 步
内容可以近乎实时地进行处理,通过存储系统发出的通知触发,生成诸如代理版本等额外版本。
第 5 步
内容分析可以异步且近乎实时地进行,从而能够快速获取机器学习和人工智能(AI/ML)模型的输出结果。示例包括实时字幕制作、精彩片段生成以及内容记录。
第 6 步
可以进行简单的基于片段的编辑,编辑后的结果可以重新发布回 TAMS,同时引用原始内容。第 7 步
精细编辑可以从 TAMS 获取内容,并且仅将新片段重新发布回去。第 8 步
存储中的内容可以作为实时视频流回放,输送到线性频道播出设施的制作演播室。第 9 步
TAMS API 能够轻松转换为 HTTP 直播流协议(HLS)清单,以便实现从 TAMS 进行直播或点播内容流传输。第 10 步
片段和文件可以从该存储中导出,以作其他用途,比如将内容快速分发到社交媒体平台上。第 11 步
媒体资产管理(MAM)系统会保留对存储在 TAMS 内内容的引用,同时还保留相关丰富的编辑信息以及基于时间的元数据。
-
TAMS 数据结构
-
此架构图展示了 TAMS API 规范中所呈现的高级数据结构。此图构建了用户能够感知的内容与实际媒体核心内容之间的联系(实际媒体核心内容以多种格式和片段存储在对象存储系统中)。
第 1 步
在 TAMS 的数据结构中,父源等同于用户与之交互的实际内容。这个父源可以是内容的编辑版本,也可以是一个片段。
第 2 步
在该数据结构中,二级源能够将各种媒体类型(如视频、音频或数据)聚合为一个有机的集合。第 3 步
“流”代表了内容的技术清单。这种构造包含描述底层媒体片段所需的所有技术元数据,例如比特率、分辨率和帧率。第 4 步
对于单个内容,可以存在多个流,这使得不同格式(如 HD 格式和代理格式)能够同时存在。第 5 步
流的类型包括视频、音频和数据,这使得不同的内容类型能够在存储中被引用。第 6 步
片段存储在对象存储系统中,并在 TAMS API 中被引用。存储与这些片段之间仅有的交互发生在删除管理过程中。第 7 步
这些片段与一个流相关联,并存在于该流的虚拟时间轴范围内。一种时间范围格式,以 Epoch 时间加纳秒来表示,用于呈现每个片段在时间轴上的位置。
备注
一个片段可以在一个或多个流中被引用,这使得片段能够在不同内容之间复用,而无需在存储层进行复制。TAMS 仅维护媒体内容存储和引用所需的元数据。丰富的元数据应当在诸如媒体资产管理系统这样的独立系统中进行管理。
-
AWS 开源 TAMS API
-
此架构图展示了 TAMS API 在 AWS 开源实现中的组件及数据流。
第 1 步
HAQM Cognito 提供用户与系统间以及系统与系统间的身份验证服务。第 2 步
该 API 通过 HAQM API Gateway 呈现,其中包括依据 OpenAPI 规范对请求进行验证。第 3 步
AWS Lambda 函数负责处理 API 请求。针对服务、源、流、片段以及删除请求端点,都分别设有独立的函数。第 4 步
源和流的元数据存储在 HAQM Neptune 图形数据库中。第 5 步
为了实现快速检索,片段元数据存储在 HAQM DynamoDB 中。第 6 步
删除请求会被转发到 HAQM Simple Queue Service(HAQM SQS)以进行异步删除操作。第 7 步
一个 Lambda 函数负责处理删除操作,其方式是将请求转发到一个二级 HAQM SQS 队列,然后该队列负责处理相应 HAQM Simple Storage Service(HAQM S3)对象的删除。第 8 步
在经过必要的等待期后,一个 Lambda 函数会评估删除请求,并且只从 HAQM S3 中移除未使用的对象。
第 9 步
来自核心 API 函数的事件会被发送至 HAQM EventBridge,以供其他系统后续复用。第 10 步
一个可选的 Lambda 函数可以根据规范处理发往外部系统的 Webhook 请求。
-
AWS 开源 TAMS 工具
-
此架构图展示了 AWS TAMS 工具库的多个组件如何与核心的 AWS 开源 TAMS 实现协同使用。
第 1 步
TAMS 存储功能由 AWS 开源实现提供。
第 2 步
一个基于 React 的用户界面应用程序,通过 AWS Amplify 进行部署,使用户能够浏览存储内容,通过 HLS 端点查看视频内容,并控制直播和基于文件的摄取过程。第 3 步
直播视频摄取借助 AWS Elemental MediaLive 得以实现,它会在 HAQM S3 上创建片段,随后这些片段会被上传至 TAMS。第 4 步
基于文件的导入通过使用 AWS Elemental MediaConvert 来实现,由 AWS Step Functions 进行编排,将媒体文件分块并上传到 TAMS。第 5 步
系统提供了一个 HLS 端点,用于将 TAMS 原生的 API 调用转换为一组 HLS 清单,以便内容能够在基于网络的 HLS 播放器中播放。
第 6 步
媒体处理工作流利用来自 TAMS 的事件通知,来触发对摄取内容进行额外的后期处理。这包括使用 Lambda 函数提取图像、创建代理版本,以及导出拼接文件以便与其他系统集成。
Well-Architected 支柱

当您在云中构建系统时,AWS Well-Architected Framework 可以帮助您了解所做决策的利弊。框架的六大支柱使您能够学习设计和操作可靠、安全、高效、经济高效且可持续的系统的架构最佳实践。使用 AWS 管理控制台中免费提供的 AWS Well-Architected Tool,您可以通过回答每个支柱的一组问题,根据这些最佳实践来检查您的工作负载。
上面的架构图是按照 Well-Architected 最佳实践创建的解决方案示例。要做到完全的良好架构,您应该遵循尽可能多的 Well-Architected 最佳实践。
-
卓越运营
TAMS API 的 AWS 开源实现,利用 AWS X-Ray 在无服务器架构中追踪请求,该架构包括 API 网关、Lambda 函数和 DynamoDB 数据库。X-Ray 服务助力开发者和支持团队,在请求流经 TAMS API 的 AWS 开源实现的各个组件时,对其进行跟踪与分析。
此外,所有日志和指标都会在 HAQM CloudWatch 中收集,以方便进行监测与分析。在 CloudWatch 中收集的指标有助于创建仪表板并配置警报。
-
安全性
TAMS API 使用 HAQM S3 预签名 URL,为使用者提供对仅所需片段的限时访问权限,这有助于确保无论使用者位于 AWS 内部还是本地,访问控制均由该 API 集中管理。
TAMS 规范的 AWS 开源实现默认使用 HAQM Cognito 进行身份验证,除了能够与其他身份验证提供商联合之外,还在 API 上提供基于 OAuth2 的访问控制。当前的 API 实现支持在各种 CRUD 操作中,基于角色的粗粒度权限管理,并且团队正在积极努力,计划在不久的将来将其扩展,纳入基于属性的访问控制(ABAC)。
-
可靠性
TAMS API 的 AWS 开源实现仅使用 AWS 区域级服务,其中包括 HAQM S3、API 网关、Lambda 函数和 DynamoDB 数据库。这种设计方法使得 AWS 客户无需管理可用区级别的弹性。此外,所采用的所有服务都将自动进行扩展,并能从任何潜在问题中恢复。
-
性能效率
在 TAMS 的 AWS 开源实现中,数据库技术经过精心挑选,以便为多样的访问模式提供最佳性能。数据源和数据流需要复杂的关联与筛选功能,为此,图形数据库 Neptune 被选为合适的解决方案。对于数据片段而言,访问模式更为直接明了,但速度和性能对于在新数据片段到达时处理其摄取至关重要。因此,DynamoDB 被用于实现所需的性能特性。
-
成本优化
基于 TAMS 的方法无需在对象存储之外配备高性能文件存储,因为它能在成本较低的对象存储上仅维护一份媒体副本。该 API 便于在不同内容间复用媒体片段,从而在存储层面消除媒体重复数据,进而节省存储空间和成本。
TAMS 的 AWS 开源实现是围绕无服务器组件构建的,这些组件可根据使用情况进行扩展并产生相应成本。鉴于大多数媒体工作负载呈现出需求高峰的模式,这种设计方法使得在系统非活跃使用时,成本仅降至持久层(HAQM S3、DynamoDB、Neptune)。
-
可持续性
TAMS 应用于直播媒体工作流的方法本质上更为优化,因此相较于传统方法也更具可持续性。在存储层面,不再需要在 HAQM S3 对象存储之外配备高性能文件系统,而且存储可以进行重复数据删除,从而降低了空间需求。
使用无服务器技术有助于确保在使用量较低的时期,资源会自动缩减,从而降低对环境的影响。相比之下,传统的本地广播解决方案通常会不分昼夜(每周 7 天、每天 24 小时)持续运行,无论使用模式如何。
TAMS 中采用的“引用编辑”模型有潜力减少在编辑工作站上进行渲染的需求,从而节省计算时间,并且有可能使得使用更小的计算实例成为可能。
相关内容

免责声明
示例代码;软件库;命令行工具;概念验证;模板;或其他相关技术(包括由我方人员提供的任何前述项)作为 AWS 内容按照《AWS 客户协议》或您与 AWS 之间的相关书面协议(以适用者为准)向您提供。您不应将这些 AWS 内容用在您的生产账户中,或用于生产或其他关键数据。您负责根据特定质量控制规程和标准测试、保护和优化 AWS 内容,例如示例代码,以使其适合生产级应用。部署 AWS 内容可能会因创建或使用 AWS 可收费资源(例如,运行 HAQM EC2 实例或使用 HAQM S3 存储)而产生 AWS 费用。
本指南中提及第三方服务或组织并不意味着 HAQM 或 AWS 与第三方之间存在认可、赞助或从属关系。AWS 的指南是一个技术起点,您可以在部署架构时自定义与第三方服务的集成。