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:
-
Configuração de streaming no Manual do usuário do Amazon IVS
-
Esta postagem de blog: Setting Up for Streaming with Amazon Interactive Video Service
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
-
Abra o console do Amazon IVS
. (Você também pode acessar o console do Amazon IVS por meio do AWS Management Console
.) -
No painel de navegação, selecione Canais. (Se o painel de navegação estiver fechado, expanda-o selecionando o ícone de hambúrguer.)
-
Selecione o canal para o qual você deseja transmitir para acessar a respectiva página de detalhes.
-
Selecione a guia Transmissão. (As guias estão abaixo da seção Configuração geral.)
-
Você será solicitado a conceder para o console do IVS acesso à sua câmera e microfone; Aceite essas permissões.
-
Na parte inferior da guia Transmissão, use as caixas suspensas para selecionar dispositivos de entrada para o microfone e a câmera.
-
Para começar a transmitir, selecione Iniciar transmissão.
-
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
Streaming com o OBS Studio usando RTMPS
O (OBS Studio
Siga estas etapas para começar a usar rapidamente o OBS Studio v30.2 ou posterior:
-
Faça download e instale o software: https://obsproject.com/download
. -
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.
-
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.
-
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:
-
Para ajustar a resolução de vídeo, use Settings > Video > Output (Scaled) Resolution (Configurações > Vídeo > Resolução de saída [escalada]).
-
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.
-
-
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.
-
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:
-
Selecione Settings > Stream (Configurações > Stream).
-
Escolha Amazon IVS no menu suspenso.
-
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:
-
Faça download e instale o software: https://obsproject.com/download
. -
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.
-
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.
-
-
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:
-
Para ajustar a resolução de vídeo, use Settings > Video > Output (Scaled) Resolution (Configurações > Vídeo > Resolução de saída [escalada]).
-
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).
-
-
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.
-
Na janela principal do OBS Studio, selecione Start Streaming (Iniciar streaming).
Você pode modificar as suas configurações do OBS manualmente mais tarde:
-
Selecione Settings > Stream (Configurações > Stream).
-
Selecione Custom (Personalizado) no menu suspenso.
-
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:
-
Faça download e instale o FFmpeg: https://www.ffmpeg.org/download.html
. -
Defina
$VIDEO_FILEPATH
para a localização de um vídeo MP4 para fazer streaming:VIDEO_FILEPATH=/home/test/my_video.mp4
-
Defina
STREAM_KEY
para o seu valor de StreamKey:STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
-
Defina
INGEST_ENDPOINT
em seu IngestEndpoint (da AWS CLI):INGEST_ENDPOINT=a1b2c3d4e5f6.global-contribute.live-video.net
-
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
-
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
. -
Verifique se o SRT está disponível para uso no FFmpeg: execute o comando a seguir e verifique se
libsrt
está na saída. Selibsrt
não estiver lá, reconstrua ou obtenha uma versão mais recente do FFmpeg com suporte para SRT.ffmpeg -version | grep enable-libsrt
-
Defina
$VIDEO_FILEPATH
para a localização de um vídeo MP4 para fazer streaming:VIDEO_FILEPATH=/home/test/my_video.mp4
-
Defina
STREAM_KEY
para o seu valor de StreamKey:STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
-
Defina
INGEST_ENDPOINT
como seu endpoint (da AWS CLI abaixo do objetosrt
):INGEST_ENDPOINT=a1b2c3d4e5f6.srt.live-video.net
-
Defina
PASSPHRASE
como sua frase secreta (da AWS CLI abaixo do objetosrt
). Use a frase secreta somente se a ingestão insegura não estiver habilitada para o canal.PASSPHRASE=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
-
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”