1. 接口描述
接口请求域名: cme.tencentcloudapi.com 。
创建多媒体创作引擎项目,目前支持的项目类型有:
视频剪辑项目:用于普通视频剪辑;
直播剪辑项目:用于直播流剪辑;
导播台项目:用于云导播台;
视频拆条:用于视频拆条;
录制回放项目:用于直播录制回放;
云转推项目:用于直播云转推(废弃,可使用媒体转推项目替代);
媒体转推项目:用于媒体文件转直播输出。
默认接口请求频率限制:20次/秒。
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 |
必选 |
类型 |
描述 |
Action |
是 |
String |
公共参数,本接口取值:CreateProject。 |
Version |
是 |
String |
公共参数,本接口取值:2019-10-29。 |
Region |
否 |
String |
公共参数,本接口不需要传递此参数。 |
Platform |
是 |
String |
平台 Id,指定访问的平台。平台概念,请参见文档 平台。 示例值:1000000009 |
Name |
是 |
String |
项目名称,不可超过30个字符。 示例值:新建项目 |
Owner |
是 |
Entity |
项目归属者,即项目的所有者,后续操作只有该所有者有权限操作。
注:目前所有项目只能设置归属个人,暂不支持团队项目。 |
Category |
是 |
String |
项目类别,取值有: VIDEO_EDIT:视频编辑。SWITCHER:导播台。VIDEO_SEGMENTATION:视频拆条。STREAM_CONNECT:云转推。RECORD_REPLAY:录制回放。MEDIA_CAST:媒体转推。 示例值:VIDEO_EDIT |
Mode |
否 |
String |
项目模式,一个项目可以有多种模式并相互切换。 当 Category 为 VIDEO_EDIT 时,可选模式有: Default:默认模式,即普通视频编辑项目。VideoEditTemplate:剪辑模板制作模式,用于制作剪辑模板。
注:不填则为默认模式。 示例值:Default |
AspectRatio |
否 |
String |
画布宽高比。 该字段已经废弃,请使用具体项目输入中的 AspectRatio 字段。 示例值:16:9 |
Description |
否 |
String |
项目描述信息。 示例值:新建 |
SwitcherProjectInput |
否 |
SwitcherProjectInput |
导播台项目输入信息,仅当项目类型为 SWITCHER 时必填。 |
LiveStreamClipProjectInput |
否 |
LiveStreamClipProjectInput |
直播剪辑项目输入信息,暂未开放,请勿使用。 |
VideoEditProjectInput |
否 |
VideoEditProjectInput |
视频编辑项目输入信息,仅当项目类型为 VIDEO_EDIT 时必填。 |
VideoSegmentationProjectInput |
否 |
VideoSegmentationProjectInput |
视频拆条项目输入信息,仅当项目类型为 VIDEO_SEGMENTATION 时必填。 |
StreamConnectProjectInput |
否 |
StreamConnectProjectInput |
云转推项目输入信息,仅当项目类型为 STREAM_CONNECT 时必填。 |
RecordReplayProjectInput |
否 |
RecordReplayProjectInput |
录制回放项目输入信息,仅当项目类型为 RECORD_REPLAY 时必填。 |
MediaCastProjectInput |
否 |
MediaCastProjectInput |
媒体转推项目输入信息,仅当项目类型为 MEDIA_CAST 时必填。 |
3. 输出参数
参数名称 |
类型 |
描述 |
ProjectId |
String |
项目 Id。 示例值:60336ab29997a500019xxx |
RtmpPushInputInfoSet |
Array of RtmpPushInputInfo |
当 Catagory 为 STREAM_CONNECT 时,数组返回长度为2 ,第0个代表主输入源推流信息,第1个代表备输入源推流信息。只有当各自输入源类型为推流时才有有效内容。 |
RequestId |
String |
唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 创建普通剪辑项目
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateProject
<公共请求参数>
{
"Category": "VIDEO_EDIT",
"Platform": "1000000009",
"Owner": {
"Type": "PERSON",
"Id": "user_id_61978823e6a253000100fb0f"
},
"Name": "first_project",
"AspectRatio": "16:9"
}
输出示例
{
"Response": {
"ProjectId": "cmepid_5f16967b64436100015fb025",
"RtmpPushInputInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例2 创建一个导播台项目
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateProject
<公共请求参数>
{
"Category": "SWITCHER",
"Platform": "1000000009",
"Owner": {
"Type": "PERSON",
"Id": "user_id_61978823e6a253000100fb0f"
},
"Name": "导播台",
"SwitcherProjectInput": {
"PgmOutputConfig": {
"TemplateId": "10001"
}
}
}
输出示例
{
"Response": {
"ProjectId": "3f1699f3f97b9f0001920f29",
"RtmpPushInputInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5c"
}
}
示例3 使用初始轨道创建项目
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateProject
<公共请求参数>
{
"Category": "VIDEO_EDIT",
"Platform": "1000000009",
"Owner": {
"Type": "PERSON",
"Id": "user_id_61978823e6a253000100fb0f"
},
"Name": "视频剪辑项目并初始化轨道",
"VideoEditProjectInput": {
"InitTracks": [
{
"TrackItems": [
{
"Type": "Video",
"VideoItem": {
"Duration": "10",
"SourceMedia": "52858908113623182311",
"SourceMediaStartTime": "0",
"SourceType": "VOD"
}
}
],
"Type": "Video"
}
],
"AspectRatio": "16:9"
}
}
输出示例
{
"Response": {
"ProjectId": "3f1699f3f97b9f0001920f31",
"RtmpPushInputInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e6a"
}
}
示例4 使用剪辑模板创建项目
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateProject
<公共请求参数>
{
"Category": "VIDEO_EDIT",
"Platform": "1000000009",
"Owner": {
"Type": "PERSON",
"Id": "user_id_61978823e6a253000100fb0f"
},
"Name": "剪辑模板项目",
"VideoEditProjectInput": {
"AspectRatio": "16:9",
"VideoEditTemplateId": "61385efc24827f05859d3765@Public@CME"
}
}
输出示例
{
"Response": {
"ProjectId": "3f1699f3f97b9f0001920f30",
"RtmpPushInputInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5a"
}
}
示例5 创建一个云转推项目,初始化输入源为直播拉流
云转推项目初始化输入输出源
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateProject
<公共请求参数>
{
"Category": "STREAM_CONNECT",
"Platform": "1000000009",
"Owner": {
"Type": "PERSON",
"Id": "user_id_61978823e6a253000100fb0f"
},
"Name": "stream_connect",
"StreamConnectProjectInput": {
"MainInput": {
"LivePullInputInfo": {
"InputUrl": "rtmp://liveplay.video-studio.myqcloud.com/output/1250000001-600e8e7fb1cc1c0001293759"
},
"InputType": "LivePull"
},
"Outputs": [
{
"PushUrl": "rtmp://livepush.video-studio.myqcloud.com/output/1250000001-600e8e66194ef500012d9b08"
}
]
}
}
输出示例
{
"Response": {
"ProjectId": "3f1699f3f97b9f0001920f29",
"RtmpPushInputInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例6 创建一个云转推项目,初始化输入源为直播推流
云转推项目初始化输入输出源
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateProject
<公共请求参数>
{
"Category": "STREAM_CONNECT",
"Platform": "1000000009",
"Owner": {
"Type": "PERSON",
"Id": "user_id_61978823e6a253000100fb0f"
},
"Name": "云转推",
"StreamConnectProjectInput": {
"MainInput": {
"InputType": "RtmpPush",
"RtmpPushInputInfo": {
"ExpiredSecond": "3600"
}
},
"Outputs": [
{
"PushUrl": "rtmp://livepush.video-studio.myqcloud.com/output/1250000001-600e8e66194ef500012d9b08"
}
]
}
}
输出示例
{
"Response": {
"ProjectId": "3f1699f3f97b9f0001920f29",
"RtmpPushInputInfoSet": [
{
"ExpiredSecond": 3600,
"PushUrl": "rtmp://livepush-xx.video-studio.myqcloud.com/output/1250000001-6086674e265b450001837f8e?txSecret=4478cfdfe0fd0eb3820705aebaa328xx&txTime=608FA1CE"
},
{
"ExpiredSecond": 0,
"PushUrl": ""
}
],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e5x"
}
}
示例7 创建一个点播转直播项目,播放一次,输出视频的帧率为25帧,码率为2500K,视频大小为1920*1080。
输入示例
POST / HTTP/1.1
Host: cme.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateProject
<公共请求参数>
{
"Category": "MEDIA_CAST",
"Platform": "1000000009",
"Owner": {
"Type": "PERSON",
"Id": "user_id_61978823e6a253000100fb0f"
},
"Name": "点播转直播项目",
"MediaCastProjectInput": {
"PlaySetting": {
"LoopCount": "1"
},
"OutputMediaSetting": {
"VideoSetting": {
"Width": "1920",
"FrameRate": "25",
"Bitrate": "2500",
"Height": "1080"
}
},
"SourceInfos": [
{
"Type": "VOD",
"FileId": "122"
},
{
"Type": "CME",
"MaterialId": "aaa12323"
}
],
"DestinationInfos": [
{
"PushUrl": "rtmp://livetest.com/live/a?t=11",
"Name": "media_name"
}
]
}
}
输出示例
{
"Response": {
"ProjectId": "3f1699f3f97b9f0001920f31",
"RtmpPushInputInfoSet": [],
"RequestId": "c44cbb5b-b809-4061-8c45-7469b64e8e6a"
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 |
描述 |
FailedOperation.CreateRecordTask |
创建录制任务失败。 |
FailedOperation.RecordNotSupport |
直播录制功能暂未对使用腾讯云点播存储的平台开放。 |
InvalidParameter |
参数错误。 |
InvalidParameterValue |
参数取值错误。 |
InvalidParameterValue.AspectRatio |
画布宽高比不合法。 |
InvalidParameterValue.Category |
项目类别不合法。 |
InvalidParameterValue.ExternalMediaInfoNotExist |
原始媒资信息不存在。 |
InvalidParameterValue.MaterialId |
媒体 ID 无效。 |
InvalidParameterValue.Name |
名称字段编辑错误,需使用 UTF8 编码。 |
InvalidParameterValue.NameLenLimt |
名称字段长度超长,限制 30 个中文字符。 |
InvalidParameterValue.OwnerId |
归属者 ID 不合法。 |
InvalidParameterValue.OwnerType |
归属者类型不合法。 |
InvalidParameterValue.Platform |
平台参数取值错误。 |
InvalidParameterValue.SwitcherProjectInput |
导播台项目输入信息无效。 |
InvalidParameterValue.TrackItem |
轨道元素无效。 |
InvalidParameterValue.VodSubAppid |
绑定的点播子应用无效。 |
OperationDenied.PermissionDeny |
权限不足,请检查对应操作者的权限。 |
ResourceNotFound |
资源不存在。 |
ResourceNotFound.Platform |
平台不存在。 |
UnauthorizedOperation |
未授权操作。 |