Este tópico descreve os termos relacionados ao ApsaraVideo Media Processing (MPS).
Termos específicos do MPS
Job
Um job é uma tarefa abstrata no MPS.
Tipo de job: Os jobs classificam-se em vários tipos, como análise de informações de mídia, transcodificação, consulta de transcodificação, snapshot, produção inteligente, tagging inteligente, moderação de conteúdo, fingerprinting de mídia e adição de marcas d'água de direitos autorais.
-
Envio de job:
Método de envio: Envie um job pelo console do MPS, chamando operações de API ou usando SDKs. Configure workflows para enviar jobs automaticamente quando acionados.
Parâmetros obrigatórios: Configure os parâmetros de entrada, saída e processamento para enviar um job. Ao criar um job de transcodificação, por exemplo, defina os parâmetros principais antes do envio. Esses parâmetros incluem o arquivo de entrada, o caminho de saída, o modelo ou método de transcodificação, a fila do MPS e a prioridade.
-
Modo de invocação e consulta de resultados: O tempo de execução varia conforme o tipo de job. Alguns jobs são concluídos imediatamente após o envio. Na maioria dos casos, os arquivos passam por download, análise e processamento, o que demanda tempo. Por isso, os jobs podem ser processados em modo síncrono ou assíncrono.
Modo de invocação
Jobs aplicáveis
Método de envio
Consulta de resultados
Referências
Modo síncrono
Jobs de snapshot único e análise de informações de mídia
Use SDKs ou operações de API para enviar todos os jobs síncronos.
O resultado de um job síncrono retorna imediatamente após o envio. O resultado inclui o caminho do arquivo de snapshot a ser armazenado em um bucket do Object Storage Service (OSS) ou as informações detalhadas da mídia.
Consulte o resultado do job chamando operações de API para polling periódico. No entanto, não é possível receber notificações dos resultados configurando o recurso de notificação do Message Service (MNS).
NotaPode ocorrer um erro de timeout se o arquivo de entrada for grande. Configure um mecanismo de nova tentativa conforme as necessidades do seu negócio.
Modo assíncrono
Todos os tipos de jobs do MPS, incluindo
transcodificação, snapshot, análise de informações de mídia e jobs de IA de vídeo. Os jobs de transcodificação incluem transcodificação padrão, Narrowband HD™ 1.0, Narrowband HD™ 2.0 e aprimoramento de áudio e vídeo. Os jobs de IA de vídeo incluem produção inteligente, tagging inteligente, revisão automatizada e fingerprinting de mídia.
Use o console do MPS para enviar alguns jobs assíncronos.
Utilize SDKs ou operações de API para enviar todos os jobs assíncronos.
Configure workflows para enviar alguns jobs assíncronos quando acionados.
Após o envio de um job assíncrono, a resposta indica apenas se o envio foi bem-sucedido. Para consultar o resultado do job, chame operações de API para polling periódico ou configure o MNS para receber notificações.
Polling periódico: Cada job possui um ID exclusivo, retornado imediatamente após o envio. Visualize o ID do job nos dados retornados pela operação de API ou no console do MPS. Registre o ID de um job e especifique-o ao chamar operações de API para consultar regularmente os resultados.
Configuração do MNS: Configure o recurso de notificação para uma fila do MPS ou workflow para obter os resultados do job. Uma notificação contém o ID do job, dados do usuário e resultados detalhados.
Fila do MPS
Uma fila do MPS processa jobs assíncronos. Após o envio, os jobs assíncronos entram na fila para execução com base nas prioridades e na sequência de envio. Diferentes tipos de filas do MPS variam quanto ao número máximo de filas criáveis, recursos aplicáveis e concorrência suportada. Para mais informações, consulte Visão geral do pipeline.
Workflow
Um workflow é um processo predefinido que executa um ou mais jobs. Ao fazer upload de um arquivo para o bucket do OSS especificado como bucket de entrada de um workflow, o sistema aciona e executa o workflow, processando o arquivo conforme definido.
Modelo de transcodificação
Um modelo de transcodificação é um conjunto de parâmetros de processamento. Utilize esse modelo para simplificar as operações ao criar um job de transcodificação ou usar um workflow. Cada modelo de transcodificação possui um ID exclusivo. Os modelos de transcodificação classificam-se nos seguintes tipos: modelos personalizados pelo usuário, modelos customizados e modelos predefinidos. Para mais informações, consulte Visão geral.
Modelo personalizado pelo usuário: modelo de transcodificação criado no console do MPS ou via API. Nenhum parâmetro é customizado no backend.
Modelo customizado: modelo de transcodificação com parâmetros customizados configurados no backend com base em requisitos personalizados. Ao usar um modelo customizado, os parâmetros configurados não terão efeito. Não é possível visualizar ou modificar os parâmetros customizados.
Modelo predefinido: modelo de transcodificação pré-definido no MPS com base em resoluções e condições de rede. Inclui modelos predefinidos estáticos e inteligentes. Os modelos predefinidos estáticos suportam jobs de transcodificação padrão, transcodificação de áudio, conversão de formato de contêiner, transcodificação Narrowband HD™ 1.0 e transcodificação Narrowband HD™ 2.0. Para mais informações, acesse o console do MPS ou consulte Detalhes do modelo predefinido.
Modelo de marca d'água
Um modelo de marca d'água especifica um conjunto de parâmetros usados para adicionar uma marca d'água a um vídeo, como posição, deslocamento e tamanho. Cada modelo de marca d'água possui um ID exclusivo. Para adicionar uma marca d'água a um vídeo de saída, especifique um modelo de marca d'água ou passe diretamente os parâmetros correspondentes.
Job de análise de modelo
Devido às diferenças entre arquivos de entrada, como variações de resolução e bitrate, nem todos os modelos predefinidos são adequados para um determinado arquivo. Portanto, antes de usar um modelo predefinido, chame a operação Enviar um job de análise de modelo para enviar um job de análise de modelo. Esse job retorna uma lista de modelos predefinidos compatíveis com o arquivo de entrada especificado. Chame a operação QueryAnalysisJobList para consultar essa lista.
Termos específicos de áudio e vídeo
Transcodificação
Transcodificação é o processo de converter um fluxo de áudio ou vídeo codificado em outro fluxo, considerando diferentes larguras de banda de rede, capacidades de processamento dos dispositivos terminais e necessidades do usuário. Trata-se de um processo de decodificação e codificação. Os fluxos antes e depois da transcodificação podem usar formatos de codificação de vídeo iguais ou diferentes. Os formatos de codificação mais comuns são: H.264, H.265 e AV1.
Conversão de formato de contêiner
A conversão de formato de contêiner transforma um arquivo de áudio ou vídeo de um formato de contêiner para outro. Por exemplo, converta um arquivo AVI para MP4. Os fluxos comprimidos de vídeo e áudio são extraídos do arquivo no formato de contêiner de source e empacotados em um arquivo no formato de destino. Esse processo não envolve codificação ou decodificação. Em comparação com a transcodificação, a conversão de formato de contêiner oferece os seguintes benefícios:
Processamento rápido: Decodificar e codificar arquivos de áudio e vídeo são tarefas complexas que consomem a maior parte do tempo de transcodificação. A conversão de formato de contêiner dispensa codificação e decodificação, reduzindo o tempo de processamento.
Qualidade de áudio ou vídeo sem perdas: Como não há codificação nem decodificação, a conversão de formato de contêiner não comprime os arquivos. O arquivo de saída mantém praticamente a mesma resolução e bitrate do arquivo de entrada. No entanto, ao converter um arquivo MP4 para M3U8 e arquivos TS, o tamanho do arquivo de saída aumenta devido às especificações do protocolo.
Resolução
A resolução descreve a quantidade de detalhes em um vídeo, indicando o número de pixels em cada dimensão. Por exemplo, um vídeo de 1.280 × 720 significa que a largura é de 1.280 pixels e a altura é de 720 pixels. A resolução determina o realismo e a clareza da imagem. Vídeos com maior resolução contêm mais pixels e apresentam imagens mais nítidas.
A resolução é um fator determinante para o bitrate. Vídeos com resoluções diferentes utilizam bitrates distintos. Geralmente, resoluções mais altas exigem bitrates maiores. Cada resolução corresponde a uma faixa recomendada de bitrates. Se você especificar uma resolução e um bitrate abaixo do limite inferior dessa faixa, a qualidade da imagem será ruim. Caso especifique valores acima do limite superior, o vídeo ocupará mais espaço de armazenamento e exigirá maior tráfego para carregamento, sem melhoria significativa na qualidade da imagem.
Bitrate
Bitrate é o volume de dados que os arquivos de vídeo utilizam por unidade de tempo. É o parâmetro mais importante para o controle de qualidade de imagem na codificação de vídeo. Medido em bits por segundo (bit/s), geralmente utiliza as unidades Kbit/s e Mbit/s. Para vídeos com a mesma resolução, um bitrate maior indica uma taxa de compressão menor e qualidade de imagem superior. Um bitrate alto representa uma taxa de amostragem elevada por unidade de tempo e maior precisão do fluxo de dados. Consequentemente, a qualidade e a definição do arquivo de vídeo processado aproximam-se das do arquivo original. O arquivo processado exige excelentes capacidades de decodificação do dispositivo de reprodução.
Quanto maior o bitrate, maior o arquivo. Calcule o tamanho do arquivo pela fórmula: Tamanho do arquivo = Tempo × Bitrate/8. Por exemplo, se um arquivo de vídeo online de 60 minutos em 720p tem bitrate de 1 Mbit/s, o tamanho é calculado assim: 3.600 segundos × 1 Mbit/s/8 = 450 MB.
Taxa de quadros
A taxa de quadros mede o número de quadros exibidos por unidade de tempo em um vídeo, ou seja, quantos quadros são atualizados por segundo em uma imagem. A unidade é quadro por segundo (FPS) ou Hz.
Quanto maior a taxa de quadros, mais suave e realista parece o vídeo. Na maioria dos casos, 25 a 30 FPS são suficientes. 60 FPS proporcionam uma experiência de reprodução imersiva e realista. Aumentar a taxa de quadros para mais de 75 FPS gera melhorias menos perceptíveis na experiência. Se você definir uma taxa de quadros superior à taxa de atualização do monitor, ele não conseguirá exibir os quadros corretamente, desperdiçando o potencial de processamento da placa gráfica. Taxas de quadros mais altas na mesma resolução exigem maior capacidade de processamento da placa gráfica.
GOP
Um Grupo de Imagens (GOP) é um conjunto de imagens contínuas em um vídeo ou fluxo de vídeo codificado em MPEG. Começa com um I-frame e termina no próximo I-frame. Um GOP contém os seguintes tipos de imagem:
Imagem codificada intra (I-frame): é o quadro-chave. Um I-frame contém todas as informações necessárias para gerar a imagem daquele quadro. É decodificado independentemente e pode ser considerado uma imagem estática. O primeiro quadro da sequência de vídeo é sempre um I-frame, e cada GOP começa com um I-frame.
Imagem codificada preditiva (P-frame): Um P-frame deve ser codificado com base no I-frame anterior. Contém informações de diferença compensadas por movimento em relação ao I-frame ou P-frame precedente. Durante a decodificação, a diferença definida pelo P-frame atual é sobreposta à imagem previamente armazenada em cache para gerar a imagem final. P-frames ocupam menos bits de dados comparados aos I-frames. Contudo, são sensíveis a erros de transmissão devido às dependências complexas do I-frame ou P-frame anterior.
Imagem codificada preditiva bidirecional (B-frame): Um B-frame contém informações de diferença compensadas por movimento em relação aos quadros anterior e posterior. Na decodificação, os dados do B-frame atual são sobrepostos tanto à imagem previamente armazenada em cache quanto à imagem subsequente decodificada para gerar a imagem final. B-frames oferecem alta taxa de compressão e exigem alto desempenho de decodificação.
O valor GOP indica o intervalo de quadros-chave, ou seja, a distância entre dois quadros de Atualização Instantânea de Decodificação (IDR) ou o número máximo de quadros em um grupo. É necessário pelo menos um quadro-chave para cada segundo de vídeo. Mais quadros-chave melhoram a qualidade do vídeo, mas aumentam o consumo de largura de banda e a carga de rede. O intervalo é calculado dividindo o valor GOP pela taxa de quadros. O valor GOP representa o número de quadros. Por exemplo, o valor GOP padrão do ApsaraVideo VOD é 250 quadros e a taxa de quadros é 25 FPS. O intervalo de tempo é calculado pela fórmula: 250/25 = 10 segundos.
O valor GOP deve estar dentro de uma faixa adequada para equilibrar a qualidade do vídeo, o tamanho do arquivo (que reflete o consumo de largura de banda) e o efeito de busca (que indica a velocidade de resposta às operações de arrastar e avançar).
Quando o valor GOP aumenta, o tamanho do arquivo diminui. Porém, se o valor GOP for muito grande, os últimos quadros de um GOP podem sofrer distorção, reduzindo a qualidade do vídeo.
O valor GOP também é fundamental para determinar a velocidade de resposta à busca em um vídeo. Durante a busca, o player localiza o quadro-chave mais próximo antes de uma posição específica. Um valor GOP maior indica uma distância maior entre a posição especificada e o quadro-chave mais próximo, resultando em mais quadros preditivos que precisam ser decodificados. Isso prolonga o tempo de carregamento e faz com que a operação de busca demore mais para ser concluída.
Codificar P-frames e B-frames é mais complexo do que codificar I-frames. Um valor GOP grande resulta em muitos P-frames e B-frames, o que diminui a eficiência da codificação.
Por outro lado, se o valor GOP for muito pequeno, o bitrate do vídeo deve aumentar para garantir que a qualidade da imagem não caia. Esse processo eleva o consumo de largura de banda.
Perfil de codificação
Um perfil de codificação define um conjunto de capacidades focado em uma classe específica de aplicações.
O H.264 fornece os seguintes perfis de codificação:
Perfil Baseline: Oferece qualidade de imagem básica e é adequado para dispositivos móveis. Utiliza I-frames e P-frames, suportando apenas vídeos progressivos e codificação de comprimento variável adaptativa ao contexto (CAVLC).
Perfil Main: Proporciona qualidade de imagem convencional, indicado para dispositivos de definição padrão, como players de MP4 com capacidade de decodificação relativamente baixa, players de vídeo portáteis, PSPs e iPods. Usa I-frames, P-frames e B-frames, suportando vídeos progressivos e entrelaçados. Também suporta CAVLC e codificação aritmética binária adaptativa ao contexto (CABAC).
Perfil High: Entrega alta qualidade de imagem, ideal para dispositivos de alta definição com telas grandes, como aplicações de transmissão e armazenamento em disco para Blu-ray Disc e televisão de alta definição. Suporta inter-predição 8 × 8, quantização personalizada, codificação de vídeo sem perdas, mais formatos YUV e os recursos do perfil Main.
O Advanced Audio Coding (AAC) fornece os seguintes perfis de codificação:
aac_low: Low Complexity AAC (LC)
aac_he: High Efficiency AAC (HE-AAC)
aac_he_v2: High Efficiency AAC version 2 (HE-AACv2)
aac_ld: Low Delay AAC (LD-AAC)
aac_eld: Enhanced Low Delay AAC (ELD-AAC)
Método de controle de bitrate
Os métodos de controle de bitrate gerenciam o bitrate de um fluxo codificado. Os métodos mais utilizados são:
Bitrate constante (CBR): Gera um arquivo com bitrate fixo. Com este método, o bitrate permanece constante em todo o fluxo codificado. Arquivos comprimidos com CBR tendem a ser maiores que os comprimidos com VBR e ABR, sem grande melhoria na qualidade.
Bitrate variável (VBR): Produz um arquivo com bitrate variável. Determina o bitrate do arquivo de saída com base na complexidade do arquivo de entrada durante a codificação. Arquivos de entrada mais complexos geram arquivos com bitrate maior; arquivos mais simples geram bitrate menor. Geralmente usado com o método de codificação Two-Pass. O VBR é adequado para armazenamento, permitindo uso mais racional do espaço limitado. No entanto, não é possível prever o tamanho e a flutuação do bitrate do arquivo de saída com VBR.
Bitrate médio (ABR): Modo de bitrate médio com parâmetros de interpolação adicionados. Criado pelo LAME para resolver a incompatibilidade entre tamanho e qualidade dos arquivos CBR e a imprevisibilidade de tamanho dos arquivos VBR. Em uma faixa específica do arquivo, o ABR divide o fluxo em partes de 50 frames (30 frames equivalem a cerca de um segundo). Usa bitrates relativamente baixos para codificar segmentos menos complexos e bitrates altos para segmentos mais complexos. Pode ser visto como um meio-termo entre VBR e CBR. O bitrate atinge o valor especificado dentro de um intervalo de tempo específico, mas o pico de bitrate em alguns segmentos pode exceder o valor definido. O bitrate médio permanece constante. Sendo uma versão modificada do VBR, o ABR garante que o bitrate médio de saída fique dentro de uma faixa adequada e codifica vídeos nessa faixa conforme a complexidade. Por padrão, a Alibaba Cloud usa ABR.
Video Buffering Verifier (VBV): Garante que o bitrate permaneça abaixo de um valor específico. Baseia-se nos parâmetros maxrate e bufsize. O parâmetro maxrate define o bitrate máximo de saída, e bufsize especifica o tamanho do buffer. O VBV pode ser usado com o método de codificação Two-Pass ou Constant Rate Factor (CRF). O método CRF também pode ser substituído por Capped CRF.
bufsize: tamanho do buffer de vídeo. Configure este parâmetro com base na flutuação esperada do bitrate. Na maioria dos casos, defina o bufsize como o dobro do maxrate. Se o cache do cliente for pequeno, iguale o bufsize ao maxrate. Para limitar o bitrate, defina o bufsize como metade do valor do maxrate ou menos.
CRF: Controla o bitrate de saída usando um fator de controle de qualidade. A qualidade do vídeo é quantificada em níveis de 0 a 51. 0 indica qualidade de imagem sem perdas e 51 a pior qualidade possível. O CRF garante a qualidade geral do vídeo de saída. O bitrate varia conforme a complexidade do conteúdo de entrada. Se não souber qual nível CRF escolher, recomenda-se usar um valor na faixa [23,29]. Ajuste o nível CRF conforme a complexidade do conteúdo. Aumentar ou diminuir o nível CRF em 6 reduz o bitrate à metade ou o dobra, respectivamente. Para gerar arquivos com a mesma definição, defina um nível CRF maior para vídeos gerados por computador do que para vídeos de ação real. O CRF proporciona melhor qualidade de vídeo, mas não permite prever o tamanho e a flutuação do bitrate do arquivo de saída.
Capped CRF: O bitrate do arquivo de saída usando CRF não é fixo. Combine CRF com VBV para limitar a faixa de bitrate e evitar picos.
One-Pass: A velocidade de codificação deste método é superior à do Two-Pass. Por padrão, a Alibaba Cloud usa One-Pass.
Two-Pass: O codificador executa duas vezes para alocar o bitrate com precisão, obtendo um arquivo de saída menor e com maior qualidade. Na primeira passagem, o codificador analisa o vídeo e gera arquivos de log. Na segunda, realiza a codificação com base nos resultados da análise para obter a melhor qualidade. O Two-Pass consome mais tempo que o One-Pass, portanto, não é adequado para cenários que exigem alta tempestividade de transcodificação, como streaming ao vivo e comunicação em tempo real. Se a taxa de compressão do vídeo de entrada for alta, evite usar Two-Pass para prevenir artefatos de blocos.
Termos comuns
Região
Uma região é um local onde você ativa um serviço da Alibaba Cloud. Selecione diferentes regiões da Alibaba Cloud para utilizar serviços mais próximos do seu negócio, garantindo menor latência de acesso e melhor experiência do usuário.
OSS
OSS é a sigla para Object Storage Service fornecido pela Alibaba Cloud. O MPS transcodifica arquivos de mídia armazenados no OSS. Os arquivos de saída também ficam no OSS. Para mais informações, consulte Termos.
Bucket
Um bucket é um contêiner para objetos armazenados no OSS. Todo objeto no OSS reside em um bucket. Configure diversas definições para um bucket, como região, permissões de acesso e formatos de armazenamento. Crie diferentes tipos de buckets para armazenar dados distintos conforme necessário. Para mais informações, veja a seção "Bucket" do tópico Termos.
Objeto
Objetos são a menor unidade de dados no OSS. Arquivos enviados para o OSS são chamados de objetos. Diferentemente de sistemas de arquivos tradicionais, os objetos no OSS usam uma estrutura plana em vez de hierárquica. Um objeto compõe-se de uma chave, metadados e os dados armazenados. Cada objeto em um bucket é identificado exclusivamente pela chave. Os metadados do objeto são um conjunto de pares chave-valor que definem suas propriedades, como tamanho e data da última modificação. Também é possível especificar metadados de usuário personalizados para objetos no OSS. Para mais informações, consulte a seção "Objeto" do tópico Termos.
Par de AccessKey
Um par de AccessKey é a credencial usada pelo OSS para autenticar um solicitante. Consiste em um AccessKey ID e um AccessKey secret. O OSS utiliza criptografia simétrica baseada no par de AccessKey para verificar a identidade do solicitante. O AccessKey ID identifica o usuário. O AccessKey secret criptografa e verifica strings de assinatura e buckets do OSS. Para garantir a segurança dos seus dados, mantenha o AccessKey secret confidencial.
O OSS suporta os seguintes tipos de pares de AccessKey:
Pares de AccessKey solicitados pelo proprietário do bucket.
Pares de AccessKey concedidos pelo proprietário do bucket por meio do Resource Access Management (RAM).
Pares de AccessKey concedidos pelo proprietário do bucket por meio do Security Token Service (STS).
Para mais informações, consulte Criar um par de AccessKey.