本文利用亚马逊云科技的一系列AI服务,将传统的中文培训视频和字幕,快速转换为英文视频和英文字幕,为企业的培训部门提供一种便捷的方式,降低重新制作培训教材的复杂度和成本。
系统方案架构图
主要服务和组件简介
Amazon Transcribe
Amazon Transcribe是一种自动语音识别服务,它使用机器学习模型将音频转换为文本。您可以用Amazon Transcribe作独立的转录服务,也可以向任何应用程序添加speech-to-text功能。Amazon Transcribe使用户可以轻松地在媒体内容中添加字幕,而无需事先的机器学习经验。
Amazon Transcribe支持WebVTT(*.vtt)和SubRip(*.srt)格式输出用作视频字幕。设置批量视频转录作业时,您可以选择一种或两种文件类型。使用字幕功能时,将生成您选择的字幕文件和常规脚本文件(包含其他信息)。字幕和转录文件输出到同一个目的地。
Amazon Translate
Amazon Translate是一项神经网络机器翻译服务,使用先进的机器学习技术按需提供快速、高质量的翻译。神经网络机器翻译是一种语言翻译自动化形式,采用深度学习模型,可以提供比基于规则的传统统计式翻译算法更准确、更自然的翻译。
Amazon Translate支持对面向不同用户的网站和应用程序的内容进行本地化,可轻松翻译大量文本以进行分析,也可以高效实现用户间跨语言交流。
Amazon Polly
Amazon Polly是一项将文本转换为逼真语音的服务,包括许多神经网络语音合成(NTTS)语音,通过一种新的机器学习方法,在语音质量方面实现了突破性的改进,从而为客户提供了最自然、最人性化的文本到语音。神经网络语音合成技术还支持根据新闻叙述用例定制的Newcaster演讲风格。
Amazon Polly可以提供几十种逼真的语音并支持多种语言,因此您可以选择最合适的语音,并在许多地理位置发布具有语音功能的应用程序。Amazon Polly简单易用——您只需将要转换为语音的文本发送到Amazon Polly API,Amazon Polly便会立即将音频流返回到您的应用程序。您可以直接播放该音频流,也可将其存储为MP3等标准音频文件格式。Amazon Polly支持语音合成标记语言(SSML)标签(如prosody),因此您可以调整语速、音调或音量。
AWS Elemental MediaConvert
AWS Elemental MediaConvert是一项基于文件的视频处理服务,允许使用任何大小内容库的视频提供商轻松可靠地对点播内容进行转码,以便实现在广播和多屏交付。AWS Elemental MediaConvert可以作为单独的服务使用,也可以与其他AWS Media Services集成,从而让您构建基于文件的灵活视频工作流,同时全面控制视频质量和可预测的按需付费账单。
AWS Elemental MediaConvert支持大量视频输入和输出格式,包括适用于广播的格式以及通过Internet交付的格式。该服务支持AVC、HEVC、AV1、Apple ProRes和MPEG-2压缩标准,包括支持高级色彩采样(10位4:2:2)。它支持广泛的自适应比特率打包格式,包括CMAF、Apple HLS、DASH ISO和Microsoft Smooth Streaming。AWS Elemental MediaConvert还支持处理和转换4K和8K分辨率来源和高动态范围(HDR)视频内容(包括杜比视界)。
在视频处理工作流中,基于文件的视频转码解决方案处理视频文件,创建原始内容的压缩版本,以减小其大小、更改其格式或提高播放设备的兼容性。基于文件的视频转码解决方案可以转换任何视频输入源,从高质量的演播室主控到在移动设备上捕获的视频,并生成可分发给观众的内容。
部署步骤
亚马逊云科技的上述服务,都可以通过在管理控制台页面手工运行任务完成,为了简化操作步骤,减少人工操作可能出现的错误,本方案采用Lambda和EventBridge等服务进行自动化操作,本文所有的Lambda函数代码均可基于python 3.11和arm64架构进行部署。
注意如果部署在自己的环境,本文中的S3 Bucket名称‘media’需要更改为自己的Bucket。
根据架构图和处理流程,分为以下几个环节:
1. 自动识别视频中的中文语音并生成中文字幕格式文件
2. 翻译上一步生成的中文字幕格式文件,转换为英文字幕格式文件
3. 转换英文字幕格式文件为可阅读的英文文本,并通过Amazon Polly生成语音文件
4. 为英文语音文件生成新的英文字幕格式文件
5. 为每个Lambda函数配置触发条件
前面的步骤一共创建完成4个Lambda函数,可以在Lambda的管理控制台看到下列函数:
下面按照处理流程分别为每个函数配置触发条件:
1)media_transcribe
在S3桶的属性中,配置当存储桶中创建mp4文件时,触发media_transcribe函数
2)media_translate
在EventBridge中,创建规则,当发生Transcribe Job State Change为“COMPLETED”事件时,触发media_translate函数
3)media_text2speech
在EventBridge中,创建规则,当发生Translate TextTranslation Job State Change为“COMPLETED”事件时,触发media_text2speech函数
4)media_makecaptions
在S3桶的属性中,配置当存储桶中创建mp3文件时,触发media_makecaptions函数
6. 在存储桶中上传一个mp4视频文件进行验证,依次检查相关服务中的任务,可以看到所有任务都可以自动完成而无需人工干预。
S3桶中上传文件:
Transcribe任务:
Translate任务:
Amazon Polly任务:
media_makecaptions任务:
在S3桶中,找到生成的3个相关文件,分别是原始mp4视频文件、英文语音的mp3文件和英文字幕格式文件。
其中原始mp4文件在桶的根目录中,另外两个英文文件在以-voice结尾的目录中。
7. 用英文语音和英文字幕合成视频
在真实的业务环境中,建议对生成的字幕文件仍然通过人工进行内容的二次校准和时间戳修正,因此本文不采用自动化任务进行合成,而是通过亚马逊云科技管理控制台进行视频合成的操作。
小结
本文简单介绍了利用亚马逊云科技的AI服务,快速对中文视频进行英文转换的一种便捷方式,也可以自行修改Lambda代码中的LanguageCode尝试更改为其他语言,例如将英文视频转换为中文视频。
原标题:利用亚马逊云科技的AI和媒体服务快速合成多语言视频
原链接:https://aws.amazon.com/cn/blogs/china/generate-multilingual-videos-using-aws-ai-and-media-services/