Etapa 5: configurar o software de streaming - Amazon IVS

Etapa 5: configurar o software de streaming

Você pode transmitir (baixa latência) para o Amazon IVS com:

  • Os SDKs de transmissão nativos do IVS, que oferecem suporte para RTMPS. Recomendamos isso especialmente para cenários de produção.

  • O console do Amazon IVS: adequado para testar fluxos.

  • Outros codificadores de software e hardware de streaming: você pode usar qualquer codificador de streaming que seja compatível com os protocolos RTMP, RTMPS ou SRT. Vários exemplos são descritos abaixo, usando Open Broadcast Software (OBS) e FFmpeg com RTMPS e SRT. O RTMPS permite alta segurança por meio do uso de um stream de TLS criptografado.

As principais configurações do codificador são o intervalo do quadro-chave (2 segundos) e a taxa de resolução/taxas de bits/quadro (os quais estão inter-relacionados). Para obter mais detalhes sobre as configurações do codificador, consulte:

Observações:

  • A duração máxima dos streams do Amazon IVS é de 48 horas. Depois disso, o stream será encerrado e a sessão de streaming desconectada. Uma reconexão bem-sucedida (automática ou manualmente) iniciará um novo stream.

  • Se o codificador parar de enviar dados (por exemplo, devido a um problema temporário da rede), o Amazon IVS aguardará 30 segundos. Caso nenhum dado do emissor seja recebido durante esse período, o Amazon IVS será desconectado.

Streaming com o Amazon IVS Broadcast SDK

Para fazer transmissão de suas aplicações iOS ou Android, você pode usar o Amazon IVS Broadcast SDK. O SDK de Transmissão aproveita a arquitetura do Amazon IVS e receberá continuamente melhorias e novos recursos, juntamente com o Amazon IVS. Como SDK de Transmissão nativo móvel, foi projetado para minimizar o impacto na performance em sua aplicação e nos dispositivos com os quais seus usuários acessam sua aplicação.

Para transmitir de: Você pode usar: Observações
Seus aplicativos Android ou iOS SDK de Transmissão do Amazon IVS para Android ou iOS Como SDK de Transmissão nativo móvel, foi projetado para minimizar o impacto na performance em sua aplicação e nos dispositivos com os quais seus usuários acessam sua aplicação.
Um ambiente web Amazon IVS Web broadcast SDK Como um SDK de Transmissão pela web, o Amazon IVS Web Broadcast SDK permite que você transmita a partir de ambientes da web usando WebRTC. Ele é compatível entre navegadores e plataformas.

Para obter detalhes, consulte SDK de Transmissão do IVS | Streaming de baixa latência.

Transmissão com o console do Amazon IVS

  1. Abra o console do Amazon IVS.

    (Você também pode acessar o console do Amazon IVS por meio do AWS Management Console.)

  2. No painel de navegação, selecione Canais. (Se o painel de navegação estiver fechado, expanda-o selecionando o ícone de hambúrguer.)

  3. Selecione o canal para o qual você deseja transmitir para acessar a respectiva página de detalhes.

  4. Selecione a guia Transmissão. (As guias estão abaixo da seção Configuração geral.)

  5. Você será solicitado a conceder para o console do IVS acesso à sua câmera e microfone; Aceite essas permissões.

  6. Na parte inferior da guia Transmissão, use as caixas suspensas para selecionar dispositivos de entrada para o microfone e a câmera.

  7. Para começar a transmitir, selecione Iniciar transmissão.

  8. Para ver a transmissão ao vivo, acesse a guia Reprodução.

    Observação: depois de iniciar a transmissão, espere um breve atraso (geralmente menos de 30 segundos) antes que ela possa ser visualizada na guia Reprodução.

Você pode usar esse recurso para transmitir simultaneamente para vários canais.

Observação: a transmissão do console consome recursos, e você acumulará custos de entrada de vídeo ao vivo. Para saber mais, consulte Custos de entrada de vídeo ao vivo, na página de preços do IVS.

Streaming com o OBS Studio usando RTMPS

O (OBS Studio) é um pacote de software gratuito e de código aberto para a gravação e streaming ao vivo. O OBS fornece captura de origem e dispositivo em tempo real, composição de cenas, codificação, gravação e streaming.

