DRM-X 6.0 logo de pomba e ramo de oliveiraDRM-X 6.0Documentação
◎ Português

Configuração de transmissão ao vivo AWS e OBS

Crie um fluxo de trabalho ao vivo AWS, configure OBS, teste a reprodução DRM e interrompa os recursos após o evento.

Ver MarkdownExemplos onlineAtualizado em 18/09/2026

O vídeo criptografado e as licenças DRM seguem caminhos diferentes

A CDN entrega o vídeo criptografado. Seu backend verifica o acesso, e o serviço de licenças DRM autoriza a descriptografia em um dispositivo compatível.

  1. Armazenamento / CDN

    Entrega a mídia criptografada ao player.

  2. Seu backend

    Verifica se o espectador pode assistir e solicita a autorização de reprodução ao DRM-X.

  3. DRM-X

    Valida a autorização de reprodução e processa a solicitação de licença DRM.

  4. Player + dispositivo

    Usa o sistema DRM do dispositivo para obter uma licença e reproduzir a mídia criptografada.

Sua infraestrutura decide o acesso; DRM-X aplica a política assinada. Mídia criptografada e licenças DRM seguem caminhos de entrega separados.

Trial e contas pagas podem criar canais DRM ao vivo. Uma conexão de armazenamento S3 não é necessária para este fluxo de trabalho. AWS cobra separadamente pela codificação de mídia, embalagem, entrega e recursos retidos.

O caminho de entrega é OBS → AWS Elemental MediaLive → MediaPackage v2 → CloudFront → o player DRM-X. DRM-X fornece chaves de criptografia através de SPEKE e autoriza cada visualizador com um DRM License Token.

Crie um evento ao vivo em DRM-X#

  1. Faça login no console do cliente e selecione a organização e o ambiente que será o proprietário do evento.
  2. Abra Live events → New Live Channel. Insira um título. Para uma nova conta, escolha Create new live content e insira um Content ID exclusivo. Alternativamente, selecione conteúdo ao vivo existente.
  3. Escolha a região AWS, intervalo de rotação e janela DVR. Use a mesma região AWS para MediaLive, MediaPackage e ponte SPEKE. Os valores iniciais são 600 segundos para rotação e 7.200 segundos para mídia retida DVR.
  4. Crie o canal. Salve seu segredo de origem único com segurança, junto com a integração ID e IDs de recursos separados DASH e HLS. Nunca coloque o segredo em um player, captura de tela, ticket de suporte ou repositório público.

O canal DRM-X configura conteúdo e autorização. Iniciar o DRM-X Live Run e iniciar o codificador AWS são operações separadas.

Configure sua conta AWS#

  1. Use uma conta AWS com cobrança habilitada e um operador autorizado que possa gerenciar funções de serviço CloudFormation, MediaLive, MediaPackage v2, API Gateway, IAM e CloudFront. Verifique as cotas regionais e os preços atuais antes do ensaio.
  2. Baixe o modelo DRM-X AWS CloudFormation modelo do console. Crie a pilha com CreateMediaResources=false, os IDs de integração/recurso DRM-X e o segredo de origem. O modelo cria funções de serviço com escopo definido e uma ponte SPEKE autorizada por IAM.
  3. Em DRM-X Configure AWS, insira sua conta AWS ID e o SpekeRoleArn exato da pilha. Inicie o DRM-X Live Run para que as solicitações de chave autenticadas possam ser bem-sucedidas.
  4. Atualize a mesma pilha com CreateMediaResources=true. Mantenha o segredo existente e outros parâmetros. Aguarde a conclusão da pilha.
  5. Copie as saídas da pilha DashOriginUrl, HlsOriginUrl, DashCloudFrontUrl e HlsCloudFrontUrl nos campos DRM-X correspondentes. Os visualizadores usam os URLs CloudFront. A origem fica restrita a CloudFront.
  6. Crie uma entrada RTMP push no MediaLive. Permita somente o IP público atual do transmissor com uma regra de segurança de entrada /32. Atualize a regra se o provedor de Internet alterar esse IP.
  7. Crie o canal MediaLive com o MediaLiveRoleArn da pilha, anexe a entrada e adicione um grupo de saída MediaPackage v2 CMAF usando o grupo de canais da pilha e o nome do canal. Um único pipeline é adequado para um teste limitado; um evento de produção precisa de um design de redundância apropriado.

