Envia um job de análise de modelo predefinido.
Observações de uso
Ao chamar a operação SubmitAnalysisJob para enviar um job de análise de modelo predefinido, o ApsaraVideo Media Processing (MPS) analisa inteligentemente o arquivo de entrada e recomenda um modelo predefinido adequado. Chame a operação QueryAnalysisJobList para consultar o resultado da análise ou ative notificações assíncronas para recebê-lo.
O resultado da análise permanece disponível por apenas duas semanas após a geração. Após esse período, ele é excluído. Se você utilizar o modelo predefinido recomendado em um job de transcodificação depois de duas semanas, o job falhará e retornará o código de erro
AnalysisResultNotFound.
Limite de QPS
Você pode chamar esta operação até 100 vezes por segundo por conta. Se a frequência de chamadas exceder o limite, o throttling será acionado, o que pode afetar seus negócios. Recomendamos observar esse limite 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 | SubmitAnalysisJob | A operação a ser executada. Defina o valor como SubmitAnalysisJob. |
| Input | String | Sim | null | As informações de entrada do job de análise de modelo predefinido a ser enviado. O valor é um objeto JSON. Faça logon no console do Object Storage Service (OSS) para conceder permissões de leitura no bucket do OSS especificado ao MPS. ~~29253~~ |
| AnalysisConfig | String | Não | null | A configuração do job. Configure este parâmetro conforme necessário. ~~29253~~ |
| UserData | String | Não | testid-001 | Os dados personalizados. Podem conter letras, dígitos e hifens (-), com comprimento máximo de 1.024 bytes. Não podem começar com um caractere especial. |
| PipelineId | String | Sim | bb558c1cc25b45309aab5be44d19**** | O ID da fila do MPS à qual o job é adicionado. Para visualizar o ID da fila do MPS, faça logon no MPS console e escolha Global Settings > Pipelines no painel de navegação à esquerda. Para ativar notificações assíncronas, certifique-se de que a fila esteja vinculada a um tópico do Message Service (MNS). |
| Priority | String | Não | 10 | A prioridade do job na fila do MPS à qual ele foi adicionado.
|
Parâmetros de resposta
| Parâmetro | Tipo | Exemplo | Descrição |
| RequestId | String | B52658D4-07AB-43CD-82B0-210958A65E23 | O ID da solicitação. |
| AnalysisJob | Object | As informações sobre o job de análise de modelo predefinido enviado. |
|
| CreationTime | String | 2014-01-10T12:00:00Z | O horário de criação do job. |
| Percent | Long | 100 | O progresso da transcodificação. |
| State | String | Success | O status do job. Valores válidos:
|
| AnalysisConfig | Object | A configuração do job. |
|
| QualityControl | Object | O controle de qualidade da saída do job. |
|
| MethodStreaming | String | network | O modo de reprodução. Valores válidos:
|
| RateQuality | String | 50 | O nível de qualidade da saída do job. |
| PropertiesControl | Object | O controle dos atributos da saída do job. |
|
| Deinterlace | String | Force | Indica se o desentrelaçamento foi forçado. Valores válidos:
|
| Crop | Object | A configuração de recorte das imagens de vídeo. |
|
| Top | String | 8 | A margem superior recortada. Nota Este parâmetro é inválido se o parâmetro Mode estiver definido como Auto ou None. |
| Width | String | 8 | A largura do vídeo após o recorte das margens. Nota Este parâmetro é inválido se o parâmetro Mode estiver definido como Auto ou None. |
| Height | String | 8 | A altura do vídeo após o recorte das margens. Nota Este parâmetro é inválido se o parâmetro Mode estiver definido como Auto ou None. |
| Left | String | 8 | A margem esquerda recortada. Nota Este parâmetro é inválido se o parâmetro Mode estiver definido como Auto ou None. |
| Mode | String | Auto | O modo de recorte. Valores válidos:
|
| Message | String | The resource operated \"PipelineId\" cannot be found | A mensagem de erro retornada quando o job falha. |
| Priority | String | 10 | A prioridade do job na fila do MPS à qual ele foi adicionado.
|
| MNSMessageResult | Object | A mensagem enviada pelo MNS para notificar o usuário sobre o resultado do job. |
|
| MessageId | String | 3ca84a39a9024f19853b21be9cf9**** | O ID da mensagem de sucesso. Este parâmetro não é retornado se o job falhar. |
| ErrorMessage | String | The resource operated \"PipelineId\" cannot be found | A mensagem de erro retornada quando o job falha. Este parâmetro não é retornado se o job for bem-sucedido. |
| ErrorCode | String | InvalidParameter.ResourceNotFound | O código de erro retornado quando o job falha. Este parâmetro não é retornado se o job for bem-sucedido. |
| TemplateList | Array of Template | A lista de modelos predefinidos correspondentes. |
|
| Template | |||
| Video | Object | A configuração do codec de vídeo. |
|
| Bufsize | String | 5000 | O tamanho do buffer.
|
| Degrain | String | 5 | O nível do algoritmo independente de redução de ruído. |
| BitrateBnd | Object | O intervalo médio de taxa de bits do vídeo. |
|
| Max | String | 20 | O limite superior da taxa de bits total. Unidade: Kbit/s. |
| Min | String | 10 | O limite inferior da taxa de bits total. Unidade: Kbit/s. |
| PixFmt | String | yuvj420p | O formato de pixel para codificação de cores de vídeo. Valores válidos: formatos de pixel padrão, como yuv420p e yuvj420p. |
| Codec | String | H.264 | O formato do codec de vídeo. Valor padrão: H.264. |
| Height | String | 1880 | A altura do vídeo.
|
| Qscale | String | 15 | O nível de controle de qualidade do vídeo. |
| Bitrate | String | 10 | A taxa de bits média do vídeo. Unidade: Kbit/s. |
| Maxrate | String | 10 | A taxa de bits máxima do vídeo. Unidade: Kbit/s. |
| Profile | String | baseline | O perfil do codec. Valores válidos:
|
| Crf | String | 27 | O fator de taxa constante, que é a configuração padrão de controle de qualidade.
|
| Gop | String | 1 | O número máximo de quadros entre dois keyframes. Valor padrão: 250. |
| Width | String | 1990 | A largura do vídeo.
|
| Fps | String | 60 | A taxa de quadros.
|
| Preset | String | medium | O algoritmo de vídeo predefinido. Valores válidos: veryfast, fast, medium, slow e slower. Valor padrão: medium. |
| ScanMode | String | progressive | O modo de varredura. Valores válidos:
|
| TransConfig | Object | A configuração geral de transcodificação. |
|
| TransMode | String | onepass | O modo de transcodificação. Valores válidos: onepass, twopass e CBR. Valor padrão: onepass. |
| State | String | Normal | O status do modelo. Valores válidos:
|
| MuxConfig | Object | A configuração de transmuxing. |
|
| Gif | Object | O formato GIF. |
|
| FinalDelay | String | 0 | O intervalo entre dois loops consecutivos para o formato GIF. Unidade: 0,01 s. Por exemplo, um valor de 500 indica 5 segundos. |
| Loop | String | 0 | O número de loops para o formato GIF ou WebP. Valor padrão: 0. |
| Segment | Object | A configuração do segmento. |
|
| Duration | String | 60 | A duração do segmento. Unidade: segundos. |
| Name | String | FLV-UD | O nome do modelo. |
| Audio | Object | A configuração do codec de áudio. |
|
| Profile | String | aac_low | O perfil do codec do arquivo de áudio. Valores válidos quando o parâmetro Codec está definido como aac: aac_low, aac_he, aac_he_v2, aac_ld e aac_eld. |
| Codec | String | mp3 | O formato do codec de áudio. Valor padrão: aac. |
| Samplerate | String | 32000 | A taxa de amostragem.
|
| Qscale | String | 10 | O nível de controle de qualidade do áudio. |
| Channels | String | 1 | O número de canais de som. Valor padrão: 2. |
| Bitrate | String | 8 | A taxa de bits de áudio do arquivo de saída.
|
| Id | String | S00000000-00**** | O ID do modelo de transcodificação. |
| Container | Object | A configuração do contêiner. |
|
| Format | String | flv | O formato do contêiner. |
| UserData | String | testid-001 | Os dados personalizados. |
| Code | String | InvalidParameter.ResourceNotFound | O código de erro retornado quando o job falha. Este parâmetro não é retornado se o job for bem-sucedido. |
| InputFile | Object | As informações sobre a entrada do job. |
|
| Object | String | example.flv | O nome do arquivo de entrada carregado no bucket do OSS. |
| Location | String | oss-cn-hangzhou | O ID da região do OSS. |
| Bucket | String | example-bucket | O nome do bucket do OSS onde o arquivo de entrada foi carregado. |
| PipelineId | String | bb558c1cc25b45309aab5be44d19**** | O ID da fila do MPS à qual o job foi adicionado. |
| Id | String | 57f6aa3f84824309bcba67231b40**** | O ID do job de análise de modelo. |
Exemplos
Exemplos de solicitações
http(s)://mts.cn-hangzhou.aliyuncs.com/?Action=SubmitAnalysisJob
&Input={"Bucket":"example-bucket","Location":"oss-cn-hangzhou","Object":"example.flv"}
&AnalysisConfig={"QualityControl":{"RateQuality":25,"MethodStreaming":"network"}}
&UserData=testid-001
&PipelineId=bb558c1cc25b45309aab5be44d19****
&Priority=10
&<Common request parameters>
Exemplos de respostas de sucesso
XML format
HTTP/1.1 200 OK
Content-Type:application/xml
<SubmitAnalysisJobResponse>
<RequestId>B52658D4-07AB-43CD-82B0-210958A65E23</RequestId>
<AnalysisJob>
<CreationTime>2014-01-10T12:00:00Z</CreationTime>
<Percent>100</Percent>
<State>Success</State>
<AnalysisConfig>
<QualityControl>
<MethodStreaming>network</MethodStreaming>
<RateQuality>50</RateQuality>
</QualityControl>
<PropertiesControl>
<Deinterlace>Force</Deinterlace>
<Crop>
<Top>8</Top>
<Width>8</Width>
<Height>8</Height>
<Left>8</Left>
<Mode>Auto</Mode>
</Crop>
</PropertiesControl>
</AnalysisConfig>
<Message>The resource operated \"PipelineId\" cannot be found</Message>
<Priority>10</Priority>
<MNSMessageResult>
<MessageId>3ca84a39a9024f19853b21be9cf9****</MessageId>
</MNSMessageResult>
<TemplateList>
<Video>
<Bufsize>5000</Bufsize>
<Degrain>5</Degrain>
<BitrateBnd>
<Max>20</Max>
<Min>10</Min>
</BitrateBnd>
<PixFmt>yuvj420p</PixFmt>
<Codec>H.264</Codec>
<Height>1880</Height>
<Qscale>15</Qscale>
<Bitrate>10</Bitrate>
<Maxrate>10</Maxrate>
<Profile>baseline</Profile>
<Crf>27</Crf>
<Gop>1</Gop>
<Width>1990</Width>
<Fps>60</Fps>
<Preset>medium</Preset>
<ScanMode>progressive</ScanMode>
</Video>
<TransConfig>
<TransMode>onepass</TransMode>
</TransConfig>
<State>Normal</State>
<MuxConfig>
<Gif>
<FinalDelay>0</FinalDelay>
<Loop>0</Loop>
</Gif>
<Segment>
<Duration>60</Duration>
</Segment>
</MuxConfig>
<Name>FLV-UD</Name>
<Audio>
<Profile>aac_low</Profile>
<Codec>mp3</Codec>
<Samplerate>32000</Samplerate>
<Qscale>10</Qscale>
<Channels>1</Channels>
<Bitrate>8</Bitrate>
</Audio>
<Id>S00000000-00****</Id>
<Container>
<Format>flv</Format>
</Container>
</TemplateList>
<UserData>testid-001</UserData>
<InputFile>
<Object>example.flv</Object>
<Location>oss-cn-hangzhou</Location>
<Bucket>example-bucket</Bucket>
</InputFile>
<PipelineId>bb558c1cc25b45309aab5be44d19****</PipelineId>
<Id>57f6aa3f84824309bcba67231b40****</Id>
</AnalysisJob>
</SubmitAnalysisJobResponse>
JSON format
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId": "B52658D4-07AB-43CD-82B0-210958A65E23",
"AnalysisJob": {
"CreationTime": "2014-01-10T12:00:00Z",
"Percent": 100,
"State": "Success",
"AnalysisConfig": {
"QualityControl": {
"MethodStreaming": "network",
"RateQuality": "50"
},
"PropertiesControl": {
"Deinterlace": "Force",
"Crop": {
"Top": "8",
"Width": "8",
"Height": "8",
"Left": "8",
"Mode": "Auto"
}
}
},
"Message": "The resource operated \\\"PipelineId\\\" cannot be found",
"Priority": "10",
"MNSMessageResult": {
"MessageId": "3ca84a39a9024f19853b21be9cf9****",
},
"TemplateList": [
{
"Video": {
"Bufsize": "5000",
"Degrain": "5",
"BitrateBnd": {
"Max": "20",
"Min": "10"
},
"PixFmt": "yuvj420p",
"Codec": "H.264",
"Height": "1880",
"Qscale": "15",
"Bitrate": "10",
"Maxrate": "10",
"Profile": "baseline",
"Crf": "27",
"Gop": "1",
"Width": "1990",
"Fps": "60",
"Preset": "medium",
"ScanMode": "progressive"
},
"TransConfig": {
"TransMode": "onepass"
},
"State": "Normal",
"MuxConfig": {
"Gif": {
"FinalDelay": "0",
"Loop": "0"
},
"Segment": {
"Duration": "60"
}
},
"Name": "FLV-UD",
"Audio": {
"Profile": "aac_low",
"Codec": "mp3",
"Samplerate": "32000",
"Qscale": "10",
"Channels": "1",
"Bitrate": "8"
},
"Id": "S00000000-00****",
"Container": {
"Format": "flv"
}
}
],
"UserData": "testid-001",
"InputFile": {
"Object": "example.flv",
"Location": "oss-cn-hangzhou",
"Bucket": "example-bucket"
},
"PipelineId": "bb558c1cc25b45309aab5be44d19****",
"Id": "57f6aa3f84824309bcba67231b40****"
}
}
Códigos de erro
Para obter uma lista de códigos de erro, visite o API Error Center.