ci:CreateMediaJobs permission is required. For details, see Cloud Infinite actions.cam:passrole permission is required. The asynchronous processing interface performs read and write operations on COS resources through the "role" in CAM. The PassRole permission is used for role passing. For details, refer to Access Management - Write Operation - PassRole API.POST /jobs HTTP/1.1Host: <BucketName-APPID>.ci.<Region>.myqcloud.comDate: <GMT Date>Authorization: <Auth String>Content-Length: <length>Content-Type: application/xml<body>
<Request><Tag>Segment</Tag><Input><Object>input/demo.mp4</Object></Input><Operation><Segment><Format>mp4</Format><Duration>5</Duration><HlsEncrypt><IsHlsEncrypt>true</IsHlsEncrypt><UriKey>test-key</UriKey></HlsEncrypt></Segment><Output><Region>ap-chongqing</Region><Bucket>test-123456789</Bucket><Object>output/out-${number}</Object></Output><UserData>This is my data.</UserData><JobLevel>0</JobLevel></Operation><CallBack>http://callback.demo.com</CallBack><CallBackFormat>JSON</CallBackFormat></Request>
Node Name (Keyword) | Parent Node | Description | Type | Required or Not |
Request | None. | Container for saving requests | Container | Yes |
Node Name (Keyword) | Parent Node | Description | Type | Required or Not |
Tag | Request | Create task Tag: Segment | String | Yes |
Input | Request | File information to be operated | Container | Yes |
Operation | Request | Operation rules | Container | Yes |
CallBackFormat | Request | Job callback format, JSON or XML, default XML, priority is higher than the callback format of the queue | String | No |
CallBackType | Request | Job callback type, Url or TDMQ, default Url, priority is higher than the callback type of the queue | String | No |
CallBack | Request | Job callback address, priority is higher than the queue's callback address. When set to no, it means the queue's callback address does not generate callbacks. | String | No |
CallBackMqConfig | Request | Task callback TDMQ configuration, required when CallBackType is TDMQ. For details, see CallBackMqConfig. | Container | No |
Node Name (Keyword) | Parent Node | Description | Type | Required or Not |
Object | Request.Input | file path | String | Yes |
Node Name (Keyword) | Parent Node | Description | Type | Required or Not |
Segment | Request.Operation | encapsulated parameters | Container | Yes |
Output | Request.Operation | Output configuration | Container | Yes |
JobLevel | Request.Operation | Task priority, level limit: 0, 1, 2. Higher levels indicate higher task priority, default is 0. | String | No |
Node Name (Keyword) | Parent Node | Description | Type | Required or Not |
Format | Request.Operation.Segment | Encapsulation format, supports aac, mp3, flac, mp4, ts, mkv, avi, hls, m3u8 | String | Yes |
Duration | Request.Operation.Segment | Transmuxing duration Unit: Seconds integer not less than 5 When Duration is not set, it means only transcoding format is applied without segmentation. | String | No |
TranscodeIndex | Request.Operation.Segment | Stream number being processed, corresponding to Response.MediaInfo.Stream.Video.Index and Response.MediaInfo.Stream.Audio.Index in media information. For details, see get media information interface | String | No |
HlsEncrypt | Request.Operation.Segment | hls encryption configuration, this parameter is valid only when the encapsulation format is hls or m3u8 | Container | No |
StartTime | Request.Operation.Segment | Start Time value ranges from [0, video duration], default value is 0 in seconds Support float format, execution accuracy accurate to milliseconds | String | No |
EndTime | Request.Operation.Segment | End Time value ranges from [0, video duration], default value is video end time in seconds Support float format, execution accuracy accurate to milliseconds | String | No |
Node Name (Keyword) | Parent Node | Description | Type | Required or Not |
IsHlsEncrypt | Request.Operation.Segment.HlsEncrypt | Whether to enable HLS encryption, parameter value true/false, default value false | String | No |
UriKey | Request.Operation.Segment.HlsEncrypt | HLS encryption key. This parameter is meaningful only when IsHlsEncrypt is set to true. | String | No |
Node Name (Keyword) | Parent Node | Description | Type | Required or Not |
Region | Request.Operation.Output | Region of the storage bucket | String | Yes |
Bucket | Request.Operation.Output | Bucket for storing results | String | Yes |
Object | Request.Operation.Output | The filename of the output result. If Duration is set and Format is neither HLS nor m3u8, the filename must include the ${number} parameter as a custom output sequence number for each segmented audio/video stream after remuxing. | String | Yes |
Wildcard | Meaning |
${ext} | muxing format encapsulation format |
${jobid} | task Id |
${number} | output index, counting begins from 0 |
<Response><JobsDetail><Code>Success</Code><Message/><JobId>j8d121820f5e411ec926ef19d53ba9c6f</JobId><State>Submitted</State><CreationTime>2022-06-27T15:23:10+0800</CreationTime><StartTime>-</StartTime><EndTime>-</EndTime><QueueId>p2242ab62c7c94486915508540933a2c6</QueueId><Tag>Segment</Tag><Input><BucketId>test-123456789</BucketId><Object>input/demo.mp4</Object><Region>ap-chongqing</Region></Input><Operation><Segment><Format>mp4</Format><Duration>5</Duration><HlsEncrypt><IsHlsEncrypt>true</IsHlsEncrypt><UriKey>test-key</UriKey></HlsEncrypt></Segment><Output><Region>ap-chongqing</Region><Bucket>test-123456789</Bucket><Object>output/out-${number}</Object></Output><UserData>This is my data.</UserData><JobLevel>0</JobLevel></Operation><CallBack>http://callback.demo.com</CallBack><CallBackFormat>JSON</CallBackFormat></JobsDetail></Response>
Node Name (Keyword) | Parent Node | Description | Type |
Response | None. | Container for saving results | Container |
Node Name (Keyword) | Parent Node | Description | Type |
JobsDetail | Response | Task details | Container array |
Node Name (Keyword) | Parent Node | Description | Type |
Code | Response.JobsDetail | error code, meaningful only when State is Failed | String |
Message | Response.JobsDetail | error description, meaningful only when State is Failed | String |
JobId | Response.JobsDetail | Newly created task ID. | String |
Tag | Response.JobsDetail | Newly created task Tag: Segment | String |
State | Response.JobsDetail | Task Status Submitted: to be executed Running: executing Success: executed successfully Failed: execution failed Pause: task pause, when pausing a queue, to-be-executed tasks will become paused state Cancel: task cancelled | String |
CreationTime | Response.JobsDetail | Task creation time | String |
StartTime | Response.JobsDetail | Task Start Time | String |
EndTime | Response.JobsDetail | Task End Time | String |
QueueId | Response.JobsDetail | Queue ID that the task belongs to | String |
Input | Response.JobsDetail | Input resource address of the task | Container |
Operation | Response.JobsDetail | Rules of the task | Container |
Node Name (Keyword) | Parent Node | Description | Type |
Region | Response.JobsDetail.Input | Region of the storage bucket | String |
Bucket | Response.JobsDetail.Input | Bucket for storing results | String |
Object | Response.JobsDetail.Input | Filename of the output result | String |
Node Name (Keyword) | Parent Node | Description | Type |
Segment | Response.JobsDetail.Operation | In-request Request.Operation.Segment | Container |
Output | Response.JobsDetail.Operation | In-request Request.Operation.Output | Container |
MediaInfo | Response.JobsDetail.Operation | Transcoding output video information. Do not return if the task is incomplete. For details, see MediaInfo. | Container |
MediaResult | Response.JobsDetail.Operation | Basic information of the output file. Do not return if the task is incomplete. For details, see MediaResult. | Container |
UserData | Response.JobsDetail.Operation | Pass through user information | String |
JobLevel | Response.JobsDetail.Operation | Task Priority | String |
POST /jobs HTTP/1.1Authorization: q-sign-algorithm=sha1&q-ak=**********************************&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=**************************************Host: test-1234567890.ci.ap-chongqing.myqcloud.comContent-Length: 166Content-Type: application/xml<Request><Tag>Segment</Tag><Input><Object>input/demo.mkv</Object></Input><Operation><Segment><Format>mp4</Format><Duration>15</Duration></Segment><Output><Region>ap-chongqing</Region><Bucket>test-1234567890</Bucket><Object>output/out-${number}</Object></Output><UserData>This is my data.</UserData><JobLevel>0</JobLevel></Operation><CallBack>http://callback.demo.com</CallBack><CallBackFormat>JSON</CallBackFormat></Request>
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 230Connection: keep-aliveDate: Mon, 28 Jun 2022 15:23:12 GMTServer: tencent-cix-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****<Response><JobsDetail><Code>Success</Code><Message/><JobId>j8d121820f5e411ec926ef19d53ba9c6f</JobId><State>Submitted</State><CreationTime>2022-06-27T15:23:10+0800</CreationTime><StartTime>-</StartTime><EndTime>-</EndTime><QueueId>p2242ab62c7c94486915508540933a2c6</QueueId><Tag>Segment</Tag><Input><BucketId>test-1234567890</BucketId><Object>input/demo.mkv</Object><Region>ap-chongqing</Region></Input><Operation><Segment><Format>mp4</Format><Duration>15</Duration></Segment><Output><Region>ap-chongqing</Region><Bucket>test-123456789</Bucket><Object>output/out-${number}</Object></Output><UserData>This is my data.</UserData><JobLevel>0</JobLevel></Operation><CallBack>http://callback.demo.com</CallBack><CallBackFormat>JSON</CallBackFormat></JobsDetail></Response>
POST /jobs HTTP/1.1Authorization: q-sign-algorithm=sha1&q-ak=**********************************&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=**************************************Host: test-1234567890.ci.ap-chongqing.myqcloud.comContent-Length: 166Content-Type: application/xml<Request><Tag>Segment</Tag><Input><Object>input/demo.mp4</Object></Input><Operation><Segment><Format>mp4</Format><Duration>5</Duration><HlsEncrypt><IsHlsEncrypt>true</IsHlsEncrypt><UriKey>test-key</UriKey></HlsEncrypt></Segment><Output><Region>ap-chongqing</Region><Bucket>test-1234567890</Bucket><Object>output/out-${number}</Object></Output><UserData>This is my data.</UserData><JobLevel>0</JobLevel></Operation><CallBack>http://callback.demo.com</CallBack><CallBackFormat>JSON</CallBackFormat></Request>
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 230Connection: keep-aliveDate: Mon, 28 Jun 2022 15:23:12 GMTServer: tencent-cix-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****<Response><JobsDetail><Code>Success</Code><Message/><JobId>j8d121820f5e411ec926ef19d53ba9c6f</JobId><State>Submitted</State><CreationTime>2022-06-27T15:23:10+0800</CreationTime><StartTime>-</StartTime><EndTime>-</EndTime><QueueId>p2242ab62c7c94486915508540933a2c6</QueueId><Tag>Segment</Tag><Input><BucketId>test-1234567890</BucketId><Object>input/demo.mp4</Object><Region>ap-chongqing</Region></Input><Operation><Segment><Format>mp4</Format><Duration>5</Duration><HlsEncrypt><IsHlsEncrypt>true</IsHlsEncrypt><UriKey>test-key</UriKey></HlsEncrypt></Segment><Output><Region>ap-chongqing</Region><Bucket>test-123456789</Bucket><Object>output/out</Object></Output><UserData>This is my data.</UserData><JobLevel>0</JobLevel></Operation><CallBack>http://callback.demo.com</CallBack><CallBackFormat>JSON</CallBackFormat></JobsDetail></Response>
Feedback