O modelo gera DASH-CENC para Widevine e PlayReady, e HLS-CBCS para FairPlay. Os contratos PRESET_AUDIO_1 e PRESET_VIDEO_3 usam chaves separadas para áudio, SD, HD e UHD. Instalações que usam PRESET_VIDEO_2 devem revisar a atualização do contrato de criptografia antes de adicionar UHD com uma política distinta. Consulte as predefinições de criptografia da AWS.

Configurar OBS Studio para 4K#

  1. Duplique seu perfil OBS e sua coleção de cenas. Dê a eles um nome reconhecível para o evento ao vivo.
  2. Adicione o vídeo pretendido ou a fonte de captura. Confirme se é realmente 3840×2160, encaixe-o na tela e verifique o áudio. Para um arquivo de ensaio, habilite Loop. Oculte janelas não utilizadas ou capturas de área de trabalho.
  3. Em Settings → Video, defina a tela e a resolução de saída para 3840x2160 e escolha 30 fps para este exemplo.
  4. Em Output → Advanced → Streaming, escolha um codificador de hardware H.264 compatível, como NVIDIA NVENC H.264. Use CBR 18000 Kbps, um intervalo de quadro-chave 2 s, high profile e desative o redimensionamento de saída. Com NVENC, P5 e Alta Qualidade são um ponto de partida; verifique a carga de codificação durante o ensaio.
  5. Use áudio AAC e estéreo de 48 kHz. Desative microfones indesejados e fontes de áudio de desktop.
  6. Em Stream, selecione Custom. Divida a entrada MediaLive RTMP URL no servidor/aplicativo URL e seu componente de nome de fluxo final. Coloque o componente final em Stream Key. Mantenha-o mascarado.

Use uma conexão de upload estável com espaço acima da taxa de bits combinada de vídeo e áudio. Se OBS relatar quedas sustentadas na rede ou na codificação, corrija-as antes de abrir o evento aos espectadores. Consulte OBS orientação de codificação de hardware.

Configurar saídas adaptativas#

Para as configurações OBS acima, use uma especificação de entrada AVC/UHD MediaLive com um máximo de 20 Mbps. Crie as seguintes saídas H.264 a 30 fps, com GOPs fechados de 2 segundos e segmentos CMAF alinhados de 6 segundos. Mantenha o áudio AAC em sua própria versão.

ResoluçãoExemplo de taxa de bits de vídeoGrupo chave
3840×216016 MbpsUHD
1920×10805 MbpsHD
1280×7202.5 MbpsHD
854×4801.2 MbpsSD
640×3600.7 MbpsSD

Estas são configurações de ensaio, não uma garantia de qualidade. Um canal 4K ainda precisa de representações mais baixas para telas menores, redes restritas e dispositivos cujo nível de segurança DRM limita a qualidade. Verifique o codec MediaLive atual e o suporte à resolução ao escolher um codificador diferente.

Reutilizando um canal após um evento anterior#

Um codificador em execução não é prova de que os espectadores recebem mídia nova. Verifique o cabeçalho MediaPackage manifest-last-updated e as resoluções anunciadas. Se um canal reutilizado ainda servir segmentos antigos após uma alteração no codificador ou na representação, siga o AWS procedimento de redefinição do histórico do canal.

  1. Confirme se o conteúdo DVR anterior pode ser removido permanentemente; uma redefinição não é uma operação de reversão.
  2. Pare OBS e o canal MediaLive. Aguarde o estado Idle no MediaLive.
  3. Em MediaPackage, redefine o histórico do canal de teste específico. Aguarde pelo menos 30 segundos após a conclusão da redefinição.
  4. Inicie MediaLive, aguarde o estado Running e inicie OBS. Verifique novamente a atualização da mídia DASH/HLS, a troca SPEKE e a reprodução nos dispositivos.

Adicione o evento a PHP, Android e iOS#

Use o mesmo Content ID ativo e ambiente em todos os exemplos. Mantenha Site Key e Access Key em seu servidor PHP. O evento de amostra hospedado é aws-live-test-20260902, intitulado 4K Live DRM Test; ele está disponível apenas durante um ensaio.

Em PHP, adicione uma entrada de lista de reprodução confiável com id, title e type: live. Faça login novamente para atualizar os direitos de sessão da amostra. O back-end resolve o manifesto ativo registrado e rejeita um tipo fornecido pelo cliente que não corresponde ao catálogo.

'playlist' => [
    ['id' => 'your-live-content-id', 'title' => 'My live event', 'type' => 'live'],
],

