POST /template HTTP/1.1Host: <BucketName-APPID>.ci.<Region>.myqcloud.comDate: <GMT Date>Authorization: <Auth String>Content-Length: <length>Content-Type: application/xml<body>
<Request><Tag>Transcode</Tag><Name>TemplateName</Name><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><AudioMixArray><AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix1.mp3</AudioSource><MixMode>Once</MixMode><Replace>true</Replace><EffectConfig><EnableStartFadein>true</EnableStartFadein><StartFadeinTime>3</StartFadeinTime><EnableEndFadeout>false</EnableEndFadeout><EndFadeoutTime>0</EndFadeoutTime><EnableBgmFade>true</EnableBgmFade><BgmFadeTime>1.7</BgmFadeTime></EffectConfig></AudioMixArray><AudioMixArray><AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix2.mp3</AudioSource><MixMode>Once</MixMode><Replace>true</Replace><EffectConfig><EnableStartFadein>true</EnableStartFadein><StartFadeinTime>3</StartFadeinTime><EnableEndFadeout>false</EnableEndFadeout><EndFadeoutTime>0</EndFadeoutTime><EnableBgmFade>true</EnableBgmFade><BgmFadeTime>1.7</BgmFadeTime></EffectConfig></AudioMixArray></Request>
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 | Constraints |
Tag | Request | Task type: Transcode | String | Yes | None |
Name | Request | Template name, which can contain letters, digits, underscores (_), hyphens (-), and asterisks (*). | String | Yes | None |
Container | Request | Container format | Container | Yes | None |
Video | Request | Video information | Container | No | If Video is not passed in, the video information will be deleted. |
TimeInterval | Request | Time interval | Container | No | None |
Audio | Request | Audio information | Container | No | If Audio is not passed in, the audio information will be deleted. |
TransConfig | Request | Transcoding configuration | Container | No | None |
AudioMix | Request | Container | No | Valid if Audio.Remove is false | |
AudioMixArray | Request | Container array | No | Valid if Audio.Remove is false |
Container
Node Name (Keyword) | Parent Node | Description | Type | Required |
Format | Request.Container | Container format. See the following table for valid values. | String | Yes |
ClipConfig | Request.Container | Segment configuration. This node will take effect only when format is hls or dash . | Container | No |
ClipConfig
has the following sub-nodes:Node Name (Keyword) | Parent Node | Description | Type | Required |
Duration | Request.Container.ClipConfig | Segment duration. Default value: 5s . | String | No |
Container | Audio Codecs | Video Codecs |
mp4/hls/mkv | aac, mp3 | H.264, H.265, AV1 |
hls/mkv | aac, mp3 | H.264, H.265 |
ts/flv/avi/mov | aac, mp3 | H.264 |
dash | aac | H.264 |
WebM | Vorbis, Opus | VP8, VP9, AV1 |
AAC | AAC | Not supported |
MP3 | MP3 | Not supported |
FLAC | FLAC | Not supported |
AMR | AMR | Not supported |
adts | aac | Not supported |
m4a | aac | Not supported |
wav | pcm_s16le | Not supported |
Node Name (Keyword) | Parent Node | Description | Type | Required | Default Value | Constraints |
Codec | Request.Video | Codec format | String | No | H.264 If format is WebM, the default value is VP8. | H.264 H.265 VP8 VP9 AV1 |
Width | Request.Video | Width | String | No | Original video width | Value range: [128, 4096] Unit: px If only Width is set, Height is calculated according to the original video aspect ratio. This parameter must be an even number. |
Height | Request.Video | Height | String | No | Original video height | Value range: [128, 4096] Unit: px If only Height is set, Width is calculated according to the original video aspect ratio. This parameter must be an even number. |
Fps | Request.Video | Frame rate | String | No | None | Value range: (0, 60] Unit: fps |
Remove | Request.Video | Whether to delete the video stream | String | No | false | Valid values: true, false. |
Profile | Request.Video | Encoding level | String | No | high | Valid values: baseline, main, high, auto. If Pixfmt is auto, this parameter can only be auto and will be changed to auto if set to other values. baseline: Suitable for mobile devices. main: Suitable for standard resolution devices. high: Suitable for high resolution devices. Only H.264 supports this parameter. |
Bitrate | Request.Video | Bitrate of the video output file | String | No | None | Value range: [10, 50000] kbps auto indicates adaptive bitrate. |
Crf | Request.Video | Bitrate, which is a quality control factor | String | No | None | Value range: (0, 51] If Crf is set, the setting of Bitrate will become invalid. If Bitrate is empty, 25 is used for this parameter by default. |
Gop | Request.Video | Maximum number of frames between two keyframes | String | No | None | Value range: [1, 100000] |
Preset | Request.Video | Video algorithm preset | String | No | If Codec is H.264, the default value is medium. If Codec is VP8, the default value is good. If Codec is AV1, the default value is 5. | Valid values for H.264: veryfast, fast, medium, slow, slower. Valid values for VP8: good, realtime. Valid values for AV1: 5 (recommend), 4. H.265 and VP9 don't support this parameter. |
Bufsize | Request.Video | Buffer size | String | No | None | Value range: [1000, 128000] Unit: KB If Codec is VP8 or VP9, this parameter is not supported. |
Maxrate | Request.Video | Peak video bitrate | String | No | None | Value range: [10, 50000] Unit: Kbps If Codec is VP8 or VP9, this parameter is not supported. |
Pixfmt | Request.Video | Video color format | String | No | None | Valid values for H.264: yuv420p, yuv422p, yuv444p, yuvj420p, yuvj422p, yuvj444p, auto Valid values for H.265: yuv420p, yuv420p10le, auto If Codec is VP8, VP9, or AV1, this parameter is not supported. |
LongShortMode | Request.Video | Whether to use long short mode | String | No | false | Valid values: true, false. If Codec is VP8, VP9, or AV1, this parameter is not supported. |
Rotate | Request.Video | Rotation angle | String | No | None | Value range: [0, 360) Unit: Degree |
Node Name (Keyword) | Parent Node | Description | Type | Required | Default Value | Constraints |
Start | Request.TimeInterval | Start time | String | No | 0 | Value range: [0, video duration] Unit: Second The float format is supported, accurate to the millisecond. |
Duration | Request.TimeInterval | Duration | String | No | Original video duration | Value range: [0, video duration] Unit: Second The float format is supported, accurate to the millisecond. |
Node Name (Keyword) | Parent Node | Description | Type | Required | Default Value | Constraints |
Codec | Request.Audio | Codec format | String | No | aac If format is WebM, the default value is Vorbis. If format is wav, the default value is pcm_s16le. | Valid values: aac, mp3, flac, amr, Vorbis, opus, pcm_s16le. |
Samplerate | Request.Audio | Sample rate | String | No | If Codec is opus, the default value is 48000. | Unit: Hz Valid values: 8000, 11025, 12000, 16000, 22050, 24000, 32000, 44100, 48000, 88200, 96000. Different container formats support different MP3 sample rates, as shown in the table below. If Codec is amr, the value can only be 8000. If Codec is opus, the value can be 8000, 16000, 24000, or 48000. |
Bitrate | Request.Audio | Original audio bitrate | String | No | None | Unit: Kbps Value range: [8, 1000] |
Channels | Request.Audio | Number of sound channels | String | No | None | If Codec is aac or flac, the value can be 1, 2, 4, 5, 6, or 8. If Codec is mp3 or opus, the value can only be 1 or 2. If Codec is Vorbis, the value can only be 2. If Codec is amr, the value can only be 1. If Codec is pcm_s16le, the value can only be 1 or 2. If Codec is dash, the value cannot be 8. |
Remove | Request.Audio | Whether to delete the source audio stream | String | No | false | Valid values: true, false. |
KeepTwoTracks | Request.Audio | Keep double audio track | String | No | false | Valid values: true, false. If Video.Codec is H.265, this parameter will not take effect. |
SwitchTrack | Request.Audio | Switch the track | String | No | false | Valid values: true, false. If Video.Codec is H.265, this parameter will not take effect. |
SampleFormat | Request.Audio | Sampling bit width | String | No | None | If Codec is aac, the value can be fltp. If Codec is mp3, the value can be fltp, s16p, or s32p. If Codec is flac, the value can be s16, s32, s16p, or s32p. If Codec is amr, the value can be s16 or s16p. If Codec is opus, the value can be s16. If Codec is pcm_s16le, the value can be s16. If Codec is Vorbis, the value can be fltp. If Video.Codec is H.265, this parameter will not take effect. |
Audio.Codec
supports sample rates as follows:Audio.Codec | aac | amr | flac | opus | Vorbis | pcm_s16le | mp3 |
8000 | Y | Y | Y | Y | Y | Y | Different sample rates are supported for different container formats. |
| 11025 | Y | N | Y | N | Y | Y |
| 12000 | Y | N | Y | N | Y | Y |
| 16000 | Y | N | Y | Y | Y | Y |
| 22050 | Y | N | Y | N | Y | Y |
| 24000 | Y | N | Y | Y | Y | Y |
| 32,000 | Y | N | Y | N | Y | Y |
| 44100 | Y | N | Y | N | Y | Y |
| 48000 | Y | N | Y | Y | Y | Y |
| 88200 | Y | N | Y | N | Y | Y |
| 96000 | Y | N | Y | N | Y | Y |
Audio.Codec
is mp3
, Container.Format
supports sample rates as follows:Container Format/Audio Sample Rate | 8000 | 11025 | 12000 | 16000 | 22050 | 24000 | 32000 | 44100 | 48000 | 88200 | 96000 |
flv | N | N | N | N | Y | N | N | Y | N | N | N |
mp4 | N | N | N | Y | Y | Y | Y | Y | Y | N | N |
hls/ts/mp3/mkv/avi/mov | Y | Y | Y | Y | Y | Y | Y | Y | Y | N | N |
TransConfig
Node Name (Keyword) | Parent Node | Description | Type | Required | Default Value | Constraints |
AdjDarMethod | Request.TransConfig | Resolution adjustment method | String | No | none | Valid values: scale , crop , pad , none .If the aspect ratio of the output video is different from that of the original video, the resolution is adjusted according to this parameter. |
IsCheckReso | Request.TransConfig | Whether to check the resolution | String | No | false | Valid values: true , false . If the value is false , transcoding is performed based on settings. |
ResoAdjMethod | Request.TransConfig | Resolution adjustment method | String | No | 0 | Valid values: 0 , 1 . 0 indicates to use the original video resolution, and 1 indicates to return the transcoding failure message.This parameter will take effect only when IsCheckReso is true . |
IsCheckVideoBitrate | Request.TransConfig | Whether to check the video bitrate | String | No | false | Valid values: true , false . If the value is false , transcoding is performed based on settings. |
VideoBitrateAdjMethod | Request.TransConfig | Video bitrate adjustment method | String | No | 0 | Valid values: 0 , 1 . When the output video has a higher bitrate than the input video, 0 indicates to use the original video bitrate, and 1 indicates to return the transcoding failure message.This parameter will take effect only when IsCheckVideoBitrate is true . |
IsCheckAudioBitrate | Request.TransConfig | Whether to check the audio bitrate | String | No | false | Valid values: true , false . If the value is false , transcoding is performed based on settings. |
AudioBitrateAdjMethod | Request.TransConfig | Audio bitrate adjustment method | String | No | 0 | Valid values: 0 , 1 . When the output audio has a higher bitrate than the input audio, 0 indicates to use the original audio bitrate, and 1 indicates to return the transcoding failure message.This parameter will take effect only when IsCheckAudioBitrate is true . |
IsCheckVideoFps | Request.TransConfig | Whether to check the video frame rate | String | No | false | Valid values: true , false . If the value is false , transcoding is performed based on settings. |
VideoFpsAdjMethod | Request.TransConfig | Video frame rate adjustment method | String | No | 0 | Valid values: 0 , 1 . When the output video has a higher frame rate than the input video, 0 indicates to use the original video frame rate, and 1 indicates to return the transcoding failure message.This parameter will take effect only when IsCheckVideoFps is true . |
DeleteMetadata | Request.TransConfig | Whether to delete metadata from the file | String | No | false | Valid values: true, false. If the value is false , the source file information is retained. |
IsHdr2Sdr | Request.TransConfig | Whether to enable HDR-to-SDR conversion | String | No | false | Valid values: true, false. |
TranscodeIndex | Request.TransConfig | The stream number to be processed, which corresponds to Response.MediaInfo.Stream.Video.Index and Response.MediaInfo.Stream.Audio.Index in the media information. For more information, see Getting Media File Information. | String | No | None | None |
HlsEncrypt | Request.TransConfig | HLS encryption configuration | Container | No | None | None |
DashEncrypt | Request.TransConfig | DASH encryption configuration | Container | No | None | None |
AdjDarMethod
parameter is illustrated as follows:HlsEncrypt
has the following sub-nodes:Node Name (Keyword) | Parent Node | Description | Type | Required | Default Value | Constraints |
IsHlsEncrypt | Request.TransConfig.HlsEncrypt | Whether to enable HLS encryption | String | No | false | Valid values: true , false .Encryption is supported only when Container.Format is hls . |
UriKey | Request.TransConfig.HlsEncrypt | HLS encryption key | String | No | None | This parameter will take effect only when IsHlsEncrypt is true . |
DashEncrypt
has the following sub-nodes:Node Name (Keyword) | Parent Node | Description | Type | Required | Default Value | Constraints |
IsEncrypt | Request.TransConfig.DashEncrypt | Whether to enable DASH encryption | String | No | false | Valid values: true , false .Encryption is supported only when Container.Format is dash . |
UriKey | Request.TransConfig.DashEncrypt | DASH encryption key | String | No | None | This parameter will take effect only when IsEncrypt is true . |
Node Name (Keyword) | Parent Node | Description | Type |
Response | None | Result storage container | Container |
Response
Node Name (Keyword) | Parent Node | Description | Type |
TemplateId | Response.Template | Template ID | String |
Name | Response.Template | Template name | String |
BucketId | Response.Template | Template bucket | String |
Category | Response.Template | Template category: Custom or Official | String |
Tag | Response.Template | Task type: Transcode | String |
UpdateTime | Response.Template | Update time | String |
CreateTime | Response.Template | Creation time | String |
TransTpl | Response.Template | Template parameters | Container |
TransTpl
has the following sub-nodes:Node Name (Keyword) | Parent Node | Description | Type |
TimeInterval | Response.Template.TransTpl | Same as Request.TimeInterval in the request body. | Container |
Container | Response.Template.TransTpl | Same as Request.Container in the request body. | Container |
Video | Response.Template.TransTpl | Same as Request.Video in the request body. | Container |
Audio | Response.Template.TransTpl | Same as Request.Audio in the request body. | Container |
TransConfig | Response.Template.TransTpl | Same as Request.TransConfig in the request body. | Container |
AudioMix | Response.Template.TransTpl | Same as Request.AudioMix in the request body. | Container |
AudioMixArray | Response.Template.TransTpl | Same as Request.AudioMixArray in the request body. | Container array |
POST /template HTTP/1.1Authorization: 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=28e9a4986df11bed0255e97ff90500557e0e****Host: test-1234567890.ci.ap-beijing.myqcloud.comContent-Length: 1666Content-Type: application/xml<Request><Tag>Transcode</Tag><Name>TemplateName</Name><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><AudioMixArray><AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix1.mp3</AudioSource><MixMode>Once</MixMode><Replace>true</Replace><EffectConfig><EnableStartFadein>true</EnableStartFadein><StartFadeinTime>3</StartFadeinTime><EnableEndFadeout>false</EnableEndFadeout><EndFadeoutTime>0</EndFadeoutTime><EnableBgmFade>true</EnableBgmFade><BgmFadeTime>1.7</BgmFadeTime></EffectConfig></AudioMixArray><AudioMixArray><AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix2.mp3</AudioSource><MixMode>Once</MixMode><Replace>true</Replace><EffectConfig><EnableStartFadein>true</EnableStartFadein><StartFadeinTime>3</StartFadeinTime><EnableEndFadeout>false</EnableEndFadeout><EndFadeoutTime>0</EndFadeoutTime><EnableBgmFade>true</EnableBgmFade><BgmFadeTime>1.7</BgmFadeTime></EffectConfig></AudioMixArray></Request>
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 100Connection: keep-aliveDate: Thu, 14 Jul 2022 12:37:29 GMTServer: tencent-cix-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****<Response><Template><Tag>Transcode</Tag><TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId><Name>TemplateName</Name><BucketId>test-1234567890</BucketId><Category>Custom</Category><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><AudioMixArray><AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix1.mp3</AudioSource><MixMode>Once</MixMode><Replace>true</Replace><EffectConfig><EnableStartFadein>true</EnableStartFadein><StartFadeinTime>3</StartFadeinTime><EnableEndFadeout>false</EnableEndFadeout><EndFadeoutTime>0</EndFadeoutTime><EnableBgmFade>true</EnableBgmFade><BgmFadeTime>1.7</BgmFadeTime></EffectConfig></AudioMixArray><AudioMixArray><AudioSource>https://test-xxx.cos.ap-chongqing.myqcloud.com/mix2.mp3</AudioSource><MixMode>Once</MixMode><Replace>true</Replace><EffectConfig><EnableStartFadein>true</EnableStartFadein><StartFadeinTime>3</StartFadeinTime><EnableEndFadeout>false</EnableEndFadeout><EndFadeoutTime>0</EndFadeoutTime><EnableBgmFade>true</EnableBgmFade><BgmFadeTime>1.7</BgmFadeTime></EffectConfig></AudioMixArray><CreateTime>2020-08-05T11:35:24+0800</CreateTime><UpdateTime>2020-08-31T16:15:20+0800</UpdateTime></Template></Response>
Was this page helpful?