AWS代付、代实名
阿里云国际 | 腾讯云国际

基于 AWS MediaConvert 与 CMAF 的多语言视频分发优化实践

亚马逊AWS官方博客

基于 AWS MediaConvert 与 CMAF 的多语言视频分发优化实践

随着全球化数字内容市场的发展,视频分发领域正经历深刻变革,大语言模型与生成式 AI 技术正逐步消除语言障碍,为内容创作者提供革命性工具,使视频作品能高效触达全球受众。尽管技术进步显著,传统多语言视频分发模式仍存在明显短板:为每种语言创建独立视频版本不仅消耗大量计算资源,还占用过多存储空间,增加 CDN 负担并降低分发效率;同时,用户切换语言或字幕时需重新加载视频,打断了流畅观看体验。这种技术与用户体验的矛盾,凸显了当前视频分发系统亟需优化的方向,以适应日益多元化的全球内容消费需求。

CMAF(Common Media Application Format)是一种基于 ISO-BMFF 标准的现代化媒体容器格式,可以被广泛的设备和播放器所支持,包括 Web 浏览器、移动设备、智能电视在内的几乎所有的现代视频播放器。CMAF 继承了 MP4 的基础架构,能够在单一文件中封装多达 128 条独立音轨,以支持不同语言、解说及评论音轨的并存管理。此外,它灵活兼容文本型(WebVTT、TTML) 和位图字幕,为全球化内容提供了完整的多语言支持解决方案。同时,它还支持分片存储和传输,并与 HLS 和 DASH 等流媒体传输协议完全兼容,实现了真正的“一次编码,多处交付”。客户端在播放多语言的 CMAF 视频时,用户客户在直接无缝切换不同语言的音频和字幕,而不需要页面刷新和对视频资源重新加载,从而提升用户的视频观看体验。

CMAF 具有非常明显的成本与效率优势。以一部 2GB 的视频需要支持五种语言(英语、中文、法语、西班牙语、日语)为例,我们可以清晰地看到两种方案的本质差异。在传统 MP4 方案下,每个语言版本都需要生成独立的视频文件,这意味着存储系统需要容纳 5 个完整的 2GB 文件,总存储需求高达 10GB。当用户观看英语版本时,即便完全不需要其他语言的音轨,CDN 仍然必须传输完整的 2GB 文件,造成巨大的带宽浪费。CMAF 的智慧之处在于其分片化架构。它将视频内容与多语言音轨分离存储:2GB 的视频内容只需保存一份,五种语言的音轨各自独立存储(假设每条音轨约 0.1GB),总存储需求仅需 2.5GB,相比传统方案节省了 75% 的存储空间。这种设计不仅降低了存储成本,更重要的是优化了 CDN 的分发效率。当日本用户观看视频时,边缘节点只需缓存一份公共视频分片和日语音轨分片,其他语言的音轨可以按需加载,极大减轻了边缘节点的存储压力。

同样, CMAF 在多语言视频转码场景下也带来了令人瞩目的转码优势。传统方案需要为每种语言组合生成独立视频文件;假设需要为每种语言的视频配置不同语言的字幕时,5 种语言配上 5 种字幕就意味着 25 次完整的视频转码。而 CMAF 只需对视频内容进行一次转码,音轨和字幕可以独立处理,由此转码效率提高了 96%。这种提升在需要频繁更新多语言内容的生产环境中尤其珍贵。

与 HLS 和 DASH 等自适应流媒体协议相比,CMAF 展现出独特的兼容性优势。虽然 HLS 和 DASH 也支持分片化,但它们通常需要为不同协议生成独立的分片格式,导致存储需求翻倍。CMAF 的统一分片格式(.cmfv/.cmfa)可以同时服务于 HLS 和 DASH 协议,不仅节省了 50% 的存储空间,还避免了重复转码的工作量。

在 CDN 分发层面,CMAF 的优势更为明显。传统 MP4 方案要求每个边缘节点缓存所有语言版本的完整视频文件,而 CMAF 只需在边缘节点缓存一份视频分片。当用户切换语言时,系统只需传输新的音轨分片(约 0.1GB),而不必重新加载完整的 2GB 视频文件,这使得带宽消耗降低了 95%。这种分片复用机制也大幅减少了回源请求量。

AWS Elemental MediaConvert 是一项基于云的视频转码处理服务,能够将用户输入的视频按照需求进行转码操作,其支持 MP4、HLS、DASH、CMAF 等格式的视频封装。接下来,本文将会介绍如何使用 AWS Elemental MediaConvert 封装一部同时支持中英文双语音轨和字幕的 CMAF 的视频片段。

准备工作

确保当前登录 AWS Console 的 IAM 用户有访问 AWS Elemental MediaConvert 的权限。

