Inicie sessões de streaming com o Amazon GameLift Streams - Amazon GameLift Streams

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
  1. Faça login no AWS Management Console e abra o console do Amazon GameLift Streams.

  2. 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:

    1. Selecione um grupo de streaming que você deseja usar para transmitir.

    2. 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.

    3. Em Aplicativos vinculados, selecione um aplicativo.

    4. Em Local, escolha um local com capacidade disponível.

    5. (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.

    6. Confirme sua seleção e escolha Testar stream.

  3. Depois que seu stream for carregado, você poderá fazer as seguintes ações em seu stream:

    1. 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.

    2. 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.

    3. Para ver o stream em tela cheia, escolha Tela cheia. Pressione Escape para reverter essa ação.

  4. 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 para RECONNECTING 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 ou PENDING_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, excetoTERMINATED, pode fazer a transição para ERROR o. Quando uma chamada de API retorna ERROR 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.

Esse diagrama mostra os diferentes estados para os quais uma sessão de stream transita ao longo de seu ciclo de vida.

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á para ERROR com um StatusReason 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 nosso PENDING_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 Sample.