https://cloud.tencent.com/document/product/583/51451

部署流式转码应用

应用简介

通过使用 COS + 云函数 + CLS + FFmpeg,您可以快速构建高可用、并行处理、实时日志、高度自定义的视频转码服务。

架构原理

通过云函数创建 FFmpeg 任务进程,云函数进程与 FFmpeg 任务进程通过 pipe 和 FIFO 的方式进行数据传输。云函数进程中的两个任务线程分别接收 FFmpeg 任务进程向函数进程输出的 FFmpeg 日志流与转码后的文件流。实时日志线程将日志流输出,上传任务负责缓存文件流并上传至用户定义的输出 COS。

前提条件

1. 安装 Serverlesss Framework。

有帮助的截图
Serverlesss Framework

2. 配置部署账号权限。详情见 账号和权限配置。

有帮助的截图
账号和权限配置

手机扫码授权的。

3. 配置 运行角色 权限。

有帮助的截图
运行角色

失败了

有帮助的截图
报错

修复

手动在shanghai创建COS

有帮助的截图
创建COS

地址填入xml

diff --git a/transcode/serverless.yml b/transcode/serverless.yml
index 18636c6..58eab8c 100644
--- a/transcode/serverless.yml
+++ b/transcode/serverless.yml
@@ -13,22 +13,22 @@ inputs:
   timeout: 43200 # 函数执行超时时间, 单位秒, 即本demo目前最大支持12h运行时长
   region: ${env:REGION} # 函数区域,统一在环境变量中定义
   asyncRunEnable: true # 开启长时运行
-  cls: # 函数日志
-    logsetId: ${output:${stage}:${app}:cls-video.logsetId}  # cls日志集 cls-video为cls组件的实例名称
-    topicId: ${output:${stage}:${app}:cls-video.topicId}  # cls日志主题
-  environment:
+  #cls: # 函数日志
+  #  logsetId: ${output:${stage}:${app}:cls-video.logsetId}  # cls日志集 cls-video为cls组件的实例名称
+  #  topicId: ${output:${stage}:${app}:cls-video.topicId}  # cls日志主题
+  environment:
     variables:  # 转码参数
       REGION: ${env:REGION} # 输出桶区域
-      DST_BUCKET: test-123456789 # 输出桶名称
+      DST_BUCKET: test-1308848116 # 输出桶名称
       DST_PATH: video/outputs/ # 输出桶路径
       DST_FORMAT: avi # 转码生成格式
       FFMPEG_CMD: ffmpeg -i {input} -y -f {dst_format} {output}  # 转码基础命令,您可自定义配置,但必须包含ffmpeg配置参数和格式化部分,否则会造成转码任务失败。
       FFMPEG_DEBUG: 1 # 是否输出ffmpeg日志 0为不输出 1为输出
       TZ: Asia/Shanghai # cls日志输出时间的时区
   events:
-    - cos: # cos触发器         
-        parameters:          
-          bucket: test-123456789.cos.ap-shanghai.myqcloud.com  # 输入文件桶
+    - cos: # cos触发器
+        parameters:
+          bucket: test-1308848116.cos.ap-shanghai.myqcloud.com  # 输入文件桶
           filter:
             prefix: video/inputs/  # 桶内路径
           events: 'cos:ObjectCreated:*'  # 触发事件

其实,到底该不该注释掉cls也不十分确定,注释掉一定会过。但是不注释有无影响没有作进一步验证。

再次deploy

有帮助的截图
成功