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 onlineUpdated 2026-09-21

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.

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.

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.