Siga estas etapas para começar a usar rapidamente o OBS Studio v30.2 ou posterior:

  1. Faça download e instale o software: https://obsproject.com/download.

  2. Execute o assistente de configuração automática do OBS Studio, que aparecerá quando você carregar o OBS Studio pela primeira vez. Siga as etapas e aceite os padrões.

  3. Em Informações do fluxo, escolha Amazon IVS no menu suspenso Serviço e insira a Chave de fluxo.

    Se você criou o canal com o console do Amazon IVS, a Chave de fluxo inserida no OBS é a Chave de fluxo do console: sk_us-west-2_abcd1234efgh5678ijkl

    Se você criou o canal com a CLI da AWS, a Chave de fluxo inserida no OBS é o Valor de streamKey da resposta da CLI sk_us-west-2_abcd1234efgh5678ijkl

    Se o seu canal do IVS estiver configurado para entrada de vídeo de várias faixas, selecione Habilitar vídeo de várias faixas. Opcionalmente, defina as configurações de Máximo de faixas de vídeo e Largura de banda máxima de streaming, que são usadas para limitar as configurações de fluxo definidas automaticamente.

  4. Para resolução de saída de vídeo e taxa de bits, consulte Tipos de canais em Configuração de streaming do Amazon IVS. Se um dos valores escolhidos pelo assistente de OBS exceder os valores permitidos pelo Amazon IVS, será necessário ajustar manualmente os valores para evitar falha de conexão com o Amazon IVS. Depois que o assistente for concluído:

    1. Para ajustar a resolução de vídeo, use Settings > Video > Output (Scaled) Resolution (Configurações > Vídeo > Resolução de saída [escalada]).

    2. Para ajustar a taxa de bits de vídeo, use Settings > Output > Streaming > Video Bitrate (Configurações > Saída > Streaming > Taxa de bits de vídeo).

      Observação: isso não afetará o fluxo ao vivo se você tiver marcado anteriormente a opção Habilitar vídeo de várias faixas.

  5. Recomendamos um intervalo de quadro-chave de dois segundos para melhorar a estabilidade do fluxo e evitar buffer na reprodução do visualizador. Depois que o assistente for concluído, acesse Settings > Output > Output Mode (Configurações > Saída > Modo de saída), selecione Advanced (Avançado) e, na guia Streaming (Transmissão), verifique se o Keyframe Interval (Intervalo de quadro-chave) é 2.

    Observação: o intervalo de quadros-chave será configurado automaticamente se você tiver marcado anteriormente a opção Habilitar vídeo de várias faixas.

  6. Na janela principal do OBS Studio, selecione Start Streaming (Iniciar streaming).

Para obter mais informações sobre streaming com o OBS Studio, consulte o Quickstart do OBS Studio.

Você pode modificar as suas configurações do OBS manualmente mais tarde:

  1. Selecione Settings > Stream (Configurações > Stream).

  2. Escolha Amazon IVS no menu suspenso.

  3. Cole a Chave de fluxo.

Você pode executar o assistente novamente a qualquer momento: selecione Tools > Auto-Configuration Wizard (Ferramentas > Assistente de Configuração Automática).

Opcionalmente, em Settings > General (Configurações > Geral), habilite a gravação local para salvar o seu stream ao vivo para uso posterior. Conforme mencionado anteriormente, problemas de rede entre a transmissão e a AWS ou na AWS podem resultar em alguma perda de dados durante a gravação do seu stream. Em casos como este, o Amazon IVS prioriza o stream ao vivo em relação à gravação. Gravar localmente por meio da sua ferramenta de streaming fornece redundância.

Recomenda-se que você verifique regularmente se há atualizações do OBS Studio e o atualize para a versão mais atual. (Por exemplo, se você receber um erro “Failed to connect to server” [Falha ao conectar-se ao servidor], pode ser que esteja usando uma versão antiga do OBS Studio não compatível com o RTMPS.)

Streaming com o OBS Studio usando SRT

Siga estas etapas para começar a usar rapidamente o protocolo Secure Reliable Transport:

  1. Faça download e instale o software: https://obsproject.com/download.

  2. Execute o assistente de configuração automática do OBS Studio, que aparecerá quando você carregar o OBS Studio pela primeira vez. Siga as etapas e aceite os padrões.

  3. Em Stream Information (Informações de transmissão), escolha Custom... (Personalizado...) no menu suspenso Service (Serviço) e insira o Server (Ingest server) (Servidor [servidor de ingestão]) e a Stream Key (Chave de transmissão).

    Se você criou o canal com a AWS CLI:

    • O Servidor que você insere no OBS é uma combinação de cinco elementos:

      • Um protocolo de ingestão: srt://

      • O endpoint da estrutura srt na resposta da CLI:

        a1b2c3d4e5f6.srt.live-video.net

      • Uma porta: 9000

      • Um streamid, que é o Valor de streamKey da resposta da CLI:

        sk_us-west-2_abcd1234efgh5678ijkl

      • Uma frase secreta, usada para criptografar o conteúdo. Use isso somente se a ingestão insegura não estiver habilitada.

        ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ

      A entrada completa é:

      srt://a1b2c3d4e5f6.srt.live-video.net:9000?streamid=sk_us-west-2_abcd1234efgh5678ijkl&passphrase=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ

    • A chave de fluxo inserida no OBS permanecerá vazia para o protocolo SRT.

  4. Para resolução de saída de vídeo e taxa de bits, consulte Tipos de canais em Configuração de streaming do Amazon IVS. Se um dos valores escolhidos pelo assistente de OBS exceder os valores permitidos pelo Amazon IVS, será necessário ajustar manualmente os valores para evitar falha de conexão com o Amazon IVS. Depois que o assistente for concluído:

    1. Para ajustar a resolução de vídeo, use Settings > Video > Output (Scaled) Resolution (Configurações > Vídeo > Resolução de saída [escalada]).

    2. Para ajustar a taxa de bits de vídeo, use Settings > Output > Streaming > Video Bitrate (Configurações > Saída > Streaming > Taxa de bits de vídeo).

  5. Recomendamos um intervalo de quadro-chave de dois segundos para melhorar a estabilidade do fluxo e evitar buffer na reprodução do visualizador. Depois que o assistente for concluído, acesse Settings > Output > Output Mode (Configurações > Saída > Modo de saída), selecione Advanced (Avançado) e, na guia Streaming (Transmissão), verifique se o Keyframe Interval (Intervalo de quadro-chave) é 2.

  6. Na janela principal do OBS Studio, selecione Start Streaming (Iniciar streaming).

