Adiciona um arquivo de mídia ao ApsaraVideo Media Processing (MPS) para processamento.
Observações de uso
Use esta operação para processar vídeos já enviados ao Object Storage Service (OSS) que ainda não foram tratados, evitando novo upload. Se você configurou fluxos de trabalho de mídia, o OSS notifica automaticamente o MPS quando um arquivo é carregado. O MPS identifica e executa o fluxo de trabalho ativo correspondente com base no bucket e no objeto do OSS especificados. Portanto, geralmente não é necessário chamar manualmente a operação AddMedia para processar o arquivo.
O sistema obtém as informações da mídia automaticamente apenas se o fluxo de trabalho de mídia especificado estiver no estado ativo. Se nenhum fluxo for definido ou se ele não estiver ativo, essas informações não serão coletadas.
Limites de QPS
Esta operação permite até 100 chamadas por segundo. Ao ultrapassar esse valor, o sistema aplica limitação de taxa (throttling), o que pode impactar seus serviços. Considere esse limite ao realizar chamadas. Para mais detalhes, consulte Limites de QPS.
Depuração
Parâmetros da solicitação
| Parâmetro | Tipo | Obrigatório | Exemplo | Descrição |
| Action | String | Sim | AddMedia | A operação a ser executada. Defina o valor como AddMedia. |
| FileURL | String | Sim | http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4 | Caminho do arquivo de entrada. Consulte o caminho no console do MPS ou do OSS. Para mais informações, veja a seção Regra de acionamento e correspondência de fluxo de trabalho deste tópico.
|
| Title | String | Não | mytest | Título do arquivo de mídia.
|
| Description | String | Não | A test video | Descrição do arquivo de mídia.
|
| CoverURL | String | Não | http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png | Local de armazenamento da miniatura do arquivo de mídia. Para obter a URL, faça login no MPS console e escolha Workflows > Media Buckets. Alternativamente, acesse o OSS console e clique em My OSS Paths.
|
| Tags | String | Não | tag1,tag2 | Tags a serem adicionadas ao arquivo de mídia. Nota No MPS, cada tag especificada para um arquivo de mídia é independente. É possível pesquisar todos os arquivos que compartilham as mesmas tags na Biblioteca de Mídia.
|
| MediaWorkflowId | String | Não | 07da6c65da7f458997336e0de192**** | ID do fluxo de trabalho de mídia a ser executado para o arquivo. Para consultar o ID, acesse o console do MPS ou use a operação AddMediaWorkflow. |
| MediaWorkflowUserData | String | Não | test | Dados personalizados do fluxo de trabalho de mídia.
|
| InputUnbind | Boolean | Não | false | Define se o sistema deve verificar se o fluxo de trabalho suporta o caminho de entrada especificado. Recomenda-se definir este parâmetro como true para evitar erros causados por caminhos inválidos. Valores válidos:
|
| CateId | Long | Não | 123 | ID da categoria à qual o arquivo de mídia pertence. O valor não pode ser negativo. |
| OverrideParams | String | Não | {"subtitleTransNodeName":{"InputConfig":{"Format":"stl","InputFile":{"URL":"http://exampleBucket.oss-cn-hangzhou.aliyuncs.com/package/example/CENG.stl"}}}} | Configurações de legenda usadas para substituir as definições originais.
|
Regra de acionamento e correspondência de fluxo de trabalho
O MPS verifica se a URL do arquivo de entrada contém a URL à qual o fluxo de trabalho está vinculado. Em caso afirmativo, ocorre a correspondência e a execução é iniciada. Caso contrário, o fluxo não é acionado. Exemplo: A URL do arquivo de entrada é http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test1.flv.
1. If the URL to which the workflow is bound is http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/, the workflow matches the input file.
2. If the URL to which the workflow is bound is http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/, the workflow matches the input file.
3. If the URL to which the workflow is bound is http://bucket.oss-cn-hangzhou.aliyuncs.com/A/, the workflow matches the input file.
4. If the URL to which the workflow is bound is http://bucket.oss-cn-hangzhou.aliyuncs.com/, the workflow matches the input file.
5. If the URL to which the workflow is bound is http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.flv, the workflow matches the input file.
6. If the URL to which the workflow is bound is http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/CC/, the workflow does not match the input file.
7. If the URL to which the workflow is bound is http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B2/, the workflow does not match the input file.
8. If the URL to which the workflow is bound is http://bucket.oss-cn-hangzhou.aliyuncs.com/A2/B/C/, the workflow does not match the input file.
Ao criar um fluxo de trabalho de mídia, evite configurar a URL de entrada idêntica ao prefixo da URL de outro fluxo. Essa prática impede que duas instâncias de execução sejam disparadas para o mesmo arquivo. Por exemplo, se um fluxo tiver a URL de entrada "test" e outro "test1", ambos serão acionados ao enviar um arquivo para "test1".
Correspondência de extensão de nome de arquivo
Somente arquivos multimídia podem acionar fluxos de trabalho. O MPS decide se inicia o processo verificando a extensão do arquivo. A correspondência ocorre para arquivos sem extensão ou com as extensões listadas na tabela abaixo. Arquivos sem extensão não possuem ponto separador no nome.
A qualidade do snapshot e da transcodificação de arquivos .swf não é garantida.
|
Tipo |
Extensão de arquivo |
|
Vídeo |
3gp, asf, avi, dat, dv, flv, f4v, gif, m2t, m3u8, m4v, mj2, mjpeg, mkv, mov, mp4, mpe, mpg, mpeg, mts, ogg, qt, rm, rmvb, swf, ts, vob, wmv, webm |
|
Áudio |
aac, ac3, acm, amr, ape, caf, flac, m4a, mp3, ra, wav, wma, aiff |
Mensagem do fluxo de trabalho de mídia
Os fluxos utilizam o Alibaba Cloud Message Service (MNS) para enviar mensagens aos usuários do serviço MPS. Uma mensagem é gerada quando a atividade Start ou Report é concluída. Para recebê-la, configure o nome da fila ou notificação na atividade Start. O conteúdo fica armazenado na fila ou notificação indicada e pode ser recuperado via MNS SDK. A tabela a seguir detalha as especificações da mensagem.
|
Parâmetro |
Tipo |
Descrição |
|
RunId |
String |
ID da instância de execução do fluxo de trabalho. |
|
Name |
String |
Nome da atividade. |
|
Type |
String |
Tipo da atividade. Valores válidos: Report e Start. |
|
State |
String |
Status da atividade. Valores válidos: Fail e Success. |
|
Code |
String |
Código de erro retornado em caso de falha. Este campo é preenchido apenas se o status for Fail. |
|
Message |
String |
Mensagem de erro detalhada retornada quando a atividade falha. Aparece somente se o status for Fail. |
|
MediaWorkflowExecution |
MediaWorkflowExecution |
Informações detalhadas sobre a instância de execução do fluxo. |
Parâmetros de resposta
| Parâmetro | Tipo | Exemplo | Descrição |
| RequestId | String | 05F8B913-E9F3-4A6F-9922-48CADA0FFAAD | ID da solicitação. |
| Media | Object | Informações detalhadas do arquivo de mídia. |
|
| CreationTime | String | 2016-09-20T03:02:40Z | Data e hora de criação do arquivo de mídia. |
| CateId | Long | 1 | Identificador da categoria associada ao arquivo. |
| Height | String | 1280 | Altura do vídeo em pixels. |
| CensorState | String | Initiated | Status de revisão do vídeo. Valores válidos:
|
| Tags | Array of String | tag,tag2 | Lista de tags atribuídas ao arquivo. |
| Bitrate | String | 1148.77 | Taxa de bits do arquivo de mídia. |
| MediaId | String | 3e6149d5a8c944c09b1a8d2dc3e4**** | Identificador único do arquivo de mídia. |
| File | Object | Dados referentes ao arquivo de entrada. |
|
| State | String | Normal | Estado atual do arquivo de entrada. O padrão é Normal. |
| URL | String | http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4 | Endereço URL do arquivo de entrada. |
| PublishState | String | Published | Situação de publicação do arquivo. Opções disponíveis:
|
| Description | String | A test video | Texto descritivo da mídia, limitado a 1.024 bytes. |
| Width | String | 1280 | Largura do vídeo em pixels. |
| Size | String | 379860 | Tamanho total do arquivo de mídia. |
| CoverURL | String | http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png | Local onde a miniatura da mídia está armazenada. |
| RunIdList | Array of String | null | IDs das instâncias de execução realizadas, separados por vírgulas (,). |
| Duration | String | 2.645333 | Duração total do arquivo de mídia. |
| Fps | String | 25.0 | Taxa de quadros por segundo do vídeo. |
| Title | String | mytest.mp4 | Título atribuído à mídia, com limite de 128 bytes. |
| Format | String | mp4 | Formato do container de mídia. Suporta: mov, mp4, m4a, 3gp, 3g2 e mj2. |
Exemplos
Exemplos de solicitações
http(s)://mts.cn-shanghai.aliyuncs.com/?Action=AddMedia
&FileURL=http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4
&Title=mytest
&Description=A test video
&CoverURL=http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png
&Tags=tag1,tag2
&MediaWorkflowId=07da6c65da7f458997336e0de192****
&MediaWorkflowUserData=test
&InputUnbind=false
&CateId=123
&OverrideParams={"subtitleTransNodeName":{"InputConfig":{"Format":"stl","InputFile":{"URL":"http://exampleBucket.oss-cn-hangzhou.aliyuncs.com/package/example/CENG.stl"}}}}
&<Common request parameters>
Exemplos de respostas de sucesso
Formato XML
HTTP/1.1 200 OK
Content-Type:application/xml
<AddMediaResponse>
<RequestId>05F8B913-E9F3-4A6F-9922-48CADA0FFAAD</RequestId>
<Media>
<CreationTime>2016-09-20T03:02:40Z</CreationTime>
<CateId>1</CateId>
<Height>1280</Height>
<CensorState>Initiated</CensorState>
<Tags>tag,tag2</Tags>
<Bitrate>1148.77</Bitrate>
<MediaId>3e6149d5a8c944c09b1a8d2dc3e4****</MediaId>
<File>
<State>Normal</State>
<URL>http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4</URL>
</File>
<PublishState>Published</PublishState>
<Description>A test video</Description>
<Width>1280</Width>
<Size>379860</Size>
<CoverURL>http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png</CoverURL>
<RunIdList>{"RunId":["cbad98d35629470fa05ff393d347****"]}</RunIdList>
<Duration>2.645333</Duration>
<Fps>25.0</Fps>
<Title>mytest.mp4</Title>
<Format>mp4</Format>
</Media>
</AddMediaResponse>
Formato JSON
HTTP/1.1 200 OK
Content-Type:application/json
{
"RequestId" : "05F8B913-E9F3-4A6F-9922-48CADA0FFAAD",
"Media" : {
"CreationTime" : "2016-09-20T03:02:40Z",
"CateId" : 1,
"Height" : "1280",
"CensorState" : "Initiated",
"Tags" : [ "tag,tag2" ],
"Bitrate" : "1148.77",
"MediaId" : "3e6149d5a8c944c09b1a8d2dc3e4****",
"File" : {
"State" : "Normal",
"URL" : "http://bucket.oss-cn-hangzhou.aliyuncs.com/A/B/C/test.mp4"
},
"PublishState" : "Published",
"Description" : "A test video",
"Width" : "1280",
"Size" : "379860",
"CoverURL" : "http://bucket.oss-cn-hangzhou.aliyuncs.com/example/1.png",
"RunIdList" : [ "{\"RunId\":[\"cbad98d35629470fa05ff393d347****\"]}" ],
"Duration" : "2.645333",
"Fps" : "25.0",
"Title" : "mytest.mp4",
"Format" : "mp4"
}
}
Códigos de erro
Para obter uma lista de códigos de erro, acesse o API Error Center.