转码是将视频码流转换成另一个视频码流的过程,是一种离线任务。通过转码,可以改变原始码流的编码格式、分辨率和码率等参数,从而适应不同终端和网络环境的播放。使用转码功能可以实现:
视频转码后,根据 结果获取 可以获得转码后视频播放的 URL。您可以使用自有播放器或第三方播放器,播放转码后的视频。
注意:转码功能主要适用于短视频的场景。对于长视频(视频网站、在线教育等),使用 转自适应码流 将为您和您的用户带来更好的体验。
转码的目标规格包含了编码格式、分辨率和码率等参数。云点播使用转码模板表示转码参数集合,通过转码模板,可以指定以下转码相关参数。
说明:更多音视频转码格式,请参见 转码支持格式。
分类 | 参数 | 说明 |
---|---|---|
封装 | ||
封装格式 |
可以转以下视频和纯音频封装格式:
|
|
删除视频流 | 如果开启“删除视频流”,转码出来的视频将不包含视频流(仅保留音频流) | |
删除音频流 | 如果开启“删除音频流”,转码出来的视频将不包含音频流(仅保留视频流) | |
视频编码 | 编码方式(Codec) | 支持 H.264 和 H.265 两种编码方式 |
码率(Bitrate) | 支持的视频码率范围:10kbps - 35Mbps | |
帧率(Frame Rate) | 支持的帧率范围:1fps - 60fps,常见的有24fps、25fps和30fps | |
分辨率(Resolution) |
|
|
GOP 长度 | 支持 GOP 长度范围:1秒 - 10秒 | |
编码档次(Profile) |
|
|
颜色空间(Color Space) | 支持 YUV420P | |
音频编码参数 | 编码方式(Codec) | 支持 MP3、AAC、AC3 和 FLAC 的编码方式 |
采样率(Sample Rate) |
支持下列音频采样率:
|
|
码率(Bitrate) |
支持码率在26kbps - 256kbps,包括:
|
|
声道(Channel) |
|
针对常见的转码规格,云点播提供了 预置转码模板。另外,您还可以通过控制台(具体操作请参见 模板设置)或调用 服务端 API 创建和管理自定义转码模板。
发起转码任务,有“通过服务端 API 直接发起”,“通过控制台直接发起”和“上传时指定要执行的任务”三种方式。具体请参照视频处理的 任务发起。
以下是各种方式发起转码任务的说明:
MediaProcessTask.TranscodeTaskSet
参数指定 转码模板 的模板 ID。procedure
参数指定为该任务流。procedure
指定该任务流。
发起转码任务后,您可以通过异步等待 结果通知 和同步进行 任务查询 两种方式获取转码的执行结果。下面是发起转码任务后,普通回调方式下结果通知的示例(省略了值为 null 的字段):
{
"EventType":"ProcedureStateChanged",
"ProcedureStateChangeEvent":{
"TaskId":"1256768367-Procedure-2e1af2456351812be963e309cc133403t0",
"Status":"FINISH",
"FileId":"5285890784246869930",
"FileName":"动物世界",
"FileUrl":"http://1256768367.vod2.myqcloud.com/xxx/xxx/AtUCmy6gmIYA.mp4",
"MetaData":{
"AudioDuration":60,
"AudioStreamSet":[
{
"Bitrate":383854,
"Codec":"aac",
"SamplingRate":48000
}
],
"Bitrate":1021028,
"Container":"mov,mp4,m4a,3gp,3g2,mj2",
"Duration":60,
"Height":480,
"Rotate":0,
"Size":7700180,
"VideoDuration":60,
"VideoStreamSet":[
{
"Bitrate":637174,
"Codec":"h264",
"Fps":23,
"Height":480,
"Width":640
}
],
"Width":640
},
"MediaProcessResultSet":[
{
"Type":"Transcode",
"TranscodeTask":{
"Status":"SUCCESS",
"ErrCode":0,
"Message":"",
"Input":{
"Definition":220
},
"Output":{
"Url":"http://1256768367.vod2.myqcloud.com/xxx/xxx/v.f20.m3u8",
"Size":63120997,
"Container":"mov,mp4,m4a,3gp,3g2,mj2",
"Height":480,
"Width":640,
"Bitrate":513402,
"Md5":"084d403c73930ca2f835679af1f37bd3",
"Duration":60,
"VideoStreamSet":[
{
"Bitrate":473101,
"Codec":"h264",
"Fps":24,
"Height":480,
"Width":640
}
],
"AudioStreamSet":[
{
"Bitrate":48581,
"Codec":"aac",
"SamplingRate":44100
}
],
"Definition":220
}
}
}
],
"TasksPriority":0,
"TasksNotifyMode":""
}
}
回调结果中,ProcedureStateChangeEvent.MediaProcessResultSet
有一个Type
为Transcode
类型的转码结果,Definition
为220。
本页内容是否解决了您的问题?