As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Inicie sessões de streaming com o Amazon GameLift Streams
Esta seção aborda as sessões de transmissão, a instância real de uma transmissão em que um usuário final ou jogador pode interagir com seu aplicativo ou jogar seu jogo. Você aprenderá como testar sua própria sessão de transmissão e entender o ciclo de vida da sessão de transmissão.
Para iniciar sessões de streaming para usuários finais, você deve integrar o Amazon GameLift Streams ao seu próprio serviço. Para obter mais informações, consulte Serviço de back-end e cliente web Amazon GameLift Streams.
Sobre as sessões de stream
Os pré-requisitos para iniciar uma sessão de stream são um aplicativo e um grupo de stream que tenha capacidade ativa disponível. Uma sessão de stream é executada em um dos recursos computacionais, ou capacidade de stream, que um grupo de stream alocou. Ao iniciar um stream, você deve especificar um grupo de stream e um aplicativo para transmitir usando seus valores de ARN ou ID.
Quando você inicia com sucesso uma sessão de stream, você recebe um identificador exclusivo para essa sessão de stream. Em seguida, você usa esse ID para conectar a sessão de streaming a um usuário final. Para obter mais informações, consulte a Referência StartStreamSessionde API do Amazon GameLift Streams.
Testando um stream no console
A maneira mais direta de testar o fluxo do seu aplicativo é por meio do console do Amazon GameLift Streams. Quando você inicia um stream, o Amazon GameLift Streams usa um dos recursos computacionais que seu grupo de streams aloca. Portanto, você deve ter capacidade disponível em seu grupo de streams.
Para testar seu stream no console do Amazon GameLift Streams
-
Faça login no AWS Management Console e abra o console do Amazon GameLift Streams
. -
Você pode testar um stream de várias maneiras. Comece na página Grupos de stream ou na página Stream de teste e siga estas etapas:
-
Selecione um grupo de streaming que você deseja usar para transmitir.
-
Se você estiver começando na página Grupos de streams, escolha Testar stream. Se você estiver começando na página Test Stream, selecione Escolher. Isso abre a página de configuração de fluxo de teste para o grupo de fluxo selecionado.
-
Em Aplicativos vinculados, selecione um aplicativo.
-
Em Local, escolha um local com capacidade disponível.
-
(Opcional) Em Configurações do programa, insira argumentos de linha de comando ou variáveis de ambiente a serem transmitidos ao aplicativo à medida que ele é iniciado.
-
Confirme sua seleção e escolha Testar stream.
-
-
Depois que seu stream for carregado, você poderá fazer as seguintes ações em seu stream:
-
Para conectar entradas, como mouse, teclado e gamepad (exceto microfones, que não são compatíveis com o fluxo de teste), escolha Anexar entrada. Você conecta automaticamente o mouse ao mover o cursor para a janela do stream.
-
Para que os arquivos criados durante a sessão de streaming sejam exportados para um bucket do Amazon S3 no final da sessão, escolha Exportar arquivos e especifique os detalhes do bucket. Os arquivos exportados podem ser encontrados na página Sessões.
-
Para ver o stream em tela cheia, escolha Tela cheia. Pressione Escape para reverter essa ação.
-
-
Para encerrar a transmissão, escolha Encerrar sessão. Quando o fluxo se desconecta, a capacidade do fluxo fica disponível para iniciar outro fluxo.
nota
O recurso de stream de teste no console do Amazon GameLift Streams não é compatível com microfones.
Ciclo de vida da sessão de streaming
Ao trabalhar com sessões de stream no Amazon GameLift Streams, esse diagrama pode ajudar você a entender os diferentes estados para os quais uma sessão de stream transita ao longo de seu ciclo de vida.
-
StartStreamSessioncria uma nova sessão de stream, que começa no
ACTIVATING
estado. Quando o Amazon GameLift Streams encontra recursos disponíveis para hospedar o stream, a sessão do stream passa para o.ACTIVE
Quando um cliente se conecta ao stream ativo, a sessão do stream passa para o.CONNECTED
-
Quando um cliente se desconecta de um stream, a sessão do stream muda para
PENDING_CLIENT_RECONNECTION
o estado. CreateStreamSessionConnectionfaz a transição da sessão de streaming paraRECONNECTING
e iniciará o cliente a se reconectar ao stream ou criará uma nova sessão de stream. Quando uma sessão de stream está pronta para o cliente se reconectar, ela faz a transição para.ACTIVE
Quando o cliente se reconecta, ele volta para o.CONNECTED
Se um cliente ficar desconectado por mais tempoConnectionTimeoutSeconds
, a sessão de transmissão será encerrada. -
Quando um cliente não se conecta a uma sessão de stream em
ACTIVE
ouPENDING_CLIENT_RECONNECTION
estado dentro do período de tempo especificado porConnectionTimeoutSeconds
, ele faz a transição para o.TERMINATED
-
TerminateStreamSessioninicia o término do fluxo e a sessão do fluxo passa para
TERMINATING
o estado. Quando a sessão de streaming é encerrada com êxito, ela passa para.TERMINATED
-
Uma sessão de stream em qualquer estado, exceto
TERMINATED
, pode fazer a transição paraERROR
o. Quando uma chamada de API retornaERROR
como um valor de Status, verifique o valor de StatusReason para obter uma breve descrição da causa do erro. Você também pode ligar GetStreamSessionpara verificar esses valores.

