Envia um job de snapshot.
Observações de uso
Esta operação gera apenas imagens no formato JPG.
Modo assíncrono: esta operação pode retornar uma resposta antes da captura dos snapshots. Os jobs de snapshot são enfileirados em segundo plano e o ApsaraVideo Media Processing (MPS) os processa de forma assíncrona. Se você definir o parâmetro Interval ou Num, o sistema processará o job no modo assíncrono. Para dúvidas frequentes sobre captura de snapshots, consulte Perguntas frequentes sobre captura de snapshots.
Notificações: ao enviar um job de snapshot, o parâmetro PipelineId é obrigatório. O sistema envia uma mensagem assíncrona somente se o recurso de notificação estiver ativado para a fila do MPS.
Limite de QPS
Você pode chamar esta operação até 50 vezes por segundo por conta. O sistema descarta solicitações que excedem esse limite, o que pode causar interrupções no serviço. Considere essa restrição ao chamar esta operação. Para mais informações, consulte Limite de QPS.
Depuração
Parâmetros da solicitação
| Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
| Action | String | Sim | SubmitSnapshotJob | Operação a executar. Defina o valor como SubmitSnapshotJob. |
| Input | String | Sim | null | Informações sobre a entrada do job. O valor deve ser um objeto JSON. Conceda permissões relacionadas ao MPS ao bucket do Object Storage Service (OSS) que armazena o objeto OSS usado como entrada. Para isso, faça login no console do MPS, escolha Workflows > Media Buckets no painel de navegação à esquerda e clique em Add Bucket. Em seguida, aplique a codificação URL ao objeto OSS. Exemplo: Nota O bucket do OSS deve residir na mesma região do serviço MPS. |
| SnapshotConfig | String | Sim | null | Configuração de captura de snapshot. Para mais informações, consulte a seção "AliyunSnapshotConfig" no tópico Tipos de dados. Nota Se você definir o parâmetro Interval aninhado em SnapshotConfig, o sistema capturará os snapshots nos intervalos especificados. O valor padrão de Interval é 10 segundos. Caso o vídeo de entrada seja curto e você especifique valores altos para Num e Interval, a quantidade real de snapshots poderá ser inferior ao número definido. Por exemplo, se Num for 5 e Interval for 3 em um vídeo de 10 segundos, não será possível atingir 5 snapshots. |
| UserData | String | Não | testid-001 | Dados personalizados. Podem conter letras, dígitos e hifens (-), com tamanho máximo de 1.024 bytes. Não podem começar com caractere especial. |
| PipelineId | String | Não | dd3dae411e704030b921e52698e5**** | ID da fila do MPS para envio do job de snapshot. Para obter o ID, faça login no console do MPS e escolha Global Settings > Pipelines no painel de navegação à esquerda. Nota Certifique-se de vincular um tópico disponível do Message Service (MNS) à fila do MPS especificada. Caso contrário, o envio das mensagens relevantes poderá falhar. |
Parâmetros de resposta
| Parâmetro | Tipo | Exemplo | Descrição |
| RequestId | String | 19B6D8C5-A5DD-467A-B435-29D393C71E2D | ID da solicitação. |
| SnapshotJob | Object | Informações sobre o job de snapshot. | |
| CreationTime | String | 2021-05-19T03:11:48Z | Horário de criação do job. |
| SnapshotConfig | Object | Configuração de captura de snapshot. | |
| Time | String | 5 | Tempo inicial para captura dos snapshots. Unidade: milissegundos. |
| TileOut | Object | Configuração de mosaico. | |
| Padding | String | 0 | Distância entre duas imagens individuais consecutivas na imagem em mosaico.
|
| Color | String | black | Cor de fundo.
Nota Para definir a cor de fundo como preto, especifique a palavra-chave em um dos três formatos: Black, black ou #000000. |
| CellSelStep | String | 3 | Passo de uma imagem individual. |
| CellHeight | String | 100 | Altura de uma imagem individual. O valor padrão corresponde à altura do snapshot capturado. |
| CellWidth | String | 100 | Largura de uma imagem individual. O valor padrão corresponde à largura do snapshot capturado. |
| Margin | String | 5 | Largura da margem da imagem em mosaico.
|
| Columns | String | 10 | Número de colunas na imagem em mosaico. Valor padrão: 10. |
| IsKeepCellPic | String | false | Indica se as imagens individuais são mantidas. Valores válidos:
|
| Lines | String | 10 | Número de linhas na imagem em mosaico. Valor padrão: 10. |
| Interval | String | 20 | Intervalo para captura de snapshots.
|
| FrameType | String | intra | Tipo de snapshot. Valor padrão: normal. Valores válidos:
Nota Se FrameType for definido como intra na solicitação, apenas quadros-chave serão capturados. Quando nenhum quadro-chave for encontrado no momento especificado, o sistema capturará o quadro-chave mais próximo. Quadros-chave são capturados mais rapidamente que quadros normais sob as mesmas regras de snapshot. |
| Width | String | 8 | Largura do snapshot capturado. |
| Height | String | 8 | Altura do snapshot capturado. |
| OutputFile | Object | Informações sobre o arquivo de saída do job de snapshot. | |
| RoleArn | String | acs:ram::1:role/testrole | ARN (Alibaba Cloud Resource Name) da função RAM especificada. Formato: acs:ram::$accountID:role/$roleName. |
| Object | String | test.png | Objeto OSS gerado como arquivo de saída do job de snapshot. |
| Location | String | example-location | ID da região onde está localizado o bucket OSS que armazena o objeto. |
| Bucket | String | example | Bucket OSS que armazena o objeto. |
| Num | String | 10 | Quantidade de snapshots. Se o parâmetro Num for definido na solicitação, os snapshots serão capturados em intervalos. |
| TileOutputFile | Object | Informações sobre o arquivo de saída do job de mosaico. | |
| RoleArn | String | acs:ram::1:role/testrole | ARN da função RAM especificada. Formato: acs:ram::$accountID:role/$roleName. |
| Object | String | example.png | Objeto OSS gerado como arquivo de saída do job de mosaico. |
| Location | String | example-location | ID da região onde está localizado o bucket OSS que armazena o objeto. |
| Bucket | String | example | Bucket OSS que armazena o objeto. |
| State | String | Snapshoting | Status do job de snapshot. Valores válidos:
|
| Message | String | The resource operated InputFile is bad | Mensagem de erro retornada quando o job falha. Este parâmetro não é retornado se o job for bem-sucedido. |
| MNSMessageResult | Object | Mensagem enviada pelo MNS para notificar o usuário sobre o resultado do job. | |
| MessageId | String | 799454621135656C7F815F198A76**** | ID da mensagem. Este parâmetro não é retornado se o job falhar. |
| ErrorMessage | String | The resource operated InputFile is bad | Mensagem de erro retornada quando o job falha. Este parâmetro não é retornado se o job for bem-sucedido. |
| ErrorCode | String | InvalidParameter | Código de erro retornado quando o job falha. Este parâmetro não é retornado se o job for bem-sucedido. |
| Input | Object | Informações sobre a entrada do job. | |
| RoleArn | String | acs:ram::1:role/testrole | ARN da função RAM especificada. Formato: acs:ram::$accountID:role/$roleName. |
| Object | String | example.flv | Objeto OSS usado como arquivo de entrada. |
| Location | String | example-location' | ID da região onde está localizado o bucket OSS que armazena o objeto. |
| Bucket | String | example | Bucket OSS que armazena o objeto. |
| Count | String | 1 | Quantidade de snapshots capturados. |
| TileCount | String | 5 | Número de imagens individuais contidas na imagem em mosaico. |
| UserData | String | testid-001 | Dados personalizados. |
| Code | String | ResourceContentBad | Código de erro retornado quando o job falha. Este parâmetro não é retornado se o job for bem-sucedido. |
| PipelineId | String | dd3dae411e704030b921e52698e5**** | ID da fila do MPS onde o job de snapshot foi enviado. |
| Id | String | f4e3b9ba9f3840c39d6e288056f0**** | ID do job de snapshot. |
Exemplos
Exemplo de solicitação
http(s)://mts.cn-hangzhou.aliyuncs.com/?Action=SubmitSnapshotJob
&Input={"Bucket":"example-bucket","Location":"example-location","Object":"example%2Ftest.flv"}
&SnapshotConfig={"OutputFile":{"Bucket":"example-001","Location":"example-location","Object":"{Count}.jpg"},"Time":"5","Num":"10","Interval":"20"}
&UserData=testid-001
&PipelineId=dd3dae411e704030b921e52698e5****
&<Common request parameters>
Exemplos de respostas de sucesso
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<SubmitSnapshotJobResponse>
<RequestId>19B6D8C5-A5DD-467A-B435-29D393C71E2D</RequestId>
<SnapshotJob>
<CreationTime>2021-05-19T03:11:48Z</CreationTime>
<SnapshotConfig>
<Time>5</Time>
<TileOut>
<Padding>0</Padding>
<Color>black</Color>
<CellSelStep>3</CellSelStep>
<CellHeight>100</CellHeight>
<CellWidth>100</CellWidth>
<Margin>5</Margin>
<Columns>10</Columns>
<IsKeepCellPic>false</IsKeepCellPic>
<Lines>10</Lines>
</TileOut>
<Interval>20</Interval>
<FrameType>intra</FrameType>
<Width>8</Width>
<Height>8</Height>
<OutputFile>
<RoleArn>acs:ram::1:role/testrole</RoleArn>
<Object>test.png</Object>
<Location>example-location</Location>
<Bucket>example</Bucket>
</OutputFile>
<Num>10</Num>
<TileOutputFile>
<RoleArn>acs:ram::1:role/testrole</RoleArn>
<Object>example.png</Object>
<Location>example-location</Location>
<Bucket>example</Bucket>
</TileOutputFile>
</SnapshotConfig>
<State>Snapshoting</State>
<Message>The resource operated InputFile is bad</Message>
<MNSMessageResult>
<MessageId>799454621135656C7F815F198A76****</MessageId>
<ErrorMessage>The resource operated InputFile is bad</ErrorMessage>
<ErrorCode>InvalidParameter</ErrorCode>
</MNSMessageResult>
<Input>
<RoleArn>acs:ram::1:role/testrole</RoleArn>
<Object>example.flv</Object>
<Location>example-location'</Location>
<Bucket>example</Bucket>
</Input>
<Count>1</Count>
<TileCount>5</TileCount>
<UserData>testid-001</UserData>
<Code>ResourceContentBad</Code>
<PipelineId>dd3dae411e704030b921e52698e5****</PipelineId>
<Id>f4e3b9ba9f3840c39d6e288056f0****</Id>
</SnapshotJob>
</SubmitSnapshotJobResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "19B6D8C5-A5DD-467A-B435-29D393C71E2D",
"SnapshotJob" : {
"CreationTime" : "2021-05-19T03:11:48Z",
"SnapshotConfig" : {
"Time" : "5",
"TileOut" : {
"Padding" : "0",
"Color" : "black",
"CellSelStep" : "3",
"CellHeight" : "100",
"CellWidth" : "100",
"Margin" : "5",
"Columns" : "10",
"IsKeepCellPic" : "false",
"Lines" : "10"
},
"Interval" : "20",
"FrameType" : "intra",
"Width" : "8",
"Height" : "8",
"OutputFile" : {
"RoleArn" : "acs:ram::1:role/testrole",
"Object" : "test.png",
"Location" : "example-location",
"Bucket" : "example"
},
"Num" : "10",
"TileOutputFile" : {
"RoleArn" : "acs:ram::1:role/testrole",
"Object" : "example.png",
"Location" : "example-location",
"Bucket" : "example"
}
},
"State" : "Snapshoting",
"Message" : "The resource operated InputFile is bad",
"MNSMessageResult" : {
"MessageId" : "799454621135656C7F815F198A76****",
"ErrorMessage" : "The resource operated InputFile is bad",
"ErrorCode" : "InvalidParameter"
},
"Input" : {
"RoleArn" : "acs:ram::1:role/testrole",
"Object" : "example.flv",
"Location" : "example-location'",
"Bucket" : "example"
},
"Count" : "1",
"TileCount" : "5",
"UserData" : "testid-001",
"Code" : "ResourceContentBad",
"PipelineId" : "dd3dae411e704030b921e52698e5****",
"Id" : "f4e3b9ba9f3840c39d6e288056f0****"
}
}
Códigos de erro
Para obter uma lista de códigos de erro, visite o Centro de Erros de API.