利用函数服务对新上传的OBS对象进行视频转码
1 简介
利用华为云的媒体转码(MPC)服务可以对OBS桶中的视频对象转码为适应各种终端(PC、TC、Phone等)播放的格式,同时华为云的函数工作流(FunctionGraph)服务,通过设定新对象上传事件触发视频转码函数。
2 效果展示
新建一个北京区域的OBS桶obs-chongchong-mpc,并新建两个文件夹,video-input1/ 存放新上传的源视频,video-output1/ 存放转码后的目标视频(目标格式为m3u8)。
然后向video-input1/ 中上传两个mp4结尾的源视频文件。
约1分钟后,会在video-output1/ 中生成这两个源视频文件转码后的目标视频文件夹(子目录为源视频对象的文件路径命名)。
3 详细操作步骤
3.1 创建北京一区域的OBS桶
目前媒体转码MPC服务中视频转码功能只支持北京一,所以目前暂时只能使用北京一区域的OBS桶。登录华为云OBS控制台界面,这里举例新建obs-chongchong-mpc为名称的北京一区域OBS桶,并在上面新建两个文件夹,video-input1/ 存放新上传的源视频,video-output1/ 存放转码后的目标视频。
注:如果需要转换多种格式的源视频,需要添加多个后缀不同的事件通知。
3.2 配置媒体转码MPC服务
登录华为云MPC控制台界面,选择北京一区域,在“云资源授权---桶授权”页签下找到3.1中新建的obs-chongchong-mpc 桶,并点击授权,使之变成已授权的状态。
3.3 配置消息通知SMN服务
登录华为云SMN控制台界面,选择北京一区域,在“主题管理---主题”页签点击“创建主题”按钮生成名称为TestTopicMsg 的主题。
创建好以后,点击TestTopicMsg主题,进入到该“主题详情”页面。
点击“设置主题策略”按钮,选中“可发布消息的服务”列表中的OBS服务和MPC服务,并点击确定,这样这两个服务才可以触发此消息通知主题。
之后回到3.1中创建的OBS桶中,创建消息通知事件,进入到桶详情界面,在“事件通知”页签下点击“创建”按钮,在弹出的“创建事件通知”对话框中填写消息信息:
事件通知名称输入:(自定义)
事件选择:“ObjectCreated”
前缀输入:“video-input1/”(步骤3.1中video-input1定义的源视频上传目录)
后缀输入:“.mp4”(设定自己需要进行转码的视频格式后缀)
通知类型中SMN主题,选择刚创建的北京一TestTopicMsg的SMN主题。
同理再创建后缀为.avi的事件通知,如下图所示:
注:如果需要转换多种格式的源视频,需要添加多个后缀不同的事件通知。
3.4 创建统一身份认证IAM服务委托
登录华为云IAM控制台界面,在“委托”页签点击“创建委托”按钮,弹出“创建委托”界面。填写委托信息:
委托名称输入:“fgs_trust” (自定义)
委托类型选择:“云服务”
云服务选择:“FunctionGraph”
持续时间选择:“永久”
权限选择:分别修改“全局服务>全局”、“全局服务>对象存储服务”、“华北-北京一>cn-north-1”的权限集,选择“基本”。信息填写完毕后,点击“确定”按钮即创建成功。
3.5 创建函数工作流FunctionGraph服务函数
登录华为云FunctionGraph控制台界面,选择北京一区域,在“函数---函数列表”页签点击“创建函数”按钮,弹出“创建委托”界面。填写函数信息:
函数名称输入:“JavaTest”
所属应用选择:“default”
委托名称选择:“fg-trust”(选择3.4章节创建的IAM委托名称)
运行时语言选择:“Java8”
函数执行入口输入:com.huawei.demo.Transcoding.smnTest
代码上传方式,选择文件本地MPCTest.zip进行上传(MPCTest.zip为编译后的JAVA包,需要先下载到本地再上传,下载地址:https://obs-tools.obs.cn-north-1.myhuaweicloud.com/zdh/MPCTest.zip)。
信息填写完毕后,点击“创建函数”按钮即创建成功。
创建好以后,在“函数列表”页面,点击JavaTest函数,进入到该详情页面。
选择“配置”页面,配置相关参数,内存选择256M,执行超时时间填写10,环境变量需要填写2个键:pathDst键的值为3.1中配置的存放转码后目标视频目录video-output1/,templateID键的值为MPC媒体转码平台的模板ID,此处填写模板ID为7000570的MPC预置视频转码模板,更多的模板设置请参考4.1章节。
选择“触发器”页面,订阅SMN消息主题,触发器类型选择“消息队列服务(SMN)”,主题名称选择3.3创建的TestTopicMsg 消息主题,点击“确定按钮”,最终再点击下右上角的“保存”按钮,将所有的函数配置进行保存。
之后向3.1中的OBS桶video-input1目录中上传mp4和avi为结尾的视频对象时,都会相应转换到目标目录video-output1中,效果查看2章节的展示。
4 注意事项
4.1 MPC媒体转码平台的模板ID的选择
3.5章节中的templateID键的值为MPC媒体转码平台的模板ID,模板ID来自两种,一种是系统预置模板(由于系统预置模板是根据分辨率、码率等做的最佳配置,所以建议优先使用系统预置模板),另一各是自定义模板和模板组(如何创建,参考链接:https://support.huaweicloud.cn/usermanual-mpc/mpc010008.html)。
本文3章节中采用的是系统预置模板,模板ID为7000570。
5 附录
相关控制台链接:
OBS控制台:https://storage.huaweicloud.cn/obs
MPC控制台:https://console.huaweicloud.cn/mpc
SMN控制台:https://console.huaweicloud.cn/smn
IAM控制台:https://console.huaweicloud.cn/iam
FunctionGraph控制台:https://console.huaweicloud.cn/ functiongraph
- 点赞
- 收藏
- 关注作者
评论(0)