Baidu AI Cloud
中国站

百度智能云

Multimedia Cloud Processing

Preset-API Interface

Create Template

Interface description

When the Preset preset by the system cannot satisfy the demand, you can create a custom Preset through this interface.

Request

  • Request syntax:

    POST /v{version}/preset HTTP/1.1 
    accept-encoding: gzip, deflate 
    x-bce-date: {utc-date-string} 
    connection: keep-alive 
    accept: */* 
    host: media.bj.baidubce.com 
    x-bce-request-id: {bce-request-id} 
    content-type: application/json
    authorization: {bce-authorization-string} 
  • Request header: No special Header parameter
  • Request parameter (the followings are Requestbody parameters):
Field name Field type Necessity Field description Optional value Default value
presetName String Required Template name - -
description String Optional Description of transcoding template; - -
container String Required Container of audio and video files mp4, flv, hls, mp3, m4a, a-hls, pcm, dash -
transmux Bool Optional Whether to convert the container format true, false false
clip Object Optional Whether to capture audio and video clips - -
+ startTimeInSecond Number Optional Start time of video clip - -
+ durationInSecond Number Optional Duration of video clip - -
audio Object Optional A collection of audio output information, if the audio-related parameters are not set, the transcoding output does not include an audio stream, and if the audio stream is retained, the object must be set - -
+ bitRateInBps Number Optional Audio target code rate (unelectable when the input is pcm, and can be empty when setting mute, or it is required) Greater than 0 -
+ sampleRateInHz Number Optional Audio sampling rate; 22050, 32000, 44100, 48000, 96000 Don’t fill, meaning to keep the same as input.
+ channels Number Optional Audio track count 1, 2 If It is not filled in, it indicates consistence with the input
+ pcmFormat String Optional PCM audio format, which is valid only when container=pcm s16le -
+ volumeAdjust Object Optional Set the volume-related parameters - -
++ mute Bool Optional Whether to mute, when mute is set, it is not allowed to have insert of audio type in Job. When mute is set with other audio parameters at the same time, priority shall be given to mute true, false false
++ norm Bool Optional Whether to normalize the audio true, false false
++ gain Number Optional Volume adjustment, in db; increase the volume if the value is positive -60 ~ 60 -
video Object Optional A collection of video output information, if the video (video?)-related parameters are not set, the transcoding output does not include a video stream, and if the video stream is retained, the object must be set - -
+ codec String Optional Collection of video coding information h264,h265(H265 only supports main profile), h265_bd265 h264
+ codecOptions Object Optional Configuration options for video coding - -
++ profile String Optional Level baseline, main, high baseline
+ bitRateInBps Number Required Target code rate of video - -
+ crf Number Optional Constant quality factor, if crf value is set, bitRateInBps can represent the maximum target code rate. 1 ~ 51 -
+ maxFrameRate Number Optional Maximum frame rate of target video 10,15, 23.97, 24, 25, 29.97, 30, 50, 60 -
+ maxWidthInPixel Number Optional Maximum width of target video 128 ~ 4096 If It is not filled in, it indicates consistence with the original video
+ maxHeightInPixel Number Optional Maximum height of target video 96 ~ 3072 If It is not filled in, it indicates consistence with the original video
+ sizingPolicy String Optional Size shrinking strategy Of keep, shrinkToFit, stretch and shrinkToFitBlur, keep indicates to maintain the width-height ratio of the original video; shrinkToFit indicates to maintain the width-height ratio of the original video and add black edges; stretch indicates to stretch the original video; shrinkToFitBlur is the same as shinkToFit, except the black edges are replaced to Gaussian Blur keep
+ autoAdjustResolution Bool Optional When the original video is a portrait video, it automatically adjusts the template width, making it smaller than the height, to ensure the minimum zoom ratio, and vice versa. You can set it only when sizingPolicy is keep. true,false false
+ playbackSpeed Number Optional The value of playback speed below 1.0 indicates to decelerate the video, and that higher than 1.0 indicates to accelerate the video (the audio settings cannot be assigned at the same time) 0.05 ~ 20.0 -
encryption Object Optional Collection of encrypted and decrypted HLS information - -
+ strategy String Required Video encryption policy Fixed:It means encryption with a fixed key. Use the key assigned by the user to encrypt the video, and aesKey is required.;
Open: With an open key, the system will generate an encrypted key automatically, but the key is disclosed, without access control;
PlayerBinding: Bind a player, the system automatically generates an encrypted key, and the key has access control.;
The key is set with access control under PlayerBinding mode, with higher security, and it is recommended to use PlayerBinding mode.
-
+ aesKey String Required AES 128 encryption key - -
watermarkId String Optional Watermark id(it is allowed to add watermark when transmux = true) - -
watermarks Object Optional To set multiple watermarks, it is not allowed to specify watermarkId and watermarks at the same time - -
+ image Array Required Multiple watermark watermarkId array The size is 5 at maximum -
transCfg Object Optional Transcoding configuration information - -
+ transMode String Required Transcoding mode normal, twopass。 When transcoding mode is twopass, video cannot be vacant. -
extraCfg Object Optional Additional configuration of transcoding
+ watermarkDisableWhitelist String Optional Set the condition without watermark added The portrait can be set currently, meaning no watermarks in the portrait screen videos -
+ segmentDurationInSecond Number Optional Set the partition duration. You can set it only when container is hls, a-hls, dash. The value ranges from 3.0 to 15.0, and the floating-point number accuracy is within three digit after the decimal point -
+ gopLength Number Optional Set gop length (set only when the video parameters are configured; when segmentDurationInSecond and gopLength exist together, it is recommended to guarantee segmentDurationInSecond* original video FPS to be the integral multiples of gopLength) [0, 250],Whereas, 0 indicates that the resulting video contains only frame i. -
+ skipBlackFrame Bool Optional Detect intelligently, and clip the black frame in the title, and intercept the black frame of the first 5s at most true,false false
  • Request example:

    POST /v3/preset HTTP/1.1 
    accept-encoding: gzip, deflate 
    x-bce-date: 2015-03-24T13:08:44Z 
    host: media.bj.baidubce.com 
    accept: */* 
    connection: keep-alive 
    x-bce-request-id: 3807ce30-5264-45f2-9b52-26b78e24a750
    content-type: application/json
    authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2015-03-24T13:08:44Z/1800/host;x-bce-date/7e21c9cf1e4e2cc6921a407a388fe98df122c53b9f509043d841be76eb09a1f9 
    
    { 
        "presetName": "customlized_preset", 
        "description": "A example preset description", 
        "container": "mp4", 
        "clip": { 
            "startTimeInSecond": 0, 
            "durationInSecond": 60 
        }, 
        "audio": { 
            "bitRateInBps": 256000 
        }, 
        "video": { 
            "codec": "h264", 
            "codecOptions": { 
                "profile": "baseline" 
            }, 
            "bitRateInBps": 1024000, 
            "maxFrameRate": 30, 
            "maxWidthInPixel": 4096, 
            "maxHeightInPixel": 3072, 
            "sizingPolicy": "keep", 
            "playbackSpeed": 1.5 
        }, 
        "watermarkId": "wmk-fekn2ydgq2fe9f1x" 
    } 

