# huaweicloud-solution-serverless-video-transcoding **Repository Path**: HuaweiCloudDeveloper/huaweicloud-solution-serverless-video-transcoding ## Basic Information - **Project Name**: huaweicloud-solution-serverless-video-transcoding - **Description**: 该解决方案能帮您快速在华为云上自建基于开源ffmpeg的视频转码服务,低成本实现定制化视频处理能力。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master-dev - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2022-12-23 - **Last Updated**: 2025-06-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [TOC] **解决方案介绍** =============== 该解决方案基于华为云函数工作流FunctionGraph的OBS触发器,来帮助用户实现视频文件上传到OBS原视频桶时,自动触发函数转码视频并将转码结果存储到视频转码存储桶。 解决方案实践详情页面地址:https://www.huaweicloud.com/solution/implementations/serverless-video-transcoding.html **架构图** --------------- ![方案架构](./document/serverless-video-transcoding.PNG) **架构描述** --------------- 该解决方案会部署如下资源: - 在对象存储服务 OBS上创建两个桶,分别是原视频文件桶和视频转码存储桶。 - 在统一身份认证服务 IAM上创建一个委托,用于授权函数工作流(FunctionGraph)访问用户在OBS桶下载上传视频文件。 - 在函数工作流服务 FunctionGraph上创建一个视频转码函数和OBS触发器,实现OBS桶上传视频自动转码。 **组织结构** --------------- ``` lua huaweicloud-solution-serverless-video-transcoding ├── serverless-video-transcoding.tf.json -- 资源编排模板 ├── functiongraph ├── serverless-video-transcoding.py -- 函数文件 ``` **开始使用** --------------- 1、登录[华为云控制台](https://console.huaweicloud.com/console/?locale=zh-cn®ion=cn-north-4#/home),区域选择“华北-北京四” 图1 华为云控制台 ![华为云控制台](./document/readme-image-001.PNG) 2、进入[函数工作流 FunctionGraph](https://console.huaweicloud.com/functiongraph/?region=cn-north-4#/serverless/dashboard)控制台,在函数列表中查看该方案创建的函数 图2 创建的函数 ![创建的函数](./document/readme-image-002.PNG) 3、进入创建的函数中,查看该方案创建的触发器信息。 图3 视频转码函数触发器 ![视频转码函数触发器](./document/readme-image-003.PNG) 4、进入[统一身份认证服务](https://console.huaweicloud.com/iam/?region=cn-north-4#/iam/users)控制台,查看已创建的委托信息 图4 委托信息 ![委托信息](./document/readme-image-004.PNG) 5、在函数服务的监控中,可以查看上传视频文件到原视频文件桶后触发函数执行的日志 图5 请求日志 ![请求日志](./document/readme-image-005.PNG) 6、在视频转码存储桶中,可以看到转码后的视频文件 图6 转码后的视频文件 ![转码后的视频文件](./document/readme-image-006.PNG)