媒体转码是为多媒体数据提供的媒体处理服务。它以经济、易用、弹性和高可扩展的音视频转换方法,帮助您将存储于OSS的音视频转码成适合在PC、TV以及移动终端上播放的格式。
功能简介
功能包括:视频转码、视频转封装、视频转HLS、视频转动图、视频拼接、视频截图、视频截雪碧图、音频转码、音频提取、字幕提取、视频加水印,视频去台标,视频超分辨率等。
应用场景
终端覆盖、网络适配
转换媒体分辨率和码率,适应不同终端和网络环境播放。
高效编码、降低成本
在保证画质前提下,以高效编码算法,提质降码,减少播放卡顿并节省存储和流量费用。
智能生产、内容再造
利用视频AI和超分技术、媒体处理技术,实现低画质素材高清重生、视频水印、截图、剪辑等内容再造。
产品优势
对比项 | 阿里云转码 | 自建转码 |
转码能力 | 高速稳定的并行转码系统,按需动态调整转码资源,自动扩容/缩容,应对高并发转码需求无缝扩展集群资源。 | 难以支撑大规模高并发转码任务。 |
转码算法 | 强大的计算资源,先进的视频处理算法。 | 依赖开源转码服务。 |
功能 | 视频转码,视频转封装,视频转HLS,视频转动图,视频拼接,视频截图,视频截雪碧图,音频转码,音频提取,字幕提取等。 | 需要自行对接开源转码服务,从底层搭建转码服务。 |
支持音视频格式列表
分类 | 格式 |
音频 | AAC、MP3、WAV、FLAC、WMA、AC3、OPUS等多种音频格式。 |
视频 | MP4、MPEG-TS、MKV、MOV、AVI、FLV、M3U8、WebM、WMV、RM、VOB等多种视频格式。 |
前提条件
已创建并获取AccessKey。具体操作,请参见创建AccessKey。
已开通OSS服务、创建存储空间并上传文件到存储空间。具体操作,请参见控制台上传文件。
已开通智能媒体管理服务。具体操作,请参见开通产品。
已通过智能媒体管理控制台创建项目。具体操作,请参见创建项目。
说明您也可以调用API接口创建项目。具体操作,请参见CreateProject - 创建项目。
您可以调用ListProjects - 列出所有项目信息的列表接口列出指定地域下已创建的所有项目信息。
转码流程
将视频文件上传到OSS存储空间,创建媒体转码任务,任务执行成功后,转码后的文件存储在OSS中。
媒体转码
调用CreateMediaConvertTask - 创建媒体转码任务接口创建媒体转码任务。
任务开始执行后,任务信息只保存7天,超过7天则无法再获取。您可以通过以下几种方式及时获取任务信息:
调用GetTask - 获取任务信息或ListTasks - 列出任务接口获取返回的
TaskId
,查看任务信息。在与智能媒体管理相同的地域下开通MNS服务,并配置订阅关系,及时获取任务信息通知,异步通知消息格式请参见异步通知消息格式。关于MNS SDK的更多信息,请参见步骤四:接收和删除消息。
在与智能媒体管理相同的地域下开通RocketMQ服务,并创建RocketMQ 4.0实例、Topic、Group,及时获取任务信息通知,异步通知消息格式请参见异步通知消息格式。关于RocketMQ使用的更多信息,请参见调用HTTP协议的SDK收发普通消息。
在与智能媒体管理相同的地域下开通并接入事件总线EventBridge服务,及时获取任务信息通知。更多信息,请参见智能媒体管理IMM事件。
返回示例
{
"ProjectName": "test-project",
"DatasetName": "",
"RequestId": "A9E6C481-3A0F-06C4-94CD-EED91DE*****",
"StartTime": "2022-08-22T05:07:29.553Z",
"EndTime": "2022-08-22T05:07:53.661Z",
"UserData": "",
"TaskType": "MediaConvert",
"TaskId": "MediaConvert-f18efd3e-354a-4209-9ce2-e79476*****",
"Status": "Succeeded",
"Code": "",
"Message": "",
"Targets": [
{
"Code": "",
"Message": "",
"URI": "oss://bucket/test_convert.mp4",
"Subtitle": {
"Extract": {
"URI": "oss://bucket/DirtBaseExtractSubtitle"
}
},
"Image": {
"Sprites": [
{
"URI": "oss://bucket/DirtBaseImage_sprite0"
}
],
"Snapshots": [
{
"URI": "oss://bucket/DirtBaseImage_snapshot0"
}
]
}
}
]
}
FAQ
视频转码请求失败怎么办?
如遇视频转码请求失败,可以尝试设置TargetAudio.Codec参数为非copy后重试。详情见文档TargetAudio。
视频转码后文件为什么变大了?
视频转码后生成的文件比源文件大,原因主要是由于音视频转码为有损压缩,压缩算法允许输出更大的媒体文件,但是这样不会带来比源文件更好的图像/声音质量(只是损失的更小)。
如您需要控制输出文件大小,可以通过设置TargetVideo参数下的BitrateOption/Bitrate/CRF控制输出文件视频流的码率,或通过设置TargetAudio参数下的BitrateOption/Bitrate/Quality控制输出文件音频流的码率。
视频转码任务是否支持取消?
不支持取消。
视频转码后方向不对,如何调整转码后视频方向?
视频处理参数配置TargetVideo中可以设置Codec为非copy,AdaptiveResolutionDirection为true,可开启自适应分辨率方向。
视频转码如何固定码率,只设置bitrate参数为什么无法进行固定码率转码?
参数TargetVideo中,目前比特率
bitrate
设置的是vbr,不支持cbr。vbr跟cbr区别不大,差异主要在瞬时码率上,如果有需求可以通过设置maxbitrate
参数。
如何获取转码成功后的视频的播放时长?
要获取转码成功后的视频播放时长,可通过DetectMediaMeta - 获取媒体文件元信息接口获取,或者使用x-oss-process的video/info参数进行获取,参考文档视频信息提取。
调用IMM CreateMediaConvertTask接口是否支持RocketMQ 5.0?
暂不支持,目前支持RocketMQ 4.0。