tencent cloud

Feedback

Submitting Video Transcoding Job

Last updated: 2022-10-09 14:27:35

    Feature Description

    This API is used to submit a transcoding job.

    API Explorer is recommended.
    Click to debug
    Tencent Cloud API Explorer provides various capabilities such as online call, signature verification, SDK code generation, and quick API search. You can also use it to query the request and response of each API call as well as generate sample code for calls.

    Request

    Sample request

    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>
    
    Note:

    • Authorization: Auth String (for more information, see Request Signature).
    • When this feature is used by a sub-account, relevant permissions must be granted.

    Request headers

    This API only uses common request headers. For more information, see Common Request Headers.

    Request body

    This request requires the following request body:

    <Request>
      <Tag>Transcode</Tag>
      <Input>
          <Object>input/demo.mp4</Object>
      </Input>
      <Operation>
          <TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
          <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe22</WatermarkTemplateId>
          <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe23</WatermarkTemplateId>
          <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe24</WatermarkTemplateId>
          <RemoveWatermark>
              <Dx>150</Dx>
              <Dy>150</Dy>
              <Width>75</Width>
              <Height>75</Height>
          </RemoveWatermark>
          <DigitalWatermark>
              <Type>Text</Type>
              <Message>123456789ab</Message>
              <Version>V1</Version>
              <IgnoreError>false</IgnoreError>
          </DigitalWatermark>
          <Output>
              <Region>ap-chongqing</Region>
              <Bucket>test-123456789</Bucket>
              <Object>output/out.mp4</Object>
          </Output>
          <UserData>This is my data.</UserData>
      </Operation>
      <QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
      <CallBack>http://callback.demo.com</CallBack>
      <CallBackFormat>JSON<CallBackFormat>
    </Request>
    

    The nodes are described as follows:

    Node Name (Keyword) Parent Node Description Type Required
    Request None Request container Container Yes

    Request has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    Tag Request Job type: Transcode String Yes
    Input Request Information of the media file to be processed Container Yes
    Operation Request Operation rule Container Yes
    QueueId Request Queue ID of the job String Yes
    CallBack Request Job callback address, which has a higher priority than that of the queue. If it is set to no, no callbacks will be generated at the callback address of the queue. String No
    CallBackFormat Request Job callback format, which can be JSON or XML (default value). It has a higher priority than that of the queue. String No

    Input has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    Object Request.Input Media filename String Yes


    Operation has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    TemplateId Request.Operation Template ID String No
    Transcode Request.Operation Transcoding template parameter Container No
    WatermarkTemplateId Request.Operation Watermark template ID. Multiple watermark template IDs can be passed in. String No
    Watermark Request.Operation Watermark template parameter. Same as Request.Watermark in the watermark template creation API CreateMediaTemplate. Container No
    RemoveWatermark Request.Operation Whether to remove the watermark Container No
    DigitalWatermark Request.Operation Specifies the digital watermark parameter Container No
    Output Request.Operation Result output address Container Yes
    UserData Request.Operation The user information passed through, which is printable ASCII codes of up to 1,024 in length. String No
    Note:

    For the transcoding parameter, TemplateId is used first, and if TemplateId is unavailable, Transcode is used. For the watermark parameter, WatermarkTemplateId or Watermark can be used for configuration, and WatermarkTemplateId is used first.

    Transcode has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    TimeInterval Request.Operation.Transcode Same as Request.TimeInterval in the transcoding template creation API CreateMediaTemplate. Container Yes
    Container Request.Operation.Transcode Same as Request.Container in the transcoding template creation API CreateMediaTemplate. Container No
    Video Request.Operation.Transcode Same as Request.Video in the transcoding template creation API CreateMediaTemplate. Container No
    Audio Request.Operation.Transcode Same as Request.Audio in the transcoding template creation API CreateMediaTemplate. Container No
    TransConfig Request.Operation.Transcode Same as Request.TransConfig in the transcoding template creation API CreateMediaTemplate. Container No

    RemoveWatermark has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    Dx Request.Operation.RemoveWatermark x-axis offset of the origin in the top-left corner. Value range: [1, 4096] string Yes
    Dy Request.Operation.RemoveWatermark y-axis offset of the origin in the top-left corner. Value range: [1, 4096] string Yes
    Width Request.Operation.RemoveWatermark Width. Value range: [1, 4096] string Yes
    Height Request.Operation.RemoveWatermark Height. Value range: [1, 4096] string Yes

    DigitalWatermark has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    Message Request.Operation.DigitalWatermark The string embedded by the digital watermark, which can contain up to 64 letters, digits, underscores (_), hyphens (-), and asterisks (*) string Yes
    Type Request.Operation.DigitalWatermark Watermark type, which currently can be set to Text only String Yes
    Version Request.Operation.DigitalWatermark Watermark version, which currently can be set to V1 only String Yes
    IgnoreError Request.Operation.DigitalWatermark Whether to ignore the watermarking failure and continue the job. Valid values: true, false (default value). string Yes

    Output has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    Region Request.Operation.Output Bucket region String Yes
    Bucket Request.Operation.Output Result storage bucket String Yes
    Object Request.Operation.Output Output result filename String Yes

    Response

    Response headers

    This API only returns common response headers. For more information, see Common Response Headers.

    Response body

    The response body returns application/xml data. The following contains all the nodes:

    <Response>
      <JobsDetail>
          <Code>Success</Code>
          <Message/>
          <JobId>j8d121820f5e411ec926ef19d53ba9c6f</JobId>
          <State>Submitted</State>
          <Progress>0</Progress>
          <CreationTime>2022-06-27T15:23:10+0800</CreationTime>
          <StartTime>-</StartTime>
          <EndTime>-</EndTime>
          <QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
          <Tag>Transcode</Tag>
          <Input>
              <BucketId>test-123456789</BucketId>
              <Object>input/demo.mp4</Object>
              <Region>ap-chongqing</Region>
          </Input>
          <Operation>
              <TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
              <TemplateName>trans_993874</TemplateName>
              <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe22</WatermarkTemplateId>
              <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe23</WatermarkTemplateId>
              <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe24</WatermarkTemplateId>
              <RemoveWatermark>
                  <Dx>150</Dx>
                  <Dy>150</Dy>
                  <Width>75</Width>
                  <Height>75</Height>
              </RemoveWatermark>
              <DigitalWatermark>
                  <Type>Text</Type>
                  <Message>123456789ab</Message>
                  <Version>V1</Version>
                  <IgnoreError>false</IgnoreError>
                  <State>Running</State>
              </DigitalWatermark>
              <Output>
                  <Region>ap-chongqing</Region>
                  <Bucket>test-123456789</Bucket>
                  <Object>output/out.mp4</Object>
              </Output>
              <UserData>This is my data.</UserData>
          </Operation>
      </JobsDetail>
    </Response>
    

    The nodes are as described below:

    Node Name (Keyword) Parent Node Description Type
    Response None Response container Container

    Response has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type
    JobsDetail Response Job details Container


    JobsDetail has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type
    Code Response.JobsDetail Error code, which is returned only if State is Failed String
    Message Response.JobsDetail Error message, which is returned only if State is Failed String
    JobId Response.JobsDetail Job ID String
    Tag Response.JobsDetail Job type: Transcode String
    State Response.JobsDetail Job status. Valid values: Submitted, Running, Success, Failed, Pause, Cancel. String
    Progress Response.JobsDetail Job progress in percentage, which is returned only if State is Submitted, Running, Success, or Pause. Value range: [0, 100]. String
    CreationTime Response.JobsDetail Job creation time String
    StartTime Response.JobsDetail Job start time String
    EndTime Response.JobsDetail Job end time String
    QueueId Response.JobsDetail ID of the queue which the job is in String
    Input Response.JobsDetail Input resource address of the job Container
    Operation Response.JobsDetail Operation rule Container

    Input has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type
    Region Response.JobsDetail.Input Bucket region String
    Bucket Response.JobsDetail.Input Result storage bucket String
    Object Response.JobsDetail.Input Output result filename String

    Operation has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type
    TemplateId Response.JobsDetail.Operation Job template ID String
    TemplateName Response.JobsDetail.Operation Job template name, which will be returned if TemplateId exists. String
    Transcode Response.JobsDetail.Operation Same as Request.Operation.Transcode in the request. Container
    Watermark Response.JobsDetail.Operation Same as Request.Operation.Watermark in the request. Container array
    WatermarkTemplateId Response.JobsDetail.Operation Watermark template ID. String array
    Output Response.JobsDetail.Operation Same as Request.Operation.Output in the request. Container
    MediaInfo Response.JobsDetail.Operation Media information of the output file, which will not be returned when the job is not completed. Container
    MediaResult Response.JobsDetail.Operation Basic information of the output file, which will not be returned when the job is not completed. Container
    DigitalWatermark Response.JobsDetail.Operation Digital watermark parameter. Container
    UserData Response.JobsDetail.Operation The user information passed through. String

    MediaInfo has the following sub-nodes:
    Same as the Response.MediaInfo node in the GenerateMediaInfo API.

    MediaResult has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type
    OutputFile Response.Operation.MediaResult Basic information of the output file. Container

    OutputFile has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type
    Bucket Response.Operation.MediaResult.OutputFile Bucket of the output file. String
    Region Response.Operation.MediaResult.OutputFile Bucket region of the output file. String
    ObjectName Response.Operation.MediaResult.OutputFile Output filename. There may be multiple values. String array
    Md5Info Response.Operation.MediaResult.OutputFile MD5 information of the output file. Container array

    Md5Info has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type
    ObjectName Response.Operation.MediaResult.OutputFile.Md5Info Output filename. String
    Md5 Response.Operation.MediaResult.OutputFile.Md5Info MD5 value of the output file. Container

    DigitalWatermark has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type
    Message Response.Operation.DigitalWatermark The string in the digital watermark successfully embedded in the video, which can contain up to 64 letters, digits, underscores (_), hyphens (-), and asterisks (*) string
    Type Response.Operation.DigitalWatermark Watermark type, which currently can be set to Text only String
    Version Response.Operation.DigitalWatermark Watermark version, which currently can be set to V1 only String
    IgnoreError Response.Operation.DigitalWatermark Whether to ignore the watermarking failure and continue the job. Valid values: true, false (default value). string
    State Response.Operation.DigitalWatermark Whether the watermark is added successfully. Valid values: Running, Success, Failed. string

    Error codes

    There are no special error messages for this request. For common error messages, see Error Codes.

    Samples

    Request 1. Using the transcoding template 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>input/demo.mp4</Object>
      </Input>
      <Operation>
          <TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
          <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe22</WatermarkTemplateId>
          <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe23</WatermarkTemplateId>
          <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe24</WatermarkTemplateId>
          <RemoveWatermark>
              <Dx>150</Dx>
              <Dy>150</Dy>
              <Width>75</Width>
              <Height>75</Height>
          </RemoveWatermark>
          <DigitalWatermark>
              <Type>Text</Type>
              <Message>123456789ab</Message>
              <Version>V1</Version>
              <IgnoreError>false</IgnoreError>
          </DigitalWatermark>
          <Output>
              <Region>ap-chongqing</Region>
              <Bucket>test-123456789</Bucket>
              <Object>output/out.mp4</Object>
          </Output>
          <UserData>This is my data.</UserData>
      </Operation>
      <QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
      <CallBack>http://callback.demo.com</CallBack>
      <CallBackFormat>JSON<CallBackFormat>
    </Request>
    

    Response 1

    HTTP/1.1 200 OK
    Content-Type: application/xml
    Content-Length: 230
    Connection: keep-alive
    Date: Mon, 28 Jun 2022 15:23:12 GMT
    Server: tencent-ci
    x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****
    <Response>
      <JobsDetail>
          <Code>Success</Code>
          <Message/>
          <JobId>j8d121820f5e411ec926ef19d53ba9c6f</JobId>
          <State>Submitted</State>
          <Progress>0</Progress>
          <CreationTime>2022-06-27T15:23:11+0800</CreationTime>
          <StartTime>-</StartTime>
          <EndTime>-</EndTime>
          <QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
          <Tag>Transcode</Tag>
          <Input>
              <BucketId>test-123456789</BucketId>
              <Object>input/demo.mp4</Object>
              <Region>ap-chongqing</Region>
          </Input>
          <Operation>
              <TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
              <TemplateName>trans_993874</TemplateName>
              <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe22</WatermarkTemplateId>
              <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe23</WatermarkTemplateId>
              <WatermarkTemplateId>t1318c5f428d474afba1797f84091cbe24</WatermarkTemplateId>
              <RemoveWatermark>
                  <Dx>150</Dx>
                  <Dy>150</Dy>
                  <Width>75</Width>
                  <Height>75</Height>
              </RemoveWatermark>
              <DigitalWatermark>
                  <Type>Text</Type>
                  <Message>123456789ab</Message>
                  <Version>V1</Version>
                  <IgnoreError>false</IgnoreError>
                  <State>Running</State>
              </DigitalWatermark>
              <Output>
                  <Region>ap-chongqing</Region>
                  <Bucket>test-123456789</Bucket>
                  <Object>output/out.mp4</Object>
              </Output>
              <UserData>This is my data.</UserData>
          </Operation>
      </JobsDetail>
    </Response>
    

    Request 2. Using the transcoding processing parameter

    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>input/demo.mp4</Object>
      </Input>
      <Operation>
          <Transcode>
              <Container>
                  <Format>mp4</Format>
              </Container>
              <Video>
                  <Codec>H.264</Codec>
                  <Profile>high</Profile>
                  <Bitrate>1000</Bitrate>
                  <Width>1280</Width>
                  <Fps>30</Fps>
                  <Preset>medium</Preset>
              </Video>
              <Audio>
                  <Codec>aac</Codec>
                  <Samplerate>44100</Samplerate>
                  <Bitrate>128</Bitrate>
                  <Channels>4</Channels>
              </Audio>
              <TransConfig>
                  <AdjDarMethod>scale</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>Watermark content</Text>
                  <FontSize>30</FontSize>
                  <FontType>simfang.ttf</FontType>
                  <FontColor>0xRRGGBB</FontColor>
                  <Transparency>30</Transparency>
              </Text>
          </Watermark>
          <DigitalWatermark>
              <Type>Text</Type>
              <Message>123456789ab</Message>
              <Version>V1</Version>
              <IgnoreError>false</IgnoreError>
          </DigitalWatermark>
          <Output>
              <Region>ap-chongqing</Region>
              <Bucket>test-123456789</Bucket>
              <Object>output/out.mp4</Object>
          </Output>
          <UserData>This is my data.</UserData>
      </Operation>
      <QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
      <CallBack>http://callback.demo.com</CallBack>
      <CallBackFormat>JSON<CallBackFormat>
    </Request>
    

    Response 2

    HTTP/1.1 200 OK
    Content-Type: application/xml
    Content-Length: 230
    Connection: keep-alive
    Date: Mon, 28 Jun 2022 15:23:12 GMT
    Server: tencent-ci
    x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****
    <Response>
      <JobsDetail>
          <Code>Success</Code>
          <Message/>
          <JobId>j8d121820f5e411ec926ef19d53ba9c6f</JobId>
          <State>Submitted</State>
          <Progress>0</Progress>
          <CreationTime>2022-06-27T15:23:10+0800</CreationTime>
          <StartTime>-</StartTime>
          <EndTime>-</EndTime>
          <QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
          <Tag>Transcode</Tag>
          <Input>
              <BucketId>test-123456789</BucketId>
              <Object>input/demo.mp4</Object>
              <Region>ap-chongqing</Region>
          </Input>
          <Operation>
              <Transcode>
                  <Container>
                      <Format>mp4</Format>
                  </Container>
                  <Video>
                      <Codec>H.264</Codec>
                      <Profile>high</Profile>
                      <Bitrate>1000</Bitrate>
                      <Width>1280</Width>
                      <Fps>30</Fps>
                      <Preset>medium</Preset>
                  </Video>
                  <Audio>
                      <Codec>aac</Codec>
                      <Samplerate>44100</Samplerate>
                      <Bitrate>128</Bitrate>
                      <Channels>4</Channels>
                  </Audio>
                  <TransConfig>
                      <AdjDarMethod>scale</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>Watermark content</Text>
                      <FontSize>30</FontSize>
                      <FontType></FontType>
                      <FontColor>0xRRGGBB</FontColor>
                      <Transparency>30</Transparency>
                  </Text>
              </Watermark>
              <RemoveWatermark>
                  <Dx>150</Dx>
                  <Dy>150</Dy>
                  <Width>75</Width>
                  <Height>75</Height>
              </RemoveWatermark>
              <DigitalWatermark>
                  <Type>Text</Type>
                  <Message>123456789ab</Message>
                  <Version>V1</Version>
                  <IgnoreError>false</IgnoreError>
                  <State>Running</State>
              </DigitalWatermark>
              <Output>
                  <Region>ap-chongqing</Region>
                  <Bucket>test-123456789</Bucket>
                  <Object>output/out.mp4</Object>
              </Output>
              <UserData>This is my data.</UserData>
          </Operation>
      </JobsDetail>
    </Response>
    
    Contact Us

    Contact our sales team or business advisors to help your business.

    Technical Support

    Open a ticket if you're looking for further assistance. Our Ticket is 7x24 avaliable.

    7x24 Phone Support