Valores de tempo limite que afetam as sessões de stream
As sessões de stream são governadas por vários valores de tempo limite que controlam diferentes aspectos do ciclo de vida da sessão. Em ordem aproximadamente cronológica de quando você normalmente os encontra durante o ciclo de vida da sessão de streaming, eles incluem o seguinte:
- Tempo limite de posicionamento
-
Limite de tempo para o Amazon GameLift Streams encontrar recursos computacionais para hospedar uma sessão de stream usando a capacidade disponível. O tempo limite de posicionamento varia de acordo com o tipo de capacidade usado para atender à sua solicitação de transmissão:
-
Capacidade sempre ativa: 75 segundos
-
Capacidade sob demanda:
-
Tempos de execução do Linux/Proton: 90 segundos
-
Tempo de execução do Windows: 10 minutos
-
-
Comportamento: Se o Amazon GameLift Streams não conseguir identificar os recursos disponíveis dentro desse período, a sessão de streaming
Status
mudará paraERROR
com umStatusReason
deplacementTimeout
.
-
- Tempo limite da conexão
-
Tempo durante o qual o Amazon GameLift Streams espera que um cliente se conecte ou se reconecte a uma sessão de stream.
-
Parâmetro:
ConnectionTimeoutSeconds
em StartStreamSession -
Intervalo: 1 a 3600 segundos (1 hora)
-
Padrão: 120 segundos (2 minutos)
-
Comportamento: o cronômetro começa quando a sessão de transmissão atinge
ACTIVE
nossoPENDING_CLIENT_RECONNECTION
status. Se nenhum cliente se conectar antes do tempo limite, a sessão seráStatus
transferida para.TERMINATED
-
- Intervalo ocioso
-
Período de tempo em que uma sessão de streaming pode ficar ociosa sem a intervenção do usuário.
-
Parâmetro: (interno)
-
Valor: 60 minutos
-
Comportamento: Se nenhuma entrada do usuário for recebida durante esse período, o Amazon GameLift Streams encerrará a sessão de streaming.
-
- Tempo limite da duração da sessão
-
Duração máxima O Amazon GameLift Streams mantém uma sessão de stream aberta.
-
Parâmetro:
SessionLengthSeconds
em StartStreamSession -
Intervalo: 1 a 86400 segundos (24 horas)
-
Padrão: 43200 segundos (12 horas)
-
Comportamento: encerra a sessão de streaming, independentemente de qualquer conexão de cliente existente, quando o limite de tempo é atingido.
-
Encerramento de uma sessão de streaming
Se precisar forçar o encerramento de uma sessão de stream, você tem as seguintes opções:
-
Use a TerminateStreamSession API: para usar TerminateStreamSession, você precisará do ID do grupo de stream e do ID da sessão do stream. Você pode usar ListStreamSessionsou ListStreamSessionsByAccountcom o
--status CONNECTED
parâmetro para obter uma lista de sessões de stream que têm um cliente conectado. -
Remover a localização da sessão do grupo de transmissão: remover a localização do grupo de transmissão em que a sessão está sendo transmitida encerrará todas as sessões de transmissão ativas nesse local. Você pode remover um local em um grupo de streams do console ou usando a RemoveStreamGroupLocationsAPI.
-
Excluir o grupo de streaming da sessão: a exclusão de um grupo de stream encerrará todas as sessões de stream ativas em todos os locais do grupo de stream. Você pode excluir um grupo de streams do console ou usando a DeleteStreamGroupAPI. Use com cuidado, pois você encerrará abruptamente as conexões do cliente.
Reconectando-se a uma sessão de stream
Se um cliente for desconectado de uma sessão de stream sem encerrar a sessão, ele poderá se reconectar à sessão dentro do tempo especificado ConnectionTimeoutSeconds
quando a sessão de stream foi iniciada. Para se reconectar a uma sessão, você precisa do ID da sessão de streaming. Para obter detalhes, consulte CreateStreamSessionConnectiona Referência de API do Amazon GameLift Streams. Você pode ver um exemplo de reconexão com uma sessão de stream no React Starter