Cloud Intelligence™Cloud Intelligence™

Cloud Intelligence™

AWS Elemental MediaLive: guia completo da arquitetura de streaming de vídeo ao vivo

By Nikhil PawarFeb 25, 20257 min read

Esta página também está disponível em English, Deutsch, Español, Français, Italiano e 日本語.

Foto de Cooler8, no Shutterstock

O streaming ao vivo virou peça-chave para engajar audiências e transmitir eventos em tempo real. Com a popularização de plataformas como Vimeo, YouTube Live e Facebook Live, a demanda por soluções de live streaming de alta qualidade, confiáveis e escaláveis cresceu de forma exponencial. A Amazon Web Services (AWS) oferece um conjunto poderoso de ferramentas para streaming ao vivo, e um dos principais serviços nessa área é o Amazon Elemental MediaLive, um serviço de processamento de vídeo ao vivo com qualidade broadcast.

Seja transmitindo eventos ao vivo, esportes, jornalismo ou entretenimento, garantir uma experiência de streaming fluida para o público é fundamental. Mas montar e gerenciar um workflow de live streaming confiável pode ser bem complexo. É aí que entra o AWS Elemental MediaLive, com uma solução robusta e escalável para processar vídeo ao vivo na nuvem. Ele permite conectar com a audiência em tempo real, gerar engajamento e entregar conteúdo de impacto, oferecendo recursos avançados de processamento de vídeo, como transcodificação, empacotamento e criptografia, e garantindo entrega de alta qualidade em diferentes dispositivos e plataformas no mundo todo.

Neste guia para iniciantes, vamos mostrar como subir rapidamente uma solução de live streaming na AWS usando o recurso Workflow Wizard do AWS Elemental MediaLive em poucos minutos, e ainda passar por alguns conceitos básicos no caminho. Vamos lá.

Workflow da arquitetura

**Crie o workflow**

Passo 1: criar o workflow

Acesse o console do AWS Elemental MediaLive → clique em "Workflow wizard" → "Create workflow".

Workflow wizard

Create workflow

Passo 2: informe os detalhes básicos

Workflow Name . Ex.: myfirst-medialive-channel → selecione a MediaLive Channel Class. Ex.: Single pipeline → IAM role . Ex.: Create a role (crie a role primeiro e depois selecione-a) → Next.

Passo 2

Observação — um canal single pipeline oferece um endpoint estático para enviar seu stream, e um canal standard pipeline oferece 2 endpoints estáticos. Ex.: rtmp://3.216.59.247:1935/myfirst-medialive/input-1

Passo 3: escolha uma fonte de vídeo

3.1: escolha um tipo de input

3.1: escolha um tipo de input

Hoje há quatro opções disponíveis para o input, e você deve escolher a que melhor atende ao seu caso de uso. Para esta demonstração, vamos usar RTMP (push).

  1. Elemental link — são dispositivos de codificação que conectam uma fonte de vídeo ao vivo, como uma câmera ou equipamento de produção, à nuvem (MediaLive).

Opções de dispositivos Elemental Link

2. MediaConnect — é um serviço de transporte confiável, seguro e flexível para vídeo ao vivo, que permite a emissoras e donos de conteúdo montar workflows de vídeo ao vivo e compartilhar conteúdo com parceiros e clientes de forma segura. Ele ajuda a operar canais ou transmitir eventos ao vivo e a transportar streams de vídeo ao vivo de alto valor para dentro, através e para fora da AWS Cloud.

  1. MP4 — você pode enviar arquivos MP4 (extensão .mp4) que não sejam de streaming direto do S3 para o canal Elemental MediaLive e transmiti-los como uma transmissão ao vivo.

4. RTMP (push) — você pode ingerir conteúdo de streaming a partir de um celular ou desktop, usando o software de transmissão de sua preferência.

3.2: selecione ou crie um input

3.2: selecione ou crie um input

Observação — ao criar o input, você pode dar qualquer nome para o Application name e Application instance, mas pense neles como o endpoint de stream e a stream key da transmissão. O ideal é deixá-los complexos para dificultar tentativas de adivinhação. Há também outro mecanismo de segurança (passo 3.3), o security group, que define de onde o stream pode ser enviado para os seus endpoints.

3.3: criar ou usar um input security group existente — para limitar as fontes de stream do seu canal MediaLive, defina as origens permitidas usando faixas CIDR de rede de fontes autorizadas, como:

  • IP de uma máquina específica
  • Faixa de rede do estúdio
  • Bloco CIDR on-premises ou de VPC

Assim, só redes confiáveis conseguem enviar conteúdo para o seu canal. Ex.:

3.3: criar ou usar um input security group existente

3.4: selecione o codec de input — mantive o padrão, mas você encontra os codecs de vídeo e áudio compatíveis com o MediaLive aqui.

3.4: selecione o codec de input

Passo 4: adicione as saídas de vídeo

4.1: escolha para onde enviar seu vídeo — aqui há várias opções, como MediaPackage , HLS para MediaStore , e plataformas de redes sociais como Facebook, YouTube e Twitch TV. Você pode selecionar uma ou mais opções conforme sua necessidade e definir a qualidade de vídeo entre Standard e Enhanced.

