tencent cloud

masukan

Creating Top Speed Codec Transcoding Template

Terakhir diperbarui:2022-10-08 12:16:29

    Feature Description

    This API is used to create a top speed codec transcoding template.

    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 /template 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:

    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>HighSpeedHd</Tag>
      <Name>TemplateName</Name>
      <Container>
          <Format>mp4</Format>
      </Container>
      <Video>
          <Codec>H.264</Codec>
          <Bitrate>1000</Bitrate>
          <Width>1280</Width>
          <Fps>30</Fps>
          <Bufsize>0</Bufsize>
          <Maxrate>0</Maxrate>
      </Video>
      <Audio>
          <Codec>aac</Codec>
          <Samplerate>44100</Samplerate>
          <Bitrate>128</Bitrate>
          <Channels>4</Channels>
      </Audio>
      <TransConfig>
          <IsCheckReso>false</IsCheckReso>
          <ResoAdjMethod>1</ResoAdjMethod>
      </TransConfig>
      <TimeInterval>
          <Start>0</Start>
          <Duration>60</Duration>
      </TimeInterval>
    </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 Constraints
    Tag Request Template tag: HighSpeedHd 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 Yes None
    TimeInterval Request Time interval Container No None
    Audio Request Audio information Container No None
    TransConfig Request Transcoding configuration Container No None


    Container has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required
    Format Request.Container Container format. Valid values: mp4, flv, hls. String Yes
    ClipConfig Request.Container Segment configuration. This node will take effect only when Format is hls. 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

    Audio/Video formats supported by different container formats are as follows:

    Container Audio Codecs Video Codecs
    mp4/hls/mkv AAC, MP3 H.264, H.265
    flv AAC, MP3 H.264


    Video has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required Default Value Constraints
    Codec Request.Video Codec format String No H.264 H.264, H.265
    Width Request.Video Width String No Original video width 1. Value range: [128, 4096]
    2.Unit: px
    3.If only Width is set, Height is calculated according to the original video aspect ratio.
    4.This parameter must be an even number.
    Height Request.Video Height String No Original video height 1. Value range: [128, 4096]
    2.Unit: px
    3. If only Height is set, Width is calculated according to the original video aspect ratio.
    4. This parameter must be an even number.
    Fps Request.Video Frame rate String No None 1. Value range: (0, 60]
    2. Unit: fps
    Profile Request.Video Encoding level String No high 1. Valid values: baseline, main, high.
    2. baseline: Suitable for mobile devices
    3. main: Suitable for standard resolution devices
    4. high: Suitable for high resolution devices
    5. Only H.264 supports this parameter.
    Bitrate Request.Video Bitrate of the video output file String No None 1. Value range: [10, 50000]
    2. Unit: Kbps
    Crf Request.Video Bitrate, which is a quality control factor String No None 1. Value range: (0, 51]
    2. If Crf is set, the setting of Bitrate will become invalid.
    3. 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: [0, 100000]
    Preset Request.Video Video algorithm preset String No medium 1. Only H.264 supports this parameter.
    2. Valid values: veryfast, fast, medium, slow, slower.
    Bufsize Request.Video Buffer size String No None 1. Value range: [1000, 128000]
    2. Unit: Kb
    Maxrate Request.Video Peak video bitrate String No None 1. Value range: [10, 50000]
    2. Unit: Kbps
    Pixfmt Request.Video Video color format String No None 1. Valid values for H.264: yuv420p, auto.
    2. Valid values for H.265: yuv420p, yuv420p10le, auto.
    Rotate Request.Video Rotation angle String No None 1. Value range: [0, 360)
    2. Unit: Degree


    TimeInterval has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required Default Value Constraints
    Start Request.TimeInterval Start time String No None 1. Value range: [0, video duration]
    2. Unit: Second
    3. The float format is supported, accurate to the millisecond.
    Duration Request.TimeInterval Duration String No None 1. Value range: [0, video duration]
    2. Unit: Second
    3. The float format is supported, accurate to the millisecond.


    Audio has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type Required Default Value Constraints
    Codec Request.Audio Codec format String No aac Valid values: aac, mp3.
    Samplerate Request.Audio Sample rate String No 44100 1. Unit: Hz
    2. Valid values: 11025, 22050, 32000, 44100, 48000, 96000.
    3. Different container formats support different MP3 sample rates, as shown in the table below.
    Bitrate Request.Audio Original audio bitrate String No None 1. Unit: Kbps
    2. Value range: [8, 1000]
    Channels Request.Audio Number of sound channels String No None 1. If Codec is aac, the value can be 1, 2, 4, 5, 6, or 8.
    2. If Codec is mp3, the value can be 1 or 2.
    Remove Request.Audio Whether to delete the source audio stream String No false Valid values: true, false.
    Note:

    Y indicates supported, and N indicates unsupported.

    Container Format/Audio Sample Rate 11025 22050 32000 44100 48000 96000
    flv N Y N Y N N
    mp4 N Y Y Y Y N
    hls/mkv Y Y Y Y Y N


    TransConfig has the following sub-nodes:

    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 1. Valid values: true, false.
    2. If the value is false, transcoding is performed based on settings.
    ResoAdjMethod Request.TransConfig Resolution adjustment method String No 0 1. Valid values: 0, 1. 0 indicates to use the original video resolution, and 1 indicates to return the transcoding failure message.
    2. 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 1.Valid values: true, false.
    2. If the value is false, the source file information is retained.
    IsHdr2Sdr Request.TransConfig Whether to enable HDR-to-SDR conversion String No false true/false
    HlsEncrypt Request.TransConfig HLS encryption configuration Container No None None

    The 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 1. Valid values: true, false.
    2. 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.

    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>
      <Template>
          <Tag>HighSpeedHd</Tag>
          <TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
          <Name>TemplateName</Name>
          <BucketId>test-1234567890</BucketId>
          <Category>Custom</Category>
          <HighSpeedHd>
              <Container>
                  <Format>mp4</Format>
              </Container>
              <Video>
                  <Codec>H.264</Codec>
                  <Bitrate>1000</Bitrate>
                  <Width>1280</Width>
                  <Fps>30</Fps>
                  <Bufsize>0</Bufsize>
                  <Maxrate>0</Maxrate>
              </Video>
              <Audio>
                  <Codec>aac</Codec>
                  <Samplerate>44100</Samplerate>
                  <Bitrate>128</Bitrate>
                  <Channels>4</Channels>
              </Audio>
              <TransConfig>
                  <IsCheckReso>false</IsCheckReso>
                  <ResoAdjMethod>1</ResoAdjMethod>
              </TransConfig>
              <TimeInterval>
                  <Start>0</Start>
                  <Duration>60</Duration>
              </TimeInterval>
          </HighSpeedHd>
          <CreateTime>2020-08-05T11:35:24+0800</CreateTime>
          <UpdateTime>2020-08-31T16:15:20+0800</UpdateTime>
      </Template>
    </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
    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 Template tag: HighSpeedHd String
    UpdateTime Response.Template Update time String
    CreateTime Response.Template Creation time String
    HighSpeedHd Response.Template Template parameters Container

    HighSpeedHd has the following sub-nodes:

    Node Name (Keyword) Parent Node Description Type
    TimeInterval Response.Template.HighSpeedHd Same as Request.TimeInterval in the request body. Container
    Container Response.Template.HighSpeedHd Same as Request.Container in the request body. Container
    Video Response.Template.HighSpeedHd Same as Request.Video in the request body. Container
    Audio Response.Template.HighSpeedHd Same as Request.Audio in the request body. Container
    TransConfig Response.Template.HighSpeedHd Same as Request.TransConfig in the request body. Container

    Error codes

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

    Samples

    Request

    POST /template HTTP/1.1
    Authorization: q-sign-algorithm=sha1&q-ak=AKIDZfbOAo7cllgPvF9cXFrJD0**********&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=28e9a4986df11bed0255e97ff90500557e0ea057
    Host: test-1234567890.ci.ap-beijing.myqcloud.com
    Content-Length: 1666
    Content-Type: application/xml
    <Request>
      <Tag>HighSpeedHd</Tag>
      <Name>TemplateName</Name>
      <Container>
          <Format>mp4</Format>
      </Container>
      <Video>
          <Codec>H.264</Codec>
          <Bitrate>1000</Bitrate>
          <Width>1280</Width>
          <Fps>30</Fps>
          <Bufsize>0</Bufsize>
          <Maxrate>0</Maxrate>
      </Video>
      <Audio>
          <Codec>aac</Codec>
          <Samplerate>44100</Samplerate>
          <Bitrate>128</Bitrate>
          <Channels>4</Channels>
      </Audio>
      <TransConfig>
          <IsCheckReso>false</IsCheckReso>
          <ResoAdjMethod>1</ResoAdjMethod>
      </TransConfig>
      <TimeInterval>
          <Start>0</Start>
          <Duration>60</Duration>
      </TimeInterval>
    </Request>
    

    Response

    HTTP/1.1 200 OK
    Content-Type: application/xml
    Content-Length: 100
    Connection: keep-alive
    Date: Thu, 14 Jul 2022 12:37:29 GMT
    Server: tencent-ci
    x-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****
    <Response>
      <Template>
          <Tag>HighSpeedHd</Tag>
          <TemplateId>t1460606b9752148c4ab182f55163ba7cd</TemplateId>
          <Name>TemplateName</Name>
          <BucketId>test-1234567890</BucketId>
          <Category>Custom</Category>
          <HighSpeedHd>
              <Container>
                  <Format>mp4</Format>
              </Container>
              <Video>
                  <Codec>H.264</Codec>
                  <Bitrate>1000</Bitrate>
                  <Width>1280</Width>
                  <Fps>30</Fps>
                  <Bufsize>0</Bufsize>
                  <Maxrate>0</Maxrate>
              </Video>
              <Audio>
                  <Codec>aac</Codec>
                  <Samplerate>44100</Samplerate>
                  <Bitrate>128</Bitrate>
                  <Channels>4</Channels>
              </Audio>
              <TransConfig>
                  <IsCheckReso>false</IsCheckReso>
                  <ResoAdjMethod>1</ResoAdjMethod>
              </TransConfig>
              <TimeInterval>
                  <Start>0</Start>
                  <Duration>60</Duration>
              </TimeInterval>
          </HighSpeedHd>
          <CreateTime>2020-08-05T11:35:24+0800</CreateTime>
          <UpdateTime>2020-08-31T16:15:20+0800</UpdateTime>
      </Template>
    </Response>
    
    Hubungi Kami

    Hubungi tim penjualan atau penasihat bisnis kami untuk membantu bisnis Anda.

    Dukungan Teknis

    Buka tiket jika Anda mencari bantuan lebih lanjut. Tiket kami tersedia 7x24.

    Dukungan Telepon 7x24