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
|
成功 |