Observação: com a qualidade de vídeo Enhanced ativada, o MediaLive entrega uma qualidade melhor sem aumentar o bitrate. Esse campo se aplica a todas as saídas do seu workflow. O recurso tem custo adicional.

4.2: destino MediaPackage

Você pode adicionar resoluções e taxas de quadros adicionais para atender a diferentes públicos.

Resoluções e taxas de quadros adicionais

Passo 5: revise e crie

Agora você verá que o estado do workflow está como "create in progress". Isso significa que o workflow gerou um template do CloudFormation com base nas opções escolhidas e está implantando tudo para você.

Workflow em andamento

CloudFormation do workflow em andamento.

Passo 6: confira os detalhes

6.1: workflow concluído — repare que ainda não iniciamos o workflow. Ele está em Idle state, ou seja, seu canal MediaLive não está em execução.

6.2: implantação do CloudFormation concluída — o CloudFormation implantou diversos recursos com sucesso.

O Workflow Wizard criou e implantou o template do CloudFormation com sucesso e conectou todos os componentes. O fluxo fica assim: Live Source → RTMP Push → MediaLive Input → MediaLive Channel (transcodificação) → MediaPackage (empacotamento) → CloudFront (entrega global) → usuários finais.

O AWS Elemental MediaLive recebe e processa o input RTMP, transcodificando-o para gerar vários formatos de saída conforme você selecionou. Ex.: (passo 4.2)

  • 1080p60 (1920x1080 a 60fps, até 6Mbps)
  • 1080p30 (1920x1080 a 30fps, até 5Mbps)
  • 720p60 (1280x720 a 60fps, até 5Mbps)
  • 720p30 (1280x720 a 30fps, até 3Mbps)
  • 480p30 (854x480 a 30fps, até 1,5Mbps)
  • 240p30 (426x240 a 30fps, até 750Kbps)

O AWS Elemental MediaPackage cuida do empacotamento. O canal MediaPackage recebe todos os streams processados e oferece três tipos diferentes de saídas (endpoints) a partir do conteúdo transcodificado. Ele também cria e gerencia playlists/manifests.

  • Endpoint HLS (para dispositivos Apple e compatibilidade geral)
  • Endpoint DASH (para Android e outros players compatíveis com DASH)
  • Endpoint CMAF (Common Media Application Format, para streaming moderno)

O AWS CloudFront faz a distribuição global dos streams para os usuários.

Antes de iniciarmos o workflow e começar a enviar o stream para o canal Elemental MediaLive, vale lembrar que dá para anexar até 20 inputs em um único canal MediaLive. Existem algumas limitações conforme o tipo de input, e os casos de uso variam. Por exemplo: digamos que você queira alternar inputs no seu canal MediaLive durante uma transmissão ao vivo. O primeiro stream pode rodar um vídeo em loop antes do início do evento, e o segundo entra ao vivo quando o evento começa. Essa troca de inputs é possível com os schedules do MediaLive, mas isso é assunto para outro post.

Agora, anote os detalhes do endpoint de input. Você consegue obtê-los pelo Workflow Wizard, pelos detalhes do canal MediaLive ou na própria seção de Input.

Ex.: rtmp://3.216.59.247:1935/myfirst-medialive/input-1

Estou usando o OBS Studio para transmitir meu conteúdo, mas você pode usar qualquer outra ferramenta de streaming que preferir.

Transmita mídia para o seu canal

Passo 7: configure o OBS

7.1: configure a fonte de stream no OBS

Fonte

7.2: configure o destino no OBS

Meu endpoint de input é rtmp://3.216.59.247:1935/myfirst-medialive/input-1 e defini o Application name: myfirst-medialive e o Application instance: input-1 (stream key).

Destino da transmissão

Passo 8: inicie o Workflow Wizard

Confirme que seu canal Elemental MediaLive está no estado Running, e não em Idle.

Canal online

Passo 9: transmissão de vídeo ao vivo

Inicie o RTMP push clicando em "start streaming" no OBS Studio.

Acesse o endpoint HLS e clique em "Preview Player" para visualizar seu live stream.

Endpoint HLS

Transmissão ao vivo com o MediaLive

E pronto! Configurar streaming ao vivo na AWS não precisa ser um bicho de sete cabeças. Com o Workflow Wizard do MediaLive, seus streams entram no ar em minutos, não em horas. E você ainda pode criar templates personalizados para reaproveitar depois.

**Limpeza**

Acesse o Workflow Wizard → selecione seu workflow → Stop Workflow → Delete Workflow.

Seja para construir uma plataforma de streaming ou explorar os recursos de mídia da AWS, espero que este passo a passo ajude a simplificar a configuração do MediaLive. Do design da arquitetura na nuvem à automação de infraestrutura, a DoiT International tem expertise completa para modernizar sua infraestrutura de nuvem. Quer otimizar a sua implementação de AWS Media Services? Fale com a gente aqui e conheça nossas soluções de engenharia de nuvem.