根据文档 Setting up IAM permissions,为 MediaConvert 任务配置正确的 IAM Role,以使得 MediaConvert 在转码过程中能正确访问输入和输出文件所在的 S3 存储桶。

创建转码任务

导航到 AWS MediaConvert 控制台,在 Jobs 页面上通过点击 Create Jobs 按钮导航到 Create Job 控制台。

配置转码任务的输入

1. 在 Create Job 控制台中的 Inputs 中,添加本次转码任务的视频输入。

2. 在下方的 Audio Selectors 部分中添加两个

Audio Selector,用来为转码任务配置视频的多语言音频输入。本次转码任务中,将会为视频添加英文和中文两种语言的音频支持,并将配置英文为视频的默认语言;由于这两种语言的外置音频文件分别被存放在 S3 存储桶中,因此需要在 Audio Selector 中使用 External file 选项来配置其在 S3 中的位置。此时,需要明确的是在 Audio Selector 1 中配置了视频默认为英文音频,在 Audio Selector 2 中配置了中文音频。

3. 在下面的

Captions selectors 中添加两个 Captions Selector,用来为转码任务配置视频的多语言字幕输入。因此需要在视频添加中英文的字幕支持。同样需要明确的是,在 Captions Selector 1 中,配置了英文字幕的 S3 URI 地址;在 Captions Selector 2 中配置了中文字幕的 S3 URI 地址。

配置转码任务的输出

1. 在转码任务的

Output Groups 中,通过点击 Add 按钮,添加一个 CMAF 输出组。

2. 在

CMAF group settings 里面配置转码输出的 S3 地址。

3. 在 CMAF 的转码任务中,通常会同时输出 HLS 和 DASH 格式的视频;在本次的转码任务中,只希望输出 HLS 格式的视频;因此,需要在

CMAF group settings 里面通过 Write DASH manifest 来关闭 DASH 格式的输出。

4. 配置视频输出;默认情况下,MediaConvert 会输出 H.264 的视频;此时可以根据实际的需要配置对视频输出的转码需求。

5. 配置默认的英文的音频输出;在 CMAF 输出组中的 AAC 输出配置中,通过修改 HLS 配置中的 Audio track type 来控制客户端在播放视频是选择音轨的行为;因为当前配置的是默认的英文音轨,因此需要选择 Alternate audio, auto select, default;另外,可以通过 Name modifier 配置自定义了当前音轨输出文件的名称。

此外,需要通过编码配置中的 Audio source 配置来为当前的音频输入配置正确的输入。需要在此处选择 Audio Selector 1,原因是在输入中,英文的音频文件输入标识为 Audio Selector 1。

同时,需要在编码配置中的高级选项中,为当前的音轨配置正确的语言标识和名称,以使得客户端在播放时能正确显示和处理语言选项。

6. 配置中文音频输出;通过上文中的音频输出控制台的

Copy output 来添加一个音频输出。

7. 和上文中配置英文的音频输出一样,同样的需要通过

Name Modifier 来为音频输出设置自定义标识;由于中文音频输出不作为默认的音频输出,因此需要更新 Audio track type Alternate audio, auto select, not default

另外,由于在输入配置中中文的标识为 Audio Selector 2,因此需要在当前输出的编码配置中将 Audio source 配置为 Audio Selector 2;同样的,需要在编码配置的高级选项中,为音轨选择正确的语言标识和名称。

8. 增加字幕输出;在 CMAF 输出组的 Outputs 中,添加两个新的输出,并修改 Name modify 为这两个输出添加标识。

在输出配置中,通过 Add Captions 将输出定义为字幕输出,并在字幕的编码配置中,分别为不同的字幕输出定义输入源,并设置正确的语言和描述。

9. 最后,则可以点击

Create 创建转码任务。

检查转码任务输出

在转码任务成功后,可以在输出配置中的 S3 中看到转码后的输出文件。在输出的 HLS 的 manifest 中可以看到,视频流分别引用了两个不同的音频媒体和字幕;而在音频媒体和字幕中,按照不同的语言引用了不同的音频和字幕 manifest。以此,就可以实现在播放器中动态切换不同语言的音频和字幕。

结语

本文介绍了如何使用 AWS MediaConvert 和 CMAF 格式来提高多语言视频分发过程的效率。借助于 CMAF 的音视频解耦技术,内容提供商能够以更加高效、经济的方式构建本地化的视频内容,从而为全球用户提供一致的观看体验。


点击联系客服Telegram
赞(0)
未经允许不得转载:Wordpress » 基于 AWS MediaConvert 与 CMAF 的多语言视频分发优化实践

AWS代付、代充值免实名

联系我们阿里云国际免实名