OSS 解决方案篇-OSS 结合 媒体处理 使用-阿里云开发者社区

开发者社区> 阿里云支持与服务> 正文

OSS 解决方案篇-OSS 结合 媒体处理 使用

简介: 当用户需要对 OSS 存储的音视频文件做专业内容处理,并且希望保留源文件将处理后的内容再存储到 OSS上,可以使用 OSS + MPS 方案解决。

先了解 MPS

媒体处理(ApsaraVideo Media Processing,原MTS)是一种多媒体数据处理服务。它以经济、弹性和高可扩展的音视频转换方法,帮助您将存储于OSS的音视频转码成适合在PC、TV以及移动终端上播放的格式。并基于海量数据深度学习,对音视频的内容、文字、语音、场景多模态分析,实现智能审核、内容理解、智能编辑。

支持格式

输入格式

  • 容器格式:3GP、AVI、FLV、MP4、M3U8、MPG、ASF、WMV、MKV、MOV、TS、WebM、MXF
  • 视频编码格式:H.264/AVC、H.263、 H.263+、H.265、MPEG-1、MPEG-2、MPEG-4、MJPEG、VP8、VP9、Quicktime、RealVideo、Windows Media Video
  • 音频编码格式:AAC、AC-3、ADPCM、AMR、DSD、MP1、MP2、MP3、PCM、RealAudio、Windows Media Audio

输出格式

  • 容器格式:

    • 视频:FLV、MP4、HLS(m3u8+ts)、MPEG-DASH(MPD+fMP4)
    • 音频:MP3、MP4、OGG、FLAC、m4a
    • 图片:GIF、WEBP
  • 视频编码格式:H.264/AVC、 H.265/HEVC
  • 音频编码格式:MP3、AAC、VORBIS、FLAC

MPS 转码方式

API 提交转码作业

通过 API 根据 OSS 文件存储地址的方式,用 MPS 预置系统的转码模版进行转码。将源文件下载后进行转码然后在回传到 OSS。
提交转码作业

通过 API 根据 OSS 文件存储地址的方式,用自定义的 MPS 模版进行转码。将源文件下载后进行转码然后在回传到 OSS,这种方式比较灵活,能自定义转码模版适合自由度高,对音视频编解码深度了解的客户;
自定义转码模版
提交转码作业

工作流自动触发

如果用户有大量文件新传到 OSS 需要批量触发转码可以通过工作来完成。这种模式是 OSS 通过 mns 事件通知的方式告知 MPS,然后触发工作流,开始按照配置的转码规则进行转码。

工作的特点可以大批量文件自动触发执行,通过管道的方式设置消息通知来回调客户端,异步非阻塞的模式降低用户的代码成本。

工作流可以配置多个,每个工作流可以使用监听不同的 OSS prefix ,使用不用的媒体转码管道,将用户的不同业务隔离开。

image.png

工作流配置方法

1、首先用户先要开通媒体处理产品功能,并且绑定好媒体处理所在地区的 bucket 信息,这里媒体处理的输入输出 bucket region 需要和媒体处理开通的区域一致;
而且需要注意,媒体处理绑定 bucket 是要有授权的,所以需要子账号尽量具备 OSS 管理权限;

image.png

2、创建工作流
创建工作流选用方式很多种,可以自己定义一个规则,选择自己想要转码还是截图,灵活度很高;
如果用户不是对编解码很懂,也可以使用系统推荐的一些模版。但这里要注意尽量不要用预置智能模版,智能模版需要对源文件进行音视频文件分析然后和你转码输出的规则匹配,如果匹配失败则不会触发转码,尽量不要使用,如果很清楚自己业务输入视频和输出视频的内容规则可以使用;

image.png

3、如果选择自定工作流,可以在 + 号的位置,灵活定义你需要的功能,不需要的不用引入;但是需要注意下,如果转码后的文件最后发布时没有选择自动发布,那么 OSS 转码后的文件还不能被公开访问到,需要手动发布下,建议都用自动发布,如果有内容鉴黄的需求可以改成手动发布;

image.png

image.png

4、如果需要工作流转码完成后回调用户,可以对管道设置消息通知,这里用的是 mns 消息服务产品,涉及到消息服务产品的计费请先了解好;

image.png

5、配置好的工作流方式是监听到 OSS 的事件后自动触发,但很多用户时 API 或者 SDK 调用工作流,希望能控制工作流的触发模式,可以参考 更新媒体工作流触发模式
触发模式(范围:OssAutoTrigger 自动执行、NotInAuto 非自动执行)

FQA

如果获取 OSS 视频文件编码信息

用户可以调用 查询媒体 接口来获取 OSS 存储的视频文件信息(视频宽高、码率、容器格式等信息)

如何加速大文件的转码效率

用户基本上都是 1G 以上的大文件,一次性提交了多个文件,类似场景可以提交工单申请倍速转码管道来提高批量大文件的转码效率,但是如果是几百兆或者以下的文件不推荐用倍速转码,并无太多提升效果;

如果文件较多有上百个或者几十个大文件并发转码时,也可以申请新的转码管道,将 OSS 下不同 prefix 的视频文件按业务分管道转码也可以提高效率;

取消大量转码中的作业

如果用户提交太多的大文件,转码需要很长时间才能完成这是正常情况,如果用户等不及需要取消转码中的文件,分多个管道完成也可以的;
需要先调用 列出转码作业 找到需要取消的 jobid ,然后调用 取消转码作业

OSS 视频文件能宽高自适应吗

用户可以选择一边固定,比如宽,然后另外一边自适应不用填写。
image.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

分享阿里云支持与服务团队最佳实践、经典案例与故障排查。

官方博客
文档