Você pode modificar as suas configurações do OBS manualmente mais tarde:

  1. Selecione Settings > Stream (Configurações > Stream).

  2. Selecione Custom (Personalizado) no menu suspenso.

  3. Cole no servidor e/ou chave de stream.

Você pode executar o assistente novamente a qualquer momento: selecione Tools > Auto-Configuration Wizard (Ferramentas > Assistente de Configuração Automática).

Opcionalmente, em Settings > General (Configurações > Geral), habilite a gravação local para salvar o seu stream ao vivo para uso posterior. Conforme mencionado anteriormente, problemas de rede entre a transmissão e a AWS ou na AWS podem resultar em alguma perda de dados durante a gravação do seu stream. Em casos como este, o Amazon IVS prioriza o stream ao vivo em relação à gravação. Gravar localmente por meio da sua ferramenta de streaming fornece redundância.

Recomenda-se que você verifique regularmente se há atualizações do OBS Studio e o atualize para a versão mais atual. (Por exemplo, se você receber um erro "Falha ao conectar-se ao servidor", pode ser que esteja usando uma versão antiga do OBS Studio que não ofereça suporte a RTMPS.)

Streaming de um vídeo gravado com FFmpeg usando RTMPS

Siga estas etapas:

  1. Faça download e instale o FFmpeg: https://www.ffmpeg.org/download.html.

  2. Defina $VIDEO_FILEPATH para a localização de um vídeo MP4 para fazer streaming:

    VIDEO_FILEPATH=/home/test/my_video.mp4
  3. Defina STREAM_KEY para o seu valor de StreamKey:

    STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
  4. Defina INGEST_ENDPOINT em seu IngestEndpoint (da AWS CLI):

    INGEST_ENDPOINT=a1b2c3d4e5f6.global-contribute.live-video.net
  5. Comece a fazer streaming com o seguinte comando de terminal (isso corresponde a uma linha):

    ffmpeg -re -stream_loop -1 -i $VIDEO_FILEPATH -r 30 -c:v libx264 -pix_fmt yuv420p -profile:v main -preset veryfast -x264opts "nal-hrd=cbr:no-scenecut" -minrate 3000 -maxrate 3000 -g 60 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmps://$INGEST_ENDPOINT:443/app/$STREAM_KEY

    Observe que o comando acima é um exemplo. Para streaming de produção, ajuste os parâmetros às suas necessidades.

Streaming de um vídeo gravado com FFmpeg usando SRT

  1. Faça download e instale o FFmpeg: https://www.ffmpeg.org/download.html. Se você estiver usando uma versão antiga/compilada do FFmpeg, crie uma nova versão com o sinalizador --enable-libsrt.

  2. Verifique se o SRT está disponível para uso no FFmpeg: execute o comando a seguir e verifique se libsrt está na saída. Se libsrt não estiver lá, reconstrua ou obtenha uma versão mais recente do FFmpeg com suporte para SRT.

    ffmpeg -version | grep enable-libsrt
  3. Defina $VIDEO_FILEPATH para a localização de um vídeo MP4 para fazer streaming:

    VIDEO_FILEPATH=/home/test/my_video.mp4
  4. Defina STREAM_KEY para o seu valor de StreamKey:

    STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
  5. Defina INGEST_ENDPOINT como seu endpoint (da AWS CLI abaixo do objeto srt):

    INGEST_ENDPOINT=a1b2c3d4e5f6.srt.live-video.net
  6. Defina PASSPHRASE como sua frase secreta (da AWS CLI abaixo do objeto srt). Use a frase secreta somente se a ingestão insegura não estiver habilitada para o canal.

    PASSPHRASE=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
  7. Comece a fazer streaming com o seguinte comando de terminal (isso corresponde a uma linha):

    ffmpeg -re -i $VIDEO_FILEPATH -c copy -f mpegts "srt://$INGEST_ENDPOINT:9000?streamid=$STREAM_KEY&passphrase=$PASSPHRASE”