Response

  • Response header: No special Header parameter
  • Response parameter: None
  • Response example:

    HTTP/1.1 200 OK 
    Transfer-Encoding: chunked 
    x-bce-request-id: 3807ce30-5264-45f2-9b52-26b78e24a750
    Cache-Control: no-cache
    Server: BWS 
    Date: Tue, 24 Mar 2015 13:37:10 GMT 
    Content-Type: application/json;charset=UTF-8 

Query assigned Template

Interface description

Query the assigned template information through presetName.

Request

  • Request syntax:

    GET /v{version}/preset/{presetId} HTTP/1.1 
    accept-encoding: gzip, deflate 
    x-bce-date: {utc-date-string} 
    host: media.bj.baidubce.com 
    accept: */* 
    connection: keep-alive 
    x-bce-request-id: {bce-request-id} 
    content-type: application/json
    authorization: {bce-authorization-string} 
  • Request header: No special Header parameter
  • Request parameter: None
  • Request example:

    GET /v3/preset/bce.video_mp4_1920x1080_3660kbps HTTP/1.1 
    accept-encoding: gzip, deflate 
    x-bce-date: 2015-03-24T13:37:10Z 
    host: media.bj.baidubce.com 
    accept: */* 
    connection: keep-alive 
    x-bce-request-id: 3807ce30-5264-45f2-9b52-26b78e24a750
    content-type: application/json
    authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2015-03-24T13:37:10Z/1800/host;x-bce-date/3e1bf9f50ae1fca2d704d61567810dde946fff3ca2e455676455a6f5c8cce596 

