创建项目

最近更新时间:2024-04-03 11:14:22

我的收藏

1. 接口描述

接口请求域名: cme.tencentcloudapi.com 。

创建多媒体创作引擎项目,目前支持的项目类型有:

  • 视频剪辑项目:用于普通视频剪辑;
  • 直播剪辑项目:用于直播流剪辑;
  • 导播台项目:用于云导播台;
  • 视频拆条:用于视频拆条;
  • 录制回放项目:用于直播录制回放;
  • 云转推项目:用于直播云转推(废弃,可使用媒体转推项目替代)
  • 媒体转推项目:用于媒体文件转直播输出。
  • 默认接口请求频率限制:20次/秒。

    推荐使用 API Explorer
    点击调试
    API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

    2. 输入参数

    以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

    参数名称 必选 类型 描述
    Action String 公共参数,本接口取值:CreateProject。
    Version String 公共参数,本接口取值:2019-10-29。
    Region String 公共参数,本接口不需要传递此参数。
    Platform String 平台 Id,指定访问的平台。平台概念,请参见文档 平台
    示例值:test
    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:剪辑模板制作模式,用于制作剪辑模板。


  • 注:不填则为默认模式。
    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": "test",
        "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": "test",
        "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": "test",
        "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": "test",
        "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": "test",
        "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": "test",
        "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": "test",
        "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": "test"
                }
            ]
        }
    }

    输出示例

    {
        "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 未授权操作。