
# 方案概述
#### 应用场景
该解决方案基于华为云[函数工作流 FunctionGraph](https://www.huaweicloud.com/product/functiongraph.html)无服务器架构，利用开源[FFmpeg](https://ffmpeg.org/)的添加字幕功能，以硬字幕的方式帮助用户将字幕文件合入视频中。当用户上传视频文件以及配套字幕文件到[对象存储服务 OBS](https://www.huaweicloud.com/product/obs.html)桶中，会自动触发函数添加字幕，并将合成后的视频文件存储到OBS中。适用于如下场景：视频教学、视频广告、视频社交媒体等需要添加字幕的场景。
#### 方案架构
该解决方案基于华为云函数工作流 FunctionGraph、对象存储服务 OBS等资源一键式部署，实现为视频添加字幕。解决方案架构图如下：
图1方案架构图   
![](https://support.huaweicloud.com/asv-mda/zh-cn_image_0000001684762430.png)
该解决方案会部署如下资源：
- 在[函数工作流 FunctionGraph](https://www.huaweicloud.com/product/functiongraph.html)中创建一个添加字幕的函数和OBS触发器，实现将用户上传到OBS桶中的字幕文件及视频文件进行合成，并将带有字幕的视频转储到OBS桶。
- 创建两个[对象存储服务 OBS](https://www.huaweicloud.com/product/obs.html)桶，一个用于用户上字幕文件及视频文件，另一个用于转储添加字幕后的视频文件。
- 通过[统一身份认证服务 IAM](https://www.huaweicloud.com/product/iam.html)的委托功能，用于授权函数工作流 FunctionGraph访问OBS桶下载和上传文件。
 
#### 方案优势
- 无服务器化 采用无服务器架构，无需运维底层计算资源，无需考虑服务可用性、可扩展性等技术问题。
  

- 开箱即用 用户只需将字幕文件及视频文件上传至OBS桶中，即可获得带有字幕的视频文件。
  

- 一键部署 一键轻松部署，即可完成函数工作流 Functiongraph、对象存储服务 OBS创建配置。
  
 
#### 约束与限制
- 部署该解决方案之前，您需注册华为账号并开通华为云，完成实名认证，且账号不能处于欠费或冻结状态，如使用包周期部署确保余额充足。

- 须保证视频文件和字幕文件同名且同名文件有且只能为两个（文件名只能包含字母、数字、_（下划线）及-（中划线）），视频大小限制在100M及以内。
- 该解决方案经验证过的字幕文件有：srt、ass、ssa、vtt四种字幕文件格式，编码格式有：ASCII、UTF-8、UTF-16BE、UTF-16LE。
- 该解决方案经验证过的视频文件有：mp4、avi、mov、flv、wmv、mkv、mpg、mpeg、m4v、3gp、webm、asf、ogg，其中3gp类型视频支持的音频采样率为8000HZ。
 
