Problemas comuns e soluções para jobs de snapshot do MPS, incluindo erros de timeout, configuração de parâmetros e resultados inesperados.
Erros comuns em jobs de snapshot
Jobs de snapshot podem retornar os seguintes códigos de erro: SnapshotTimeOut, InvalidParameter.ResourceNotFound ou InvalidParameter.ResourceContentBad. Se um job de snapshot falhar, chame QuerySnapshotJobList para consultar a causa da falha.
SnapshotTimeOut
Ocorre quando um job de snapshot síncrono atinge o tempo limite de 5 segundos. Arquivos de entrada grandes podem exceder esse limite. Se os timeouts forem frequentes, envie o job no modo assíncrono.
InvalidParameter.ResourceNotFound
Ocorre quando o sistema não encontra o arquivo de entrada. Verifique as possíveis causas:
|
Causa |
Solução |
|
O arquivo de entrada não foi enviado ou foi excluído antes do envio do job. |
Envie o arquivo de entrada antes de submeter o job de snapshot. |
|
O caminho do OSS do arquivo de entrada é inválido. |
Verifique a ortografia do caminho. |
|
O caminho do OSS do arquivo de entrada não está codificado em URL. |
Aplique codificação URL ao caminho. Consulte Codificação URL. |
|
O bucket do OSS não está na mesma região do MPS. |
Altere a região. |
|
O arquivo de entrada usa armazenamento Cold Archive ou Deep Cold Archive. |
Restaure os dados antes de acessá-los. |
|
O arquivo de entrada usa armazenamento Archive e o acesso em tempo real está desativado ou o arquivo não foi restaurado. |
Ative o acesso em tempo real para dados Archive ou restaure o arquivo antes de acessá-lo. |
|
A proteção contra hotlink baseada em Referer está ativada para o bucket do OSS. |
Para jobs acionados por workflow, configure um referer para o bucket do OSS. Para jobs enviados manualmente, adicione o parâmetro Referer ao parâmetro Input. |
InvalidParameter.ResourceContentBad
Indica conflitos de parâmetros ou arquivo de entrada corrompido. Siga estas etapas para solucionar o problema:
Verifique se o arquivo de entrada não está corrompido.
Confira os parâmetros do job de snapshot, especialmente Time, FrameType e OutputFile.
Se o erro persistir, entre em contato com o suporte técnico da Alibaba Cloud informando seu ID de região e ID de solicitação.
Falha em snapshot síncrono para arquivos M3U8
Em jobs de snapshot síncrono para arquivos M3U8, os arquivos TS referenciados no índice M3U8 devem estar no mesmo diretório do arquivo M3U8. O modo assíncrono não possui essa restrição.
Falha no snapshot: tempo especificado excede a duração do vídeo
Código de erro: InvalidParameter.ResourceContentBad
Mensagem de erro: The resource operated InputFile is bad
|
Causa |
Solução |
|
O parâmetro |
Defina Time com um valor menor que a duração do vídeo. Como alternativa, use o modo de keyframe: se Time exceder a duração do vídeo, o sistema capturará o keyframe mais próximo em vez de gerar falha. |
Falha no job: parâmetro Object de OutputFile inválido
Código de erro: InvalidParameter.ResourceContentBad
Mensagem de erro: The format of parameter "SnapshotConfig:OutputFile:Object" is invalid
|
Causa |
Solução |
|
O parâmetro Object em OutputFile não contém o placeholder {count} para um job de múltiplos snapshots. |
Adicione {Count} ao parâmetro Object em OutputFile para evitar que os snapshots se sobrescrevam. |
|
Format está definido como vtt para snapshots WebVTT, mas o parâmetro Object em OutputFile não usa a extensão .vtt. |
Altere a extensão do arquivo no parâmetro Object para .vtt. |
Falha no job: parâmetro Object de TileOutputFile inválido
Código de erro: InvalidParameter.ResourceContentBad
Mensagem de erro: The format of parameter "SnapshotConfig:TileOutputFile:Object" is invalid
|
Causa |
Solução |
|
O parâmetro Object em TileOutputFile não contém o placeholder {TileCount} para um job de geração de sprites. |
Adicione {TileCount} ao parâmetro Object em TileOutputFile para evitar que os sprites se sobrescrevam. |
Perguntas frequentes sobre configurações de snapshot
Como diferenciar os modos de snapshot síncrono e assíncrono?
Se você especificar o parâmetro Interval ou Num em SnapshotConfig, o job será executado no modo assíncrono, independentemente da especificação de PipelineId.
O que acontece se o tempo do snapshot exceder a duração do vídeo?
-
Snapshot único em que Time excede a duração:
Quadro regular: O job falha com o código de erro "InvalidParameter.ResourceContentBad" e a mensagem "The resource operated InputFile is bad".
Keyframe: O job é bem-sucedido. O sistema captura o keyframe mais próximo do tempo especificado.
Múltiplos snapshots: Se Time + Interval × Num exceder a duração do vídeo, o job ainda será bem-sucedido. Os snapshots são capturados apenas em pontos dentro da duração do vídeo. O sistema retorna o número total de snapshots capturados.
Resultados inesperados de snapshots
A contagem de snapshots não corresponde às configurações
Verifique as possíveis causas:
|
Causa |
Solução |
|
O caminho de saída do sprite e o caminho de saída da imagem individual são idênticos, causando a sobrescrita dos arquivos. |
Utilize buckets ou caminhos diferentes para OutputFile e TileOutputFile. |
|
Tanto Interval quanto Num foram especificados (modo de amostragem). Se o vídeo for muito curto, menos snapshots podem ser capturados do que o especificado por Num. |
Este é o comportamento esperado. |
|
A detecção de quadros pretos está ativada para um job de snapshot único. Nenhum snapshot é capturado se o quadro for filtrado como preto. |
Ajuste os parâmetros BlackLevel e PixelBlackThreshold para reduzir a filtragem de quadros pretos. |
|
A captura de keyframes está ativada (
|
Para capturar snapshots em momentos precisos, defina FrameType como normal. |
O tempo do snapshot não corresponde às configurações
|
Causa |
Solução |
|
FrameType está definido como intra (modo keyframe). Os keyframes aparecem em intervalos no vídeo, portanto os tempos de captura não são precisos. O sistema captura o keyframe mais próximo do tempo especificado. |
Para capturar snapshots em momentos precisos, defina FrameType como normal. |
Snapshots desfocados
|
Causa |
Solução |
|
FrameType está definido como normal. Quadros regulares são menos nítidos que keyframes. |
Defina FrameType como intra para obter snapshots mais nítidos. |
Distorção do snapshot ou incompatibilidade de proporção
Verifique as possíveis causas:
|
Causa |
Solução |
|
Largura e altura foram especificadas, mas a proporção difere do vídeo de entrada. |
Especifique apenas largura ou altura. A outra dimensão é dimensionada automaticamente para preservar a proporção original. |
|
Os valores de |
Defina apenas uma dimensão (largura ou altura). A outra se ajusta automaticamente para manter a proporção. |
|
O vídeo de entrada possui atributos DAR/SAR incompatíveis. |
Entre em contato com o suporte técnico da Alibaba Cloud informando seu ID de região e ID do job de snapshot. |
Vídeo retrato gera snapshots em paisagem
Vídeos MP4 no modo retrato contêm um identificador de rotação (comum em vídeos capturados por dispositivos móveis), fazendo com que os snapshots apareçam na orientação paisagem.
Para verificar a existência de um identificador de rotação:
Chame SubmitMediaInfoJob e verifique o parâmetro Rotate. Um valor de -90 ou 90 indica que o vídeo está rotacionado, fazendo com que a orientação de exibição difira da entrada.
Snapshot síncrono não gera sprites ou arquivos VTT
O modo síncrono captura apenas um snapshot e não suporta geração de sprites ou saída WebVTT. Para gerar sprites ou snapshots WebVTT, envie o job no modo assíncrono.