Response

  • Response header: No special Header parameter
  • Response parameter: Please remain consistent with [Create Templates/Request/Request Parameters], and add the following fields:
Field name Field type Field description
state String Template status,ACTIVE/INACTIVE
createdTime String Time of UTC format for the creation of template
  • Response example:

    HTTP/1.1 200 OK 
    Transfer-Encoding: chunked 
    x-bce-request-id: 3807ce30-5264-45f2-9b52-26b78e24a750
    Cache-Control: no-cache
    Server: BWS 
    Date: Tue, 24 Mar 2015 13:37:10 GMT 
    Content-Type: application/json;charset=UTF-8 
    
    { 
        "state": "ACTIVE", 
        "createdTime": "2015-03-24T13:34:07Z", 
        "presetName": "bce.video_mp4_1920x1080_3660kbps", 
        "description": "A example preset description", 
        "container": "mp4", 
        "clip": { 
            "startTimeInSecond": 0, 
            "durationInSecond": 60 
        }, 
        "audio": { 
            "bitRateInBps": 256000, 
            "channels": "auto" 
        }, 
        "video": { 
            "codec": "h264", 
        "codecOptions": { 
                "profile": "baseline" 
        }, 
        "bitRateInBps": 3660000, 
        "maxFrameRate": 15, 
        "maxWidth": 1920, 
        "maxHeight": 1080, 
        "sizingPolicy": "keep", 
        "playbackSpeed": 1.5 
        }, 
        "watermarkId": "wmk-fekn2ydgq2fe9f1x" 
    } 

Query Current User’s Templates and All System Templates

Interface description

The user queries all the templates provided by the system and his/her account, the specific system templates can see System Built-in Templates

Request

  • Request syntax:

    GET /v{version}/preset HTTP/1.1 
    accept-encoding: gzip, deflate 
    x-bce-date: {utc-date-string} 
    connection: keep-alive 
    accept: */* 
    host: media.bj.baidubce.com 
    x-bce-request-id: {bce-request-id} 
    content-type: application/json
    authorization: {bce-authorization-string} 
  • Request header: No special Header parameter
  • Request parameter: None
  • Request example:

    GET /v3/preset HTTP/1.1 
    accept-encoding: gzip, deflate 
    x-bce-date: 2015-03-24T13:37:10Z 
    host: media.bj.baidubce.com 
    accept: */* 
    connection: keep-alive 
    x-bce-request-id: 3807ce30-5264-45f2-9b52-26b78e24a750
    content-type: application/json
    authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2015-03-24T13:37:10Z/1800/host;x-bce-date/3e1bf9f50ae1fca2d704d61567810dde946fff3ca2e455676455a6f5c8cce596 

Response

  • Response header: No special Header parameter
  • Response parameter: Please remain consistent with [Create Templates/Request/Request Parameters], and add the following fields:
Field name Field type Field description
state String Template status,ACTIVE/INACTIVE
createdTime String Time of UTC format for the creation of template
  • Response example:

    HTTP/1.1 200 OK 
    Transfer-Encoding: chunked 
    x-bce-request-id: 3807ce30-5264-45f2-9b52-26b78e24a750
    Cache-Control: no-cache
    Server: BWS 
    Date: Tue, 24 Mar 2015 13:37:10 GMT 
    Content-Type: application/json;charset=UTF-8 
    
    { 
      "presets": [ 
        { 
          "presetName": "bce.audio_hls_128kbps", 
          "description": "hls audio,128kbps", 
          "container": "hls", 
          "transmux": false, 
          "clip": { 
            "startTimeInSecond": 0 
          }, 
          "audio": { 
            "sampleRateInHz": 44100, 
            "channels": 2 
          }, 
          "createTime": "2015-04-07T12:01:08Z" 
        }, 
        { 
          "presetName": "bce.audio_hls_160kbps", 
          "description": "hls audio,160kbps", 
          "container": "hls", 
          "transmux": false, 
          "clip": { 
            "startTimeInSecond": 0 
          }, 
          "audio": { 
            "sampleRateInHz": 44100, 
            "channels": 2 
          }, 
          "createTime": "2015-04-07T12:01:08Z" 
        }, 
        { 
          "presetName": "bce.audio_hls_64kbps", 
          "description": "hls audio,64kbps", 
          "container": "hls", 
          "transmux": false, 
          "clip": { 
            "startTimeInSecond": 0 
          }, 
          "audio": { 
            "sampleRateInHz": 22050, 
            "channels": 2 
          }, 
          "createTime": "2015-04-07T12:01:08Z" 
        }, 
        { 
          "presetName": "bce.audio_mp3_128kbps", 
          "description": "mp3 audio,128kbps", 
          "container": "mp3", 
          "transmux": false, 
          "clip": { 
            "startTimeInSecond": 0 
          }, 
          "audio": { 
            "sampleRateInHz": 44100, 
            "channels": 2 
          }, 
          "createTime": "2015-04-07T12:01:09Z" 
        }, 
        { 
          "presetName": "bce.audio_mp3_160kbps", 
          "description": "mp3 audio,160kbps", 
          "container": "mp3", 
          "transmux": false, 
          "clip": { 
            "startTimeInSecond": 0 
          }, 
          "audio": { 
            "sampleRateInHz": 44100, 
            "channels": 2 
          }, 
          "createTime": "2015-04-07T12:01:09Z" 
        }, 
        { 
          "presetName": "bce.audio_mp3_192kbps", 
          "description": "mp3 audio,192kbps", 
          "container": "mp3", 
          "transmux": false, 
          "clip": { 
            "startTimeInSecond": 0 
          }, 
          "audio": { 
            "sampleRateInHz": 44100, 
            "channels": 2 
          }, 
          "createTime": "2015-04-07T12:01:09Z" 
        }, 
        { 
          "presetName": "bce.audio_mp3_320kbps", 
          "description": "mp3 audio,320kbps", 
          "container": "mp3", 
          "transmux": false, 
          "clip": { 
            "startTimeInSecond": 0 
          }, 
          "audio": { 
            "sampleRateInHz": 44100, 
            "channels": 2 
          }, 
          "createTime": "2015-04-07T12:01:08Z" 
        }, 
        { 
          "presetName": "bce.audio_mp3_64kbps", 
          "description": "mp3 audio,64kbps", 
          "container": "mp3", 
          "transmux": false, 
          "clip": { 
            "startTimeInSecond": 0 
          }, 
          "audio": { 
            "sampleRateInHz": 22050, 
            "channels": 2 
          }, 
          "createTime": "2015-04-07T12:01:09Z" 
        } 
      ] 
    } 

Delete assigned Template

