通过云函数SCF把视频处理VC迁移到云转码

2019-10-05 10:37:17 浏览数 (1)

【云转码已全面升级为视频处理MPS,该文字已过期】

简介

本文将引导你逐步把视频处理的功能迁移到云转码,从腾讯云官网得知,视频处理VC的功能已迁移至云转码,不过老用户依然可以正常使用视频处理VC,但云转码不支持文件上传到cos后自动转码,需要调用一次云API发起转码;

本文将结合cos和scf的功能特性,实现在cos文件更新时,自动调用云转码API实现自动转码;

产品简介

视频处理:

视频处理 VC (Video Cloud)为各种UGC类视频,提供专业可靠的视频处理服务,包括视频转码、视频水印,视频截图,视频识别等。通过简单的配置即可快速接入并支持视频上传、转码、存储和播放等完整解决方案。

云转码:

云转码(Video Transcoding Service,VTS)是针对海量多媒体数据,提供的云端转码和音视频处理服务。您可以按需将云存储中的音视频文件转码为适合在 OTT、PC 或移动端播放的格式,并进行截取封面、剪辑、鉴黄、加密等操作。使用云转码 VTS 可满足您在各类平台将音视频转为不同码率和分辨率的需求。

云转码和视频处理功能对比

功能项

云转码

视频处理

上传自动转码

不支持

支持

输出格式

MP4/HLS/FLV/M4A/MP3

MP4

输出规格

流畅/标清/高清/全高清/2K/4K

低清/标清/高清

是否支持自定义规格

支持(可在云点播控制台自定义)

不支持

封面截图

支持

支持

水印设置

支持

支持

通知回调

支持(复用云点播的回调)

支持

转动图gif

支持

不支持

采样截图

支持

不支持

截取雪碧图

支持

不支持

智能分析(智能分类和标签)

支持

不支持

内容审核(鉴黄)

支持

不支持

由此可以看到,云转码在各方面功能完胜视频处理,唯一的不足是还不支持文件上传到cos后自动转码,因此本文将通过无服务器云函数SCF填补该项不足。

前提条件

  1. 腾讯云账户,需具备COS、SCF、云点播等产品的权限。
  2. 创建存储桶,注意不是所有地域的存储桶都支持,详情见云转码支持的地域
  3. 确保 COS 的存储桶的所属地域支持 SCF 产品功能,暂不支持跨地域调用。
  4. 准备好可调用云点播接口ProcessCosMedia的云 API 密钥。

整体流程

//TODO 待完善

创建并配置存储桶bucket

登录对象存储控制台,创建一个bucket,本案例命名为transcoding-cos,选择地域中国大陆-广州,注意不是所有地域的存储桶都支持,详情见云转码支持的地域,访问权限选择私有读写(按需)

创建bucket创建bucket

创建完成后,按照云转码的独立转码准备工作操作指引添加【根帐号 ID】为2819697038的读写权限

添加根账号读写权限添加根账号读写权限

至此,cos相关的配置就已经完成了;

创建SCF运行角色

1、登录CAM控制台,选择角色

2、点击新建角色,选择角色载体为“腾讯云产品服务”

新建角色新建角色

3、输入角色载体信息:选择无服务器云函数,点击下一步即可

选择角色载体信息选择角色载体信息

4、配置角色策略,选择或输入“QcloudVODFullAccess”,并选中到右边,点击下一步即可

配置角色策略配置角色策略

5、审阅:输入角色名称:transcoding-role,根据实际需要命名,然后点击完成即可

也可参考文档 SCF无函数服务结合云转码使用主账号授权子账号授权操作

创建云函数

1、下载 transcoding-scf.zip代码

transcoding-scf.zip

2、登录无服务器云函数控制台,进入【函数服务】页面。

3、选择广州地域(地域和cos的地域一致),点击【新建】,进入新建函数页面。

4、填写以下参数信息,点击【下一步】。如图所示:

  • 函数名称:根据需要命名,本实例命名为 transcoding-scf
  • 运行环境:选择Python3.6
  • 创建方式:选择空白函数
新建函数新建函数

5、填写以下参数信息,点击【完成】。如图所示:

  • 描述:按需填写
  • 运行角色:选择刚刚创建的“transcoding-role”,也可选择其他角色,但角色需要配置策略“QcloudVODFullAccess”
  • 执行方法:保留默认的index.main_handler
  • 提交方法:选择“本地上传zip包”,然后点击【上传】按钮,选择transcoding-scf.zip文件
  • 点击【完成】按钮即可
函数配置函数配置

配置触发器

配置项说明如下,如需了解更多,可参见COS触发器文档。

  1. 选择 "触发方式" 页签,单击【添加触发方式】。
  2. 将 “触发方式” 设置为 "COS 触发"。
  3. COS Bucket选择刚刚创建的存储桶transcoding-cos。
  4. 事件类型选择“全部创建”。
  5. 前缀过滤和后缀过滤按需填写。
  6. 勾选“立即启用”,然后点击【保存】按钮即可
添加cos触发器添加cos触发器

至此,触发器相关的必填配置就已经完成了

上传文件测试

返回COS控制台,选择transcoding-cos存储桶,上传一份mp4视频文件;

稍等片刻,即可看到生成了转码文件。

如果未有文件生成,切换到云函数的控制台,切换到“运行日志”页签,查看调用日志分析失败原因

可选配置

//TODO 待完善

0 人点赞