利用函数服务对新上传的OBS对象进行视频转码

chongchongly 发表于 2019/07/08 09:43:57 2019/07/08
【摘要】 1 简介利用华为云的媒体转码(MPC)服务可以对OBS桶中的视频对象转码为适应各种终端(PC、TC、Phone等)播放的格式,同时华为云的函数工作流(FunctionGraph)服务,通过设定新对象上传事件触发视频转码函数。2 效果展示新建一个北京区域的OBS桶obs-chongchong-mpc,并新建两个文件夹,video-input1/ 存放新上传的源视频,vide...


1      简介

利用华为云的媒体转码(MPC)服务可以对OBS桶中的视频对象转码为适应各种终端(PC、TC、Phone等)播放的格式,同时华为云的函数工作流(FunctionGraph)服务,通过设定新对象上传事件触发视频转码函数。

2      效果展示

新建一个北京区域的OBS桶obs-chongchong-mpc,并新建两个文件夹,video-input1/ 存放新上传的源视频,video-output1/ 存放转码后的目标视频(目标格式为m3u8)。

图片.png

然后向video-input1/ 中上传两个mp4结尾的源视频文件。

图片.png

1分钟后,会在video-output1/ 中生成这两个源视频文件转码后的目标视频文件夹(子目录为源视频对象的文件路径命名)。

图片.png

图片.png

图片.png

图片.png

3      详细操作步骤

3.1      创建北京一区域的OBS桶

目前媒体转码MPC服务中视频转码功能只支持北京一,所以目前暂时只能使用北京一区域的OBS桶。登录华为云OBS控制台界面,这里举例新建obs-chongchong-mpc为名称的北京一区域OBS桶,并在上面新建两个文件夹,video-input1/ 存放新上传的源视频,video-output1/ 存放转码后的目标视频。

图片.png

注:如果需要转换多种格式的源视频,需要添加多个后缀不同的事件通知。

 

3.2      配置媒体转码MPC服务

登录华为云MPC控制台界面,选择北京一区域,在“云资源授权---桶授权”页签下找到3.1中新建的obs-chongchong-mpc 桶,并点击授权,使之变成已授权的状态。

图片.png

图片.png

3.3      配置消息通知SMN服务

登录华为云SMN控制台界面,选择北京一区域,在“主题管理---主题”页签点击“创建主题”按钮生成名称为TestTopicMsg 的主题。

图片.png

     创建好以后,点击TestTopicMsg主题,进入到该“主题详情”页面。

图片.png

     点击“设置主题策略”按钮,选中“可发布消息的服务”列表中的OBS服务和MPC服务,并点击确定,这样这两个服务才可以触发此消息通知主题。

图片.png

之后回到3.1中创建的OBS桶中,创建消息通知事件,进入到桶详情界面,在“事件通知”页签下点击“创建”按钮,在弹出的“创建事件通知”对话框中填写消息信息:

事件通知名称输入:(自定义)

事件选择:ObjectCreated”

前缀输入:video-input1/”(步骤3.1中video-input1定义的源视频上传目录)

后缀输入:.mp4”(设定自己需要进行转码的视频格式后缀)

通知类型中SMN主题,选择刚创建的北京一TestTopicMsg的SMN主题。

图片.png

     同理再创建后缀为.avi的事件通知,如下图所示:

注:如果需要转换多种格式的源视频,需要添加多个后缀不同的事件通知。

图片.png

图片.png

3.4      创建统一身份认证IAM服务委托

登录华为云IAM控制台界面,在“委托”页签点击“创建委托”按钮,弹出“创建委托”界面。填写委托信息:

委托名称输入:fgs_trust” (自定义)

委托类型选择:“云服务”

云服务选择:FunctionGraph”

持续时间选择:“永久”

权限选择:分别修改“全局服务>全局”、“全局服务>对象存储服务”、“华北-北京一>cn-north-1”的权限集,选择“基本”。信息填写完毕后,点击“确定”按钮即创建成功。

图片.png

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)。

信息填写完毕后,点击“创建函数”按钮即创建成功。

图片.png

     创建好以后,在“函数列表”页面,点击JavaTest函数,进入到该详情页面。

图片.png

     选择“配置”页面,配置相关参数,内存选择256M,执行超时时间填写10,环境变量需要填写2个键:pathDst键的值为3.1中配置的存放转码后目标视频目录video-output1/,templateID键的值为MPC媒体转码平台的模板ID,此处填写模板ID为7000570的MPC预置视频转码模板,更多的模板设置请参考4.1章节。

图片.png

     选择“触发器”页面,订阅SMN消息主题,触发器类型选择“消息队列服务(SMN)”,主题名称选择3.3创建的TestTopicMsg 消息主题,点击“确定按钮”,最终再点击下右上角的“保存”按钮,将所有的函数配置进行保存。

图片.png

     之后向3.1中的OBS桶video-input1目录中上传mp4和avi为结尾的视频对象时,都会相应转换到目标目录video-output1中,效果查看2章节的展示。

4      注意事项

4.1      MPC媒体转码平台的模板ID的选择

3.5章节中的templateID键的值为MPC媒体转码平台的模板ID,模板ID来自两种,一种是系统预置模板(由于系统预置模板是根据分辨率、码率等做的最佳配置,所以建议优先使用系统预置模板),另一各是自定义模板和模板组(如何创建,参考链接:https://support.huaweicloud.com/usermanual-mpc/mpc010008.html)。

本文3章节中采用的是系统预置模板,模板ID为7000570。

图片.png

5      附录

相关控制台链接:

OBS控制台:https://storage.huaweicloud.com/obs

MPC控制台:https://console.huaweicloud.com/mpc

SMN控制台:https://console.huaweicloud.com/smn

IAM控制台:https://console.huaweicloud.com/iam

FunctionGraph控制台:https://console.huaweicloud.com/ functiongraph

 

 


【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。