Em Android, adicione DrmXPlaylistItem("your-live-content-id", "My live event", "live") e passe seu tipo de conteúdo ao preparar a reprodução. No exemplo da Apple, use DrmXPlaylistItem(contentId: "your-live-content-id", title: "My live event", contentType: .live). As entradas ao vivo são para streaming e não devem entrar na fila de download offline.

Iniciar, verificar e parar#

  1. Inicie o DRM-X Live Run e depois o canal AWS MediaLive. Aguarde o estado Running no MediaLive.
  2. Inicie a transmissão em OBS. Verifique sua taxa de bits, quadros perdidos, áudio e carga do codificador.
  3. Confirme que os manifestos DASH/HLS continuam sendo atualizados e contêm as representações e a sinalização DRM esperadas. Verifique imagem e áudio decodificados no navegador, no Android com Widevine e no iPhone com FairPlay. Mantenha um player conectado durante pelo menos uma rotação de chaves e depois teste a entrada de um novo espectador.
  4. Ao terminar o teste, pare a transmissão OBS, o canal MediaLive e o DRM-X Live Run. Confirme que MediaLive voltou ao estado Idle.

Parar somente OBS não interrompe a cobrança do codificador AWS. Verifique separadamente os custos de entradas mantidas, empacotamento/armazenamento, solicitações e distribuição. Consulte os preços de MediaLive e o console de cobrança da AWS.

Ensaio verificado: 17 de setembro de 2026#

O canal forneceu vídeo criptografado em 3840×2160 com representações adaptativas de menor resolução. Um iPhone 11 físico decodificou 4K e passou por seis minutos de reprodução que atravessaram um limite do intervalo de rotação de chaves de 600 segundos. Samsung S24 Ultra passou por dez minutos em 1080p, seu limite de exibição informado. Ambos os dispositivos passaram por uma nova conexão após a rotação. Os resultados se aplicam aos dispositivos, codecs e políticas testados.

Use Android SDK 1.0.0-preview.13 ou posterior para manifestos ao vivo sem cache. Atualize o aplicativo de avaliação Android existente para preservar os vídeos baixados. A amostra atualizada da Apple preserva as chaves ID e IV enquanto compacta os metadados MediaPackage para caber no limite do identificador SPC de 200 bytes de FairPlay. Sua preferência de resolução fornece largura e altura para que a reprodução adaptativa possa atingir 4K.

Safari reprodução ao vivo

Use Web SDK 1.2.0-preview.13 ou posterior para Safari. Ele seleciona Apple Media Keys nativo quando disponível em macOS, iOS e iPadOS, e mantém esse API nas alterações da lista de reprodução ao vivo e VOD. A reprodução ao vivo não volta para MSE/SINF, que pode solicitar chaves de segmento de inicialização obsoletas após MediaPackage girar suas chaves. Mantenha a chave atual exata ID e IV na sinalização HLS.

DRM-X SPEKE emite um identificador de ativo KeyId/IV compacto para que Safari possa solicitar licenças FairPlay dentro do limite de tamanho do identificador. O DRM License Token ainda autoriza o conteúdo e a chave exatos. Após atualizar o Key Service, verifique se seu gateway SPEKE dependente está em execução; um codificador que recebe vídeo não pode publicar uma nova saída protegida enquanto a entrega da chave estiver indisponível.

Um ensaio separado de 15 minutos no Safari confirmou a continuidade da reprodução durante uma rotação de chaves no Mac e no iPhone. O iPhone usou Apple Media Keys nativo. O Mac usou EME moderno para verificar a rotação e depois passou por uma nova conexão com Apple Media Keys nativo após uma falha intermitente na inicialização do EME moderno. A adaptação do navegador atingiu 720p no Mac e 480p no iPhone. Isso não valida reprodução 4K no navegador nem rotação no caminho de compatibilidade final do Mac. O resultado 4K do aplicativo nativo corresponde a outro teste.

Antes de reiniciar um ensaio

  • Verifique se o endpoint SPEKE está acessível e o console mostra uma troca recente. Um codificador que recebe entrada ainda pode servir mídia obsoleta quando a entrega da chave falha.
  • Mantenha os caches de mídia VOD/offline separados da fonte do manifesto ao vivo.
  • Verifique as dimensões reais decodificadas; selecionar um canal 4K por si só não prova a reprodução de 4K.
  • Este ensaio está parado. Antes de testar novamente a entrada do catálogo ao vivo, inicie um novo DRM-X Live Run autorizado, o codificador AWS e a transmissão OBS.