Interface description

Used to delete the user's template with user-assigned presetName

Request

  • Request syntax:

    DELETE /v{version}/preset/{presetName} HTTP/1.1 
    accept-encoding: gzip, deflate 
    x-bce-date: {utc-date-string} 
    connection: keep-alive 
    accept: */* 
    host: media.bj.baidubce.com 
    x-bce-request-id: {bce-request-id} 
    content-type: application/json
    authorization: {bce-authorization-string} 
  • Request header: No special Header parameter
  • Request parameter: None
  • Request example:

    DELETE /v3/preset/user-video-mp4-1080p-3660kbps HTTP/1.1 
    accept-encoding: gzip, deflate 
    x-bce-date: 2015-03-24T13:06:02Z 
    connection: keep-alive 
    accept: */* 
    host: media.bj.baidubce.com 
    x-bce-request-id: 6d0b0a36-2ffe-49d4-9d81-333a9ab9417e
    content-type: application/json
    authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2015-03-24T13:06:02Z/1800/host;x-bce-date/02f64774999996903cffa5ae4d6eef436127a96f581a4e8467497e239d824be8 

Response

  • Response header: No special Header parameter
  • Response parameter: None
  • Response example:

    ```http 
    HTTP/1.1 200 OK 
    x-bce-request-id: 6d0b0a36-2ffe-49d4-9d81-333a9ab9417e
    Cache-Control: no-cache
    ```

    ##Update the Assigned Template

Interface description

The user can update the assigned Preset through this interface.

Request

  • Request syntax:

    PUT /v{version}/preset/{presetName} HTTP/1.1 
    accept-encoding: gzip, deflate 
    x-bce-date: {utc-date-string} 
    connection: keep-alive 
    accept: */* 
    host: media.bj.baidubce.com 
    x-bce-request-id: {bce-request-id} 
    content-type: application/json
    authorization: {bce-authorization-string} 
  • Request header: No special Header parameter
  • Request parameter: Same as template creation request
  • Request example:

    PUT /v3/preset/customlized_preset HTTP/1.1 
    accept-encoding: gzip, deflate 
    x-bce-date: 2020-02-14T15:12:37Z 
    host: media.bj.baidubce.com 
    accept: */* 
    connection: keep-alive 
    x-bce-request-id: 0969b91e-1890-470b-b93b-97939f672e54
    content-type: application/json
    authorization: bce-auth-v1/46bd9968a6194b4bbdf0341f2286ccce/2020-02-14T15:12:37Z/1800/host;x-bce-date/7e21c9cf1e4e2cc6921a407a388fe98df122c53b9f509043d841be76eb09a1f9 
    
    { 
        "presetName": "customlized_preset", 
        "description": "A example preset description", 
        "container": "mp4", 
        "clip": { 
            "startTimeInSecond": 0, 
            "durationInSecond": 60 
        }, 
        "audio": { 
            "bitRateInBps": 256000 
        }, 
        "video": { 
            "codec": "h264", 
            "codecOptions": { 
                "profile": "baseline" 
            }, 
            "bitRateInBps": 1024000, 
            "maxFrameRate": 30, 
            "maxWidthInPixel": 4096, 
            "maxHeightInPixel": 3072, 
            "sizingPolicy": "keep", 
            "playbackSpeed": 1.5 
        }, 
        "watermarkId": "wmk-fekn2ydgq2fe9f1x" 
    } 

Response

  • Response header: No special Header parameter
  • Response parameter: None
  • Response example:

    HTTP/1.1 200 OK 
    Transfer-Encoding: chunked 
    x-bce-request-id: 0969b91e-1890-470b-b93b-97939f672e54
    Cache-Control: no-cache
    Server: BWS 
    Date: Fri, 14 Feb 2020 07:12:37 GMT 
    Content-Type: application/json;charset=UTF-8 
Previous
Pipeline Interface
Next
MediaInfo-API