tencent cloud

$0 14-Day TrialExperience EdgeOne for acceleration and security protection!

Feedback

Cloud Object Storage
DocumentationCloud Object Storage
DocumentationCloud Object Storage

Submitting Video Transcoding Job

Last updated: 2024-06-12 15:36:13

Feature Description

This API is used to submit a transcoding job.


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>


Catalog

In The Article

Submitting Video Transcoding Job

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
Hong Kong, China
+852 800 906 020 (Toll Free)
United States
+1 844 606 0804 (Toll Free)
United Kingdom
+44 808 196 4551 (Toll Free)
Canada
+1 888 605 7930 (Toll Free)
Australia
+61 1300 986 386 (Toll Free)
EdgeOne hotline
+852 300 80699
More local hotlines coming soon