tencent cloud

文档反馈

音视频转码

最后更新时间:2022-08-09 14:33:55

    功能说明

    数据万象支持自定义设置回调 URL,在任务完成后,系统向该 URL 发送 HTTP POST 请求,请求体中包含通知内容。您可通过配置的回调地址及时了解任务处理的进展和状态,以便进行其他业务操作。

    回调内容

    任务完成后,系统会向您设置的回调地址发送回调内容,该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:

    <Response>
      <EventName>TaskFinish</EventName>
      <JobsDetail>
          <Code>Success</Code>
          <CreationTime>2022-06-30T15:29:42+0800</CreationTime>
          <EndTime>2022-06-30T15:30:08+0800</EndTime>
          <Input>
              <BucketId>test-123456789</BucketId>
              <Object>input/demo.mp4</Object>
              <Region>ap-chongqing</Region>
          </Input>
          <JobId>j68427030f84611ecb8546d80f2baf56f</JobId>
          <Message>success</Message>
          <Operation>
              <MediaInfo>
                  <Format>
                      <Duration>13</Duration>
                      <NumStream>1</NumStream>
                      <Size>1909389</Size>
                  </Format>
                  <Stream>
                      <Audio>
                          <Bitrate>128000</Bitrate>
                          <Channel>2</Channel>
                          <ChannelLayout>stereo</ChannelLayout>
                          <CodecLongName>AAC (Advanced Audio Coding)</CodecLongName>
                          <CodecName>aac</CodecName>
                          <CodecTag>0x6134706d</CodecTag>
                          <CodecTagString>mp4a</CodecTagString>
                          <CodecTimeBase>1/44100</CodecTimeBase>
                          <Duration>13.653</Duration>
                          <Index>1</Index>
                          <Language>und</Language>
                          <SampleFmt>fltp</SampleFmt>
                          <SampleRate>44100</SampleRate>
                          <StartTime>0.000000</StartTime>
                          <Timebase>1/44100</Timebase>
                      </Audio>
                      <Subtitle/>
                      <Video>
                          <AvgFps>50.000</AvgFps>
                          <Bitrate>1031968</Bitrate>
                          <CodecLongName>H.265 / HEVC (High Efficiency Video Coding)</CodecLongName>
                          <CodecName>hevc</CodecName>
                          <CodecTag>0x31637668</CodecTag>
                          <CodecTagString>hvc1</CodecTagString>
                          <CodecTimeBase>1/50</CodecTimeBase>
                          <ColorPrimaries>bt470bg</ColorPrimaries>
                          <ColorRange>tv</ColorRange>
                          <ColorTransfer>smpte170m</ColorTransfer>
                          <Duration>12.960</Duration>
                          <FieldOrder>Unknown</FieldOrder>
                          <Fps>50/1</Fps>
                          <HasBFrame>4</HasBFrame>
                          <Height>960</Height>
                          <Index>0</Index>
                          <Language>und</Language>
                          <Level>4</Level>
                          <NumFrames>648</NumFrames>
                          <PixFormat>hvc1</PixFormat>
                          <Profile>Main</Profile>
                          <RefFrames>1</RefFrames>
                          <Rotation>0</Rotation>
                          <StartTime>0.000000</StartTime>
                          <Timebase>1/12800</Timebase>
                          <Width>540</Width>
                      </Video>
                  </Stream>
              </MediaInfo>
              <MediaResult>
                  <OutputFile>
                      <Bucket>test-123456789</Bucket>
                      <Md5Info>
                          <Md5>2db78d168edf2f883adce89a1b4ca033</Md5>
                          <ObjectName>output/transcode.mp4</ObjectName>
                      </Md5Info>
                      <ObjectName>output/transcode.mp4</ObjectName>
                      <ObjectPrefix/>
                      <Region>ap-chongqing</Region>
                  </OutputFile>
              </MediaResult>
              <Output>
                  <Bucket>test-123456789</Bucket>
                  <Object>output/transcode.mp4</Object>
                  <Region>ap-chongqing</Region>
              </Output>
              <TemplateId>t1995d523e42df4c5e858f244b4174360c</TemplateId>
              <TemplateName>trans_993874</TemplateName>
              <UserData>This is my Transcode job.</UserData>
          </Operation>
          <Progress>100</Progress>
          <QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
          <StartTime>2022-06-30T15:29:42+0800</StartTime>
          <State>Success</State>
          <Tag>Transcode</Tag>
      </JobsDetail>
    </Response>
    

    具体的数据内容如下:

    节点名称(关键字) 父节点 描述 类型
    Response 保存结果的容器 Container

    Container 节点 Response 的内容:

    节点名称(关键字) 父节点 描述 类型
    EventName Response 固定值,为 TaskFinish String
    JobsDetail Response 任务的详细信息 Container

    Container 节点 JobsDetail 的内容:同提交转码任务接口中的 Response.JobsDetail

    如果任务是通过工作流触发的,Response.JobsDetail.Input 还会包含 CosHeaders 节点,类型为 Container 数组。

    Container 节点 CosHeaders 的内容:

    节点名称(关键字) 父节点 描述 类型
    Key Response.JobsDetail.Input.CosHeaders 自定义 Header 的名称 String
    Value Response.JobsDetail.Input.CosHeaders 自定义 Header 的值 String

    如果任务是通过工作流触发的,Response.JobsDetail 还会包含 Workflow 节点,类型为 Container。

    Container 节点 Workflow 的内容:

    节点名称(关键字) 父节点 描述 类型
    RunId Response.Workflow 工作流实例 ID String
    WorkflowId Response.Workflow 工作流 ID String
    WorkflowName Response.Workflow 工作流名称 String
    Name Response.Workflow 工作流节点名称 String

    实际案例

    案例 1:通过任务接口触发的任务回调

    <Response>
      <EventName>TaskFinish</EventName>
      <JobsDetail>
          <Code>Success</Code>
          <CreationTime>2022-06-30T15:29:42+0800</CreationTime>
          <EndTime>2022-06-30T15:29:48+0800</EndTime>
          <Input>
              <BucketId>test-123456789</BucketId>
              <Object>input/demo.mp4</Object>
              <Region>ap-chongqing</Region>
          </Input>
          <JobId>j682b9662f84611ecb8546d80f2baf56f</JobId>
          <Message/>
          <Operation>
              <MediaInfo>
                  <Format>
                      <Bitrate>97624.424000</Bitrate>
                      <Duration>0.870000</Duration>
                      <FormatLongName>CompuServe Graphics Interchange Format (GIF)</FormatLongName>
                      <FormatName>gif</FormatName>
                      <NumProgram>0</NumProgram>
                      <NumStream>1</NumStream>
                      <Size>10616656</Size>
                      <StartTime>0.000000</StartTime>
                  </Format>
                  <Stream>
                      <Audio/>
                      <Subtitle/>
                      <Video>
                          <AvgFps>14.666667</AvgFps>
                          <CodecLongName>CompuServe GIF (Graphics Interchange Format)</CodecLongName>
                          <CodecName>gif</CodecName>
                          <CodecTag>0x0000</CodecTag>
                          <CodecTagString>[0][0][0][0]</CodecTagString>
                          <CodecTimeBase>1/100</CodecTimeBase>
                          <ColorPrimaries>unknown</ColorPrimaries>
                          <ColorRange>unknown</ColorRange>
                          <ColorTransfer>unknown</ColorTransfer>
                          <Duration>0.870000</Duration>
                          <Fps>15.083333</Fps>
                          <HasBFrame>0</HasBFrame>
                          <Height>2258</Height>
                          <Index>0</Index>
                          <Level>-99</Level>
                          <NumFrames>7</NumFrames>
                          <PixFormat>bgra</PixFormat>
                          <RefFrames>1</RefFrames>
                          <Rotation>0.000000</Rotation>
                          <StartTime>0.000000</StartTime>
                          <Timebase>1/100</Timebase>
                          <Width>1280</Width>
                      </Video>
                  </Stream>
              </MediaInfo>
              <MediaResult>
                  <OutputFile>
                      <Bucket>test-123456789</Bucket>
                      <Md5Info>
                          <Md5>3df1f845d2ffd20a525a93ec40014d90</Md5>
                          <ObjectName>output/animation.gif</ObjectName>
                      </Md5Info>
                      <ObjectName>output/animation.gif</ObjectName>
                      <ObjectPrefix/>
                      <Region>ap-chongqing</Region>
                  </OutputFile>
              </MediaResult>
              <Output>
                  <Bucket>test-123456789</Bucket>
                  <Object>output/animation.gif</Object>
                  <Region>ap-chongqing</Region>
              </Output>
              <TemplateId>t1f16e1dfbdc994105b31292d45710642a</TemplateId>
              <TemplateName>template_name1512456</TemplateName>
              <UserData>This is my Animation job.</UserData>
          </Operation>
          <QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
          <StartTime>2022-06-30T15:29:43+0800</StartTime>
          <State>Success</State>
          <Tag>Animation</Tag>
      </JobsDetail>
    </Response>
    

    案例 2:通过工作流触发的任务回调

    <Response>
      <EventName>TaskFinish</EventName>
      <JobsDetail>
          <Code>Success</Code>
          <CreationTime>2022-06-30T15:29:42+0800</CreationTime>
          <EndTime>2022-06-30T15:30:08+0800</EndTime>
          <Input>
              <BucketId>test-123456789</BucketId>
              <Object>input/demo.mp4</Object>
              <Region>ap-chongqing</Region>
              <CosHeaders>
                  <Key>Content-Type</Key>
                  <Value>video/mp4</Value>
              </CosHeaders>
              <CosHeaders>
                  <Key>x-cos-request-id</Key>
                  <Value>NjJiZDYwYTFfNjUzYTYyNjRfZjEwZl8xMmZhYzY5</Value>
              </CosHeaders>
              <CosHeaders>
                  <Key>EventName</Key>
                  <Value>cos:ObjectCreated:Put</Value>
              </CosHeaders>
              <CosHeaders>
                  <Key>Size</Key>
                  <Value>1424687</Value>
              </CosHeaders>
          </Input>
          <JobId>j68427030f84611ecb8546d80f2baf56f</JobId>
          <Message>success</Message>
          <Operation>
              <MediaInfo>
                  <Format>
                      <Duration>13</Duration>
                      <NumStream>1</NumStream>
                      <Size>1909389</Size>
                  </Format>
                  <Stream>
                      <Audio>
                          <Bitrate>128000</Bitrate>
                          <Channel>2</Channel>
                          <ChannelLayout>stereo</ChannelLayout>
                          <CodecLongName>AAC (Advanced Audio Coding)</CodecLongName>
                          <CodecName>aac</CodecName>
                          <CodecTag>0x6134706d</CodecTag>
                          <CodecTagString>mp4a</CodecTagString>
                          <CodecTimeBase>1/44100</CodecTimeBase>
                          <Duration>13.653</Duration>
                          <Index>1</Index>
                          <Language>und</Language>
                          <SampleFmt>fltp</SampleFmt>
                          <SampleRate>44100</SampleRate>
                          <StartTime>0.000000</StartTime>
                          <Timebase>1/44100</Timebase>
                      </Audio>
                      <Subtitle/>
                      <Video>
                          <AvgFps>50.000</AvgFps>
                          <Bitrate>1031968</Bitrate>
                          <CodecLongName>H.265 / HEVC (High Efficiency Video Coding)</CodecLongName>
                          <CodecName>hevc</CodecName>
                          <CodecTag>0x31637668</CodecTag>
                          <CodecTagString>hvc1</CodecTagString>
                          <CodecTimeBase>1/50</CodecTimeBase>
                          <ColorPrimaries>bt470bg</ColorPrimaries>
                          <ColorRange>tv</ColorRange>
                          <ColorTransfer>smpte170m</ColorTransfer>
                          <Duration>12.960</Duration>
                          <FieldOrder>Unknown</FieldOrder>
                          <Fps>50/1</Fps>
                          <HasBFrame>4</HasBFrame>
                          <Height>960</Height>
                          <Index>0</Index>
                          <Language>und</Language>
                          <Level>4</Level>
                          <NumFrames>648</NumFrames>
                          <PixFormat>hvc1</PixFormat>
                          <Profile>Main</Profile>
                          <RefFrames>1</RefFrames>
                          <Rotation>0</Rotation>
                          <StartTime>0.000000</StartTime>
                          <Timebase>1/12800</Timebase>
                          <Width>540</Width>
                      </Video>
                  </Stream>
              </MediaInfo>
              <MediaResult>
                  <OutputFile>
                      <Bucket>test-123456789</Bucket>
                      <Md5Info>
                          <Md5>2db78d168edf2f883adce89a1b4ca033</Md5>
                          <ObjectName>output/transcode.mp4</ObjectName>
                      </Md5Info>
                      <ObjectName>output/transcode.mp4</ObjectName>
                      <ObjectPrefix/>
                      <Region>ap-chongqing</Region>
                  </OutputFile>
              </MediaResult>
              <Output>
                  <Bucket>test-123456789</Bucket>
                  <Object>output/transcode.mp4</Object>
                  <Region>ap-chongqing</Region>
              </Output>
              <TemplateId>t1995d523e42df4c5e858f244b4174360c</TemplateId>
              <TemplateName>trans_993874</TemplateName>
              <UserData>This is my Transcode job.</UserData>
          </Operation>
          <Progress>100</Progress>
          <QueueId>p2242ab62c7c94486915508540933a2c6</QueueId>
          <StartTime>2022-06-30T15:29:42+0800</StartTime>
          <State>Success</State>
          <Tag>Transcode</Tag>
          <Workflow>
              <Name>Transcode_1581665960537</Name>
              <RunId>ic90edd59f84f11ec9d4f525400a3c59f</RunId>
              <WorkflowId>web6ac56c1ef54dbfa44d7f4103203be9</WorkflowId>
              <WorkflowName>workflow-test</WorkflowName>
          </Workflow>
      </JobsDetail>
    </Response>
    

    案例 3:通过工作流触发的任务回调, 格式为 JSON

    {
      "EventName": "TaskFinish",
      "JobsDetail": {
          "Code": "Success",
          "CreationTime": "2022-06-30T15:29:42+0800",
          "EndTime": "2022-06-30T15:30:08+0800",
          "Input": {
              "BucketId": "test-123456789",
              "Object": "input/demo.mp4",
              "Region": "ap-chongqing",
              "CosHeaders": [{
                      "Key": "Content-Type",
                      "Value": "video/mp4"
                  },
                  {
                      "Key": "x-cos-request-id",
                      "Value": "NjJiZDYwYTFfNjUzYTYyNjRfZjEwZl8xMmZhYzY5"
                  },
                  {
                      "Key": "EventName",
                      "Value": "cos:ObjectCreated:Put"
                  },
                  {
                      "Key": "Size",
                      "Value": "1424687"
                  }
              ]
          },
          "JobId": "j68427030f84611ecb8546d80f2baf56f",
          "Message": "success",
          "Operation": {
              "MediaInfo": {
                  "Format": {
                      "Duration": "13",
                      "NumStream": "1",
                      "Size": "1909389"
                  },
                  "Stream": {
                      "Audio": {
                          "Bitrate": "128000",
                          "Channel": "2",
                          "ChannelLayout": "stereo",
                          "CodecLongName": "AAC (Advanced Audio Coding)",
                          "CodecName": "aac",
                          "CodecTag": "0x6134706d",
                          "CodecTagString": "mp4a",
                          "CodecTimeBase": "1/44100",
                          "Duration": "13.653",
                          "Index": "1",
                          "Language": "und",
                          "SampleFmt": "fltp",
                          "SampleRate": "44100",
                          "StartTime": "0.000000",
                          "Timebase": "1/44100"
                      },
                      "Video": {
                          "AvgFps": "50.000",
                          "Bitrate": "1031968",
                          "CodecLongName": "H.265 / HEVC (High Efficiency Video Coding)",
                          "CodecName": "hevc",
                          "CodecTag": "0x31637668",
                          "CodecTagString": "hvc1",
                          "CodecTimeBase": "1/50",
                          "ColorPrimaries": "bt470bg",
                          "ColorRange": "tv",
                          "ColorTransfer": "smpte170m",
                          "Duration": "12.960",
                          "FieldOrder": "Unknown",
                          "Fps": "50/1",
                          "HasBFrame": "4",
                          "Height": "960",
                          "Index": "0",
                          "Language": "und",
                          "Level": "4",
                          "NumFrames": "648",
                          "PixFormat": "hvc1",
                          "Profile": "Main",
                          "RefFrames": "1",
                          "Rotation": "0",
                          "StartTime": "0.000000",
                          "Timebase": "1/12800",
                          "Width": "540"
                      }
                  }
              },
              "MediaResult": {
                  "OutputFile": {
                      "Bucket": "test-123456789",
                      "Md5Info": {
                          "Md5": "2db78d168edf2f883adce89a1b4ca033",
                          "ObjectName": "output/transcode.mp4"
                      },
                      "ObjectName": "output/transcode.mp4",
                      "Region": "ap-chongqing"
                  }
              },
              "Output": {
                  "Bucket": "test-123456789",
                  "Object": "output/transcode.mp4",
                  "Region": "ap-chongqing"
              },
              "TemplateId": "t1995d523e42df4c5e858f244b4174360c",
              "TemplateName": "trans_993874",
              "UserData": "This is my Transcode job."
          },
          "Progress": "100",
          "QueueId": "p2242ab62c7c94486915508540933a2c6",
          "StartTime": "2022-06-30T15:29:42+0800",
          "State": "Success",
          "Tag": "Transcode",
          "Workflow": {
              "Name": "Transcode_1581665960537",
              "RunId": "ic90edd59f84f11ec9d4f525400a3c59f",
              "WorkflowId": "web6ac56c1ef54dbfa44d7f4103203be9",
              "WorkflowName": "workflow-test"
          }
      }
    }
    
    联系我们

    联系我们,为您的业务提供专属服务。

    技术支持

    如果你想寻求进一步的帮助,通过工单与我们进行联络。我们提供7x24的工单服务。

    7x24 电话支持