控制台指南

最佳实践

开发者指南

API 文档

SDK 文档

提交转码任务

最近更新时间:2022-03-16 18:54:24

功能描述

CreateMediaJobs 用于提交一个任务。

请求

请求示例

POST /jobs HTTP/1.1
Host: <BucketName-APPID>.ci.<Region>.myqcloud.com
Date: <GMT Date>
Authorization: <Auth String>
Content-Length: <length>
Content-Type: application/xml

<body>

说明:

Authorization: Auth String (详情请参见 请求签名 文档)。

请求头

此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。

请求体

该请求操作的实现需要有如下请求体。

<Request>
  <Tag>Transcode</Tag>
  <Input>
    <Object></Object>
  </Input>
  <Operation>
    <TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
    <Output>
      <Region></Region>
      <Bucket></Bucket>
      <Object></Object>
    </Output>
  </Operation>
  <QueueId></QueueId>
  <CallBack></CallBack>
</Request>

具体的数据描述如下:

节点名称(关键字) 父节点 描述 类型 是否必选
Request 保存请求的容器 Container

Container 类型 Request 的具体数据描述如下:

节点名称(关键字) 父节点 描述 类型 是否必选
Tag Request 创建任务的Tag:Transcode(转码)、Animation(动图)、SmartCover(智能封面)、Snapshot(截图)、Concat(拼接) String
Input Request 待操作的媒体信息 Container
Operation Request 操作规则,支持对单个文件执行多个不同任务,最多可填写6个 Container
QueueId Request 任务所在的队列 ID String
CallBack Request 回调地址 String

Container 类型 Input 的具体数据描述如下:

节点名称(关键字) 父节点 描述 类型 是否必选
Object Request.Input 媒体文件名 String

Container 类型 Operation 的具体数据描述如下:

节点名称(关键字) 父节点 描述 类型 是否必选
Transcode Request.Operation 指定转码模板参数 Container
Watermark Request.Operation 指定水印模板参数,同创建水印模板 CreateMediaTemplate
接口的 Request.Watermark
Container
RemoveWatermark Request.Operation 指定去除水印参数 Container
DigitalWatermark Request.Operation 指定数字水印参数 Container
TemplateId Request.Operation 指定的模板 ID String
WatermarkTemplateId Request.Operation 指定的水印模板 ID,可以传多个水印模板 ID String
Output Request.Operation 结果输出地址 Container
注意:

优先使用 TemplateId,无 TemplateId 时使用对应任务类型的参数。

Container 类型 Transcode 的具体数据描述如下:

节点名称(关键字) 父节点 描述 类型 是否必选
Container Request.Operation.Transcode 同创建转码模板 CreateMediaTemplate
接口中的 Request.Container
Container
Video Request.Operation.Transcode 同创建转码模板 CreateMediaTemplate
接口中的 Request.Video
Container
TimeInterval Request.Operation.Transcode 同创建转码模板 CreateMediaTemplate
接口中的 Request.TimeInterval
Container
Audio Request.Operation.Transcode 同创建转码模板 CreateMediaTemplate
接口中的 Request.Audio
Container
TransConfig Request.Operation.Transcode 同创建转码模板 CreateMediaTemplate
接口中的 Request.TransConfig
Container

Container 类型 RemoveWatermark 的具体数据描述如下:

节点名称(关键字) 父节点 描述 类型 必选
Dx Request.Operation.RemoveWatermark 距离左上角原点 x 偏移,范围为[1, 4096] string
Dy Request.Operation.RemoveWatermark 距离左上角原点 y 偏移,范围为[1, 4096] string
Width Request.Operation.RemoveWatermark 宽,范围为[1, 4096] string
Height Request.Operation.RemoveWatermark 高,范围为[1, 4096] string

Container 类型 DigitalWatermark 的具体数据描述如下:

节点名称(关键字) 父节点 描述 类型 必选
Message Request.Operation.DigitalWatermark 数字水印嵌入的字符串信息,长度不超过64个字符,仅支持中文、英文、数字、_、-和* string
Type Request.Operation.DigitalWatermark 水印类型,当前仅可设置为 Text String
Version Request.Operation.DigitalWatermark 水印版本,当前仅可设置为 V1 String
IgnoreError Request.Operation.DigitalWatermark 当添加水印失败是否忽略错误继续执行任务,限制为 true/false,默认为false string

Container 类型 Output 的具体数据描述如下:

节点名称(关键字) 父节点 描述 类型 是否必选
Region Request.Operation.Output 存储桶的地域 String
Bucket Request.Operation.Output 存储结果的存储桶 String
Object Request.Operation.Output 输出结果的文件名 String

响应

响应头

此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

响应体

该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:

<Response>
  <JobsDetail>
    <Code></Code>
    <Message></Message>
    <JobId></JobId>
    <State></State>
    <Progress></Progress>
    <CreationTime></CreationTime>
    <EndTime></EndTime>
    <QueueId></QueueId>
    <Tag>Transcode</Tag>
    <Input>
      <Object></Object>
    </Input>
    <Operation>
      <TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
      <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe22</WatermarkTemplateId>
      <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe23</WatermarkTemplateId>
      <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe24</WatermarkTemplateId>
      <DigitalWatermark>
        <Type>Text</Type>
        <Message>123456789ab</Message>
        <Version>V1</Version>
        <IgnoreError>false</IgnoreError>
      </DigitalWatermark>
      <Output>
        <Region></Region>
        <Bucket></Bucket>
        <Object></Object>
      </Output>
      <MediaInfo>
      </MeidaInfo>
    </Operation>
  </JobsDetail>
</Response>

具体的数据内容如下:

节点名称(关键字) 父节点 描述 类型
Response 保存结果的容器 Container

Container 节点 Response 的内容:

节点名称(关键字) 父节点 描述 类型
JobsDetail Response 任务的详细信息 Container

Container 节点 JobsDetail 的内容:

节点名称(关键字) 父节点 描述 类型
Code Response.JobsDetail 错误码,只有 State 为 Failed 时有意义 String
Message Response.JobsDetail 错误描述,只有 State 为 Failed 时有意义 String
JobId Response.JobsDetail 新创建任务的 ID String
Tag Response.JobsDetail 新创建任务的 Tag:Transcode(转码)、Animation(动图)、SmartCover(智能封面)、Snapshot(截图)、Concat(拼接) String
State Response.JobsDetail 任务的状态,为 Submitted、Running、Success、Failed、Pause、Cancel 其中一个 String
Progress Response.JobsDetail 任务进度百分比,只有在State为 Submitted、Running、Success、Pause 时有意义,范围为[0, 100] String
CreationTime Response.JobsDetail 任务的创建时间 String
StartTime Response.JobsDetail 任务的开始时间 String
EndTime Response.JobsDetail 任务的结束时间 String
QueueId Response.JobsDetail 任务所属的队列 ID String
Input Response.JobsDetail 该任务的输入资源地址 Container
Operation Response.JobsDetail 该任务的规则,支持对单个文件执行多个不同任务,最多可填写6个 Container

Container 节点 Input 的内容:
同请求中的 Request.Input 节点。

Container 节点 Operation 的内容:

节点名称(关键字) 父节点 描述 类型
TemplateId Response.JobsDetail.Operation 任务的模版 ID String
Output Response.JobsDetail.Operation 文件的输出地址 Container
DigitalWatermark Request.Operation 指定数字水印参数 Container
MediaInfo Response.JobsDetail.Operation 转码输出视频的信息,没有时不返回 Container

Container 节点 Output 的内容:
同请求中的 Request.Operation.Output 节点。

Container 节点 MediaInfo 的内容:
GenerateMediaInfo 接口中的 Response.MediaInfo 节点。

Container 类型 DigitalWatermark 的具体数据描述如下:

节点名称(关键字) 父节点 描述 类型
Message Response.Operation.DigitalWatermark 成功嵌入视频的数字水印的字符串信息,长度不超过64个字符,仅支持中文、英文、数字、_、-和* string
Type Response.Operation.DigitalWatermark 水印类型,当前仅可设置为 Text String
Version Response.Operation.DigitalWatermark 水印版本,当前仅可设置为 V1 String
IgnoreError Response.Operation.DigitalWatermark 当添加水印失败是否忽略错误继续执行任务,限制为 true/false,默认false string
State Response.Operation.DigitalWatermark 添加水印是否成功,执行中为Running,成功为 Success,失败为 Failed string

错误码

该请求操作无特殊错误信息,常见的错误信息请参见 错误码 文档。

实际案例

请求1:使用转码模板 ID

POST /jobs HTTP/1.1
Authorization: q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0a1ICvR****&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0ea057
Host: examplebucket-1250000000.ci.ap-beijing.myqcloud.com
Content-Length: 166
Content-Type: application/xml



<Request>
  <Tag>Transcode</Tag>
  <Input>
    <Object>test.mp4</Object>
  </Input>
  <Operation>
    <TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
    <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe22</WatermarkTemplateId>
    <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe23</WatermarkTemplateId>
    <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe24</WatermarkTemplateId>
    <Output>
        <Region>ap-beijing</Region>
        <Bucket>examplebucket-1250000000</Bucket>
        <Object>test-trans.mkv</Object>
    </Output>
    <RemoveWatermark>
        <Dx>128</Dx>
        <Dy>128</Dy>
        <Width>256</Width>
        <Height>256</Height>
    </RemoveWatermark>
  </Operation>
  <QueueId>p893bcda225bf4945a378da6662e81a89</QueueId>
  <CallBack>https://www.callback.com</CallBack>
</Request>

响应1

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 230
Connection: keep-alive
Date: Thu, 15 Jun 2017 12:37:29 GMT
Server: tencent-ci
x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****



<Response>
  <JobsDetail>
    <Code>Success</Code>
    <Message>Success</Message>
    <JobId>je8f65004eb8511eaaed4f377124a303c</JobId>
    <State>Submitted</State>
    <Progress>0</Progress>
    <CreationTime>2019-07-07T12:12:12+0800</CreationTime>
    <EndTime></EndTime>
    <QueueId>p893bcda225bf4945a378da6662e81a89</QueueId>
    <Tag>Transcode</Tag>
    <Input>
      <Object>test.mp4</Object>
    </Input>
    <Operation>
        <TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
        <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe22</WatermarkTemplateId>
        <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe23</WatermarkTemplateId>
        <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe24</WatermarkTemplateId>
        <DigitalWatermark>
          <Type>Text</Type>
          <Message>123456789ab</Message>
          <Version>V1</Version>
          <IgnoreError>false</IgnoreError>
        </DigitalWatermark>
        <Output>
            <Region>ap-beijing</Region>
            <Bucket>examplebucket-1250000000</Bucket>
            <Object>test-trans.mkv</Object>
        </Output>
        <RemoveWatermark>
            <Dx>128</Dx>
            <Dy>128</Dy>
            <Width>256</Width>
            <Height>256</Height>
        </RemoveWatermark>
    </Operation>
  </JobsDetail>
</Response>

请求2:使用转码处理参数

POST /jobs HTTP/1.1
Authorization:q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0a1ICvR****&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0ea057
Host: examplebucket-1250000000.ci.ap-beijing.myqcloud.com
Content-Length: 166
Content-Type: application/xml



<Request>
  <Tag>Transcode</Tag>
  <Input>
    <Object>test.mp4</Object>
  </Input>
  <Operation>
    <Transcode>
        <Container>
            <Format>mp4</Format>
        </Container>
        <Video>
            <Codec>H.264</Codec>
            <Profile>high</Profile>
            <Bitrate>1000</Bitrate>
            <Crf></Crf>
            <Width>1280</Width>
            <Height></Height>
            <Fps>30</Fps>
            <Gop></Gop>
            <Preset>medium</Preset>
            <ScanMode></ScanMode>
            <Bufsize>0</Bufsize>
            <Maxrate>0</Maxrate>
        </Video>
        <Audio>
            <Codec>aac</Codec>
            <Samplerate>44100</Samplerate>
            <Bitrate>128</Bitrate>
            <Channels>4</Channels>
        </Audio>
        <TransConfig>
            <AdjDarMethod>rescale</AdjDarMethod>
            <IsCheckReso>false</IsCheckReso>
            <ResoAdjMethod>1</ResoAdjMethod>
        </TransConfig>
        <TimeInterval>
            <Start>0</Start>
            <Duration>60</Duration>
        </TimeInterval>
    </Transcode>
    <Watermark>
        <Type>Text</Type>
        <LocMode>Absolute</LocMode>
        <Dx>128</Dx>
        <Dy>128</Dy>
        <Pos>TopRight</Pos>
        <StartTime>0</StartTime>
        <EndTime>100.5</EndTime>
        <Text>
            <Text>水印内容</Text>
            <FontSize>30</FontSize>
            <FontType></FontType>
            <FontColor>0xRRGGBB</FontColor>
            <Transparency>30</Transparency>
        </Text>
    </Watermark>
    <Watermark>
        <Type>Image</Type>
        <LocMode>Absolute</LocMode>
        <Dx>128</Dx>
        <Dy>128</Dy>
        <Pos>TopRight</Pos>
        <StartTime>0</StartTime>
        <EndTime>100.5</EndTime>
        <Image>
            <Url>http://examplebucket-1250000000.ci.ap-beijing.myqcloud.com/shuiyin_2.png</Url>
            <Mode>Proportion</Mode>
            <Width>10</Width>
            <Height>10</Height>
            <Transparency>30</Transparency>
        </Image>
    </Watermark>
    <DigitalWatermark>
        <State>Success</State>
        <Type>Text</Type>
        <Message>123456789ab</Message>
        <Version>V1</Version>
        <IgnoreError>false</IgnoreError>
    </DigitalWatermark>
    <Output>
      <Region>ap-beijing</Region>
      <Bucket>examplebucket-1250000000</Bucket>
      <Object>test-trans.gif</Object>
    </Output>
  </Operation>
  <QueueId>p893bcda225bf4945a378da6662e81a89</QueueId>
  <CallBack>https://www.callback.com</CallBack>
</Request>

响应2

HTTP/1.1 200 OK
Content-Type: application/xml
Content-Length: 230
Connection: keep-alive
Date: Thu, 15 Jun 2017 12:37:29 GMT
Server: tencent-ci
x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****



<Response>
  <JobsDetail>
    <Code>Success</Code>
    <Message>Success</Message>
    <JobId>jabcxxxxfeipplsdfwe</JobId>
    <State>Submitted</State>
    <Progress>0</Progress>
    <CreationTime>2019-07-07T12:12:12+0800</CreationTime>
    <StartTime></StartTime>
    <EndTime></EndTime>
    <QueueId>p893bcda225bf4945a378da6662e81a89</QueueId>
    <Tag>Transcode</Tag>
    <Input>
      <Object>test.mp4</Object>
    </Input>
    <Operation>
        <Transcode>
            <Container>
                <Format>mp4</Format>
            </Container>
            <Video>
                <Codec>H.264</Codec>
                <Profile>high</Profile>
                <Bitrate>1000</Bitrate>
                <Crf></Crf>
                <Width>1280</Width>
                <Height></Height>
                <Fps>30</Fps>
                <Gop></Gop>
                <Preset>medium</Preset>
                <ScanMode></ScanMode>
                <Bufsize>0</Bufsize>
                <Maxrate>0</Maxrate>
            </Video>
            <Audio>
                <Codec>aac</Codec>
                <Samplerate>44100</Samplerate>
                <Bitrate>128</Bitrate>
                <Channels>4</Channels>
            </Audio>
            <TransConfig>
                <AdjDarMethod>rescale</AdjDarMethod>
                <IsCheckReso>false</IsCheckReso>
                <ResoAdjMethod>1</ResoAdjMethod>
            </TransConfig>
            <TimeInterval>
                <Start>0</Start>
                <Duration>60</Duration>
            </TimeInterval>
        </Transcode>
        <Watermark>
            <Type>Text</Type>
            <LocMode>Absolute</LocMode>
            <Dx>128</Dx>
            <Dy>128</Dy>
            <Pos>TopRight</Pos>
            <StartTime>0</StartTime>
            <EndTime>100.5</EndTime>
            <Text>
                <Text>水印内容</Text>
                <FontSize>30</FontSize>
                <FontType></FontType>
                <FontColor>0xRRGGBB</FontColor>
                <Transparency>30</Transparency>
            </Text>
        </Watermark>
        <Watermark>
            <Type>Image</Type>
            <LocMode>Absolute</LocMode>
            <Dx>128</Dx>
            <Dy>128</Dy>
            <Pos>TopRight</Pos>
            <StartTime>0</StartTime>
            <EndTime>100.5</EndTime>
            <Image>
                <Url>http://examplebucket-1250000000.ci.ap-beijing.myqcloud.com/shuiyin_2.png</Url>
                <Mode>Proportion</Mode>
                <Width>10</Width>
                <Height>10</Height>
                <Transparency>30</Transparency>
            </Image>
        </Watermark>
        <DigitalWatermark>
          <State>Success</State>
          <Type>Text</Type>
          <Message>123456789ab</Message>
          <Version>V1</Version>
          <IgnoreError>false</IgnoreError>
          </DigitalWatermark>
        <Output>
            <Region>ap-beijing</Region>
            <Bucket>examplebucket-1250000000</Bucket>
            <Object>test-trans.mp4</Object>
        </Output>
    </Operation>
  </JobsDetail>
</Response>

目录