O blog da AWS
Como acelerar processos de Media Supply Chain com o Media Insights Engine
Por Boris Kauffmann, Arquiteto de Soluções especialista em Mídia e Entretenimento na AWS
A AWS oferece poderosos serviços capazes de analisar, transformar e extrair metadados de ativos de vídeo, áudio, imagens e textos. Para interagir com cada um destes serviços e criar um fluxo de trabalho com múltiplas etapas de processamento, é necessário investir considerável tempo de desenvolvimento criando rotinas de integração com as APIs de cada serviço, tratando do armazenamento centralizado dos resultados de cada etapa, e criando formas de disponibilizar os resultados como parâmetros de entrada para etapas posteriores do fluxo de trabalho.
Neste blog, iremos apresentar a solução AWS Media Insights Engine (MIE) que permite acelerar o desenvolvimento de aplicações e pipelines de processamento de vídeo, áudio ou imagens. O MIE oferece aos desenvolvedores uma camada de orquestração para coordenar as etapas de processamento e uma API para customizar a solução permitindo a criação de diferentes fluxos de trabalho comumente utilizados nos processos de Media Supply Chain.
Ao utilizar o MIE como ponto de partida, a interação com os serviços da AWS de Inteligência Artificial, Aprendizado de Máquina e transformação de ativos de mídia se torna mais simples, encurtando o tempo necessário para a criação e lançamento das aplicações.
Sobre o Media Insights Engine
O Media Insights Engine (MIE) é definido conceitualmente como uma solução modular de processamento de mídias sem o uso de maquinas virtuais (serverless). A seguir, o diagrama de como a solução está construída.
Os componentes fundamentais do MIE são denominados como:
Operadores de Mídia: São funções AWS Lambda que realizam tarefas discretas de transformação ou análise de um objeto de mídia.
Stages/Workflows: É a sequência lógica de operadores e estágios que trabalham de forma síncrona ou assíncrona, através do serviço AWS Step Functions. Workflows derivam novos objetos ou novos metadados sobre um objeto de mídia.
Persistência de Dados: uma tabela criada no Amazon DynamoDB para armazenar e recuperar informações resultantes dos processamentos dos objetos de mídia e metadados gerados pelos operadores.
Os operadores fornecidos no MIE simplificam as tarefas de transcodificação e derivação para outros formatos usando o AWS Elemental MediaConvert e a extração de metadados usando serviços como Amazon Rekognition, Amazon Transcribe e Amazon Comprehend. Cada fluxo de trabalho é definido no MIE utilizando maquinas de estado no serviço AWS Step Functions. O MIE fornece também uma API construída no Amazon API Gateway para a criação de diferentes combinações desses operadores de forma a facilitar e automatizar os processos de criação dos Stages/Workflows.
Quando desenvolvedores podem criar pipelines e acessar funções de persistência de dados através de APIs já prontas, eles podem se concentrar somente na logica de criação de pipelines e outras aplicações sem se preocupar com a criação de APIs de baixo nível. Essa abstração leva a um menor tempo de desenvolvimento para aplicações e maior controle e padronização na orquestração e na persistência de dados.
Informações sobre a arquitetura e os operadores que integram o MIE podem ser encontrados aqui.
Casos de Uso do Media Insights Engine
Os clientes de mídia e entretenimento nos disseram que a administração de acervos, somados ao volume crescente de produção de novos conteúdos, trouxeram desafios de escalabilidade na preparação e gerenciamento de materiais para exibição. Estas são etapas cruciais para fornecer uma experiência de alta qualidade e melhor rentabilizar os conteúdos exibidos para os espectadores.
Hoje, empresas utilizam grandes equipes de forças de trabalho humanas treinadas exclusivamente para executar tarefas como: descobrir onde estão áreas de interesse no conteúdo para criação de chamadas promocionais, encontrar os pontos adequados para inserir anúncios, segmentar vídeos em trechos menores para facilitar a indexação e automação de exibição, gerar legendas em língua local a partir do material original, informação sobre quais celebridades participaram de cada obra, entre outros. Esses processos manuais são caros, lentos e não podem ser escalados facilmente para acompanhar o volume de materiais produzidos, licenciados e recuperados diariamente.
Extração de Metadados: utilizando serviços gerenciados de AI/ML para enriquecer o conteúdo audiovisual
A oferta de serviços de Inteligência Artificial e Aprendizado de Maquina (AI/ML) pré-treinados está crescendo rapidamente. A AWS possui uma oferta de pelo menos 12 serviços de Inteligência Artificial gerenciados que podem ser usados sem conhecimento ou experiência anterior em Aprendizado de Máquina.
A solução AWS Content Analysis foi criada usando o MIE, para que desenvolvedores possam testar os serviços de AI/ML da AWS com seu próprio conteúdo. Essa solução é incluída como aplicação de referência do Media Insights Engine.
O workflow principal do AWS Content Analysis é composto das seguintes etapas:
- O operador MediaInfo extrai as informações técnicas do arquivo de vídeo.
- O operador do AWS Elemental MediaConvert cria os arquivos proxy que serão utilizados na interface de usuário para busca e pré-visualização dos materiais.
- De acordo com a escolha do usuário, serviços do Amazon Rekognition são utilizados na extração de metadados.
- De acordo com a escolha do usuário, pode extrair a pista de áudio para transcrição automática (speech-to-text) usando o serviço Amazon Transcribe.
Os resultados e status de todas as análises e transformações são armazenados em uma tabela do Amazon DynamoDB que por sua vez alimenta uma base de dados gerenciada de busca textual no Amazon OpenSearch (sucessor do Amazon Elasticsearch Service).
Extração de Metadados: recuperação de texto a partir de frames de vídeo
Outro exemplo de caso de uso do MIE foi para solucionar a necessidade de recuperar as informações de texto presentes nos créditos finais de filmes de um acervo cinematográfico.
Utilizando operadores nativos do MIE com customizações nos operadores existentes, a solução foi desenhada com o seguinte fluxo de trabalho:
- Detecção de segmentos técnicos do material usando o Amazon Rekognition.
- Identificação dos Timecodes SMPTE do primeiro e último frame de vídeo dos créditos finais.
- Disponibilização da informação de Timecode como parâmetros de entrada no AWS Elemental MediaConvert para recorte do segmento e extração dos frames em arquivos JPEG.
- Processamento dos textos presentes nos frames em JPEG usando o Amazon Textract
A seguir, um exemplo de um frame com os créditos finais (esquerda) e a informação extraída pelo Amazon Textract (direita)
Localização de Conteúdos: Criação de legendas em múltiplas línguas
Localização é o processo de utilizar um conteúdo que foi criado para uma audiência em uma determinada localidade ou país e transformá-lo para torná-lo relevante e acessível para o público em uma nova região ou país. A criação de legendas em idiomas alternativos é fundamental para o processo de Localização pois permite a reutilização e rentabilização de obras audiovisuais em outros mercados.
O diagrama abaixo ilustra outro exemplo de fluxo de trabalho criado utilizando o MIE:
- Criação do proxy e separação de faixas de vídeo e áudio usando o AWS Elemental MediaConvert.
- Transcrição das falas e narrações em texto puro usando o Amazon Transcribe.
- Conversão da transcrição em legendas embarcadas no material.
- Conversão das legendas de um idioma para outro usando o Amazon Translate.
- Geração de uma pista de áudio alternativa com voz sintetizada a partir das conversões anteriores usando o Amazon Polly
A solução Content Localization on AWS possibilita gerar automaticamente e editar legendas em vários idiomas usando os serviços de AI/ML da AWS. As correções feitas pelos editores podem ser usadas para treinar e personalizar os resultados dos serviços de IA da AWS em fluxos de trabalho futuros.
Implementação
A implementação do AWS Media Insights Engine e das soluções que o utilizam como base são feitas usando modelos do AWS CloudFormation fornecidos e disponíveis nos repositórios das respectivas soluções.
Nas páginas do GitHub do repositórios AWS Content Analysis e AWS Content Localization, utilizando o botão Launch Stack, é possível instanciar as soluções de forma automática.
O workflow de extração de texto a partir dos créditos finais apresentado na sessão anterior será tema de um próximo blog com instruções passo-a-passo de como customizar operadores do MIE para adaptar a solução para esse ou outros casos de uso.
Conclusão
Neste blog, apresentamos a solução AWS Media Insights Engine e discutimos as vantagens oferecidas aos desenvolvedores responsáveis pela criação de fluxos de processamento e enriquecimento de mídias.
Introduzimos também alguns casos de uso mostrando que a modularidade, a robustez e a escalabilidade oferecida pelo MIE, permitem um desenvolvimento mais acelerado de aplicações. Ao abstrair a complexidade da construção de funções que são comuns a qualquer solução de processamento de mídias, os clientes podem acelerar o lançamento de novos serviços e ampliar o alcance de novas audiências.
Sobre o autor
Boris Kauffmann é Arquiteto de Soluções especialista em Mídia e Entretenimento na área de Broadcast na AWS. Tem experiência com design de sistemas de TV, produção ao-vivo e acervos audiovisuais. Seu objetivo é ajudar os clientes a entenderem como eles podem usar os serviços da AWS, melhores práticas e extrair o melhor uso das soluções de mídia e entretenimento da AWS.