

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
<a name="stream-sessions"></a>

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](sdk.md). 

## Sobre as sessões de stream
<a name="stream-sessions-about"></a>

 Os pré-requisitos para iniciar uma sessão de streaming são um aplicativo no status **Pronto**, um grupo de stream que tenha capacidade disponível no local em que você deseja transmitir e o aplicativo replicado para o local em que você deseja transmitir. Uma sessão de stream é executada em um dos recursos computacionais 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 [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)de API do Amazon GameLift Streams*. 

## Testando um stream no console
<a name="stream-sessions-testing"></a>

 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 Console de gerenciamento da AWS e abra o [console do Amazon GameLift Streams](https://console.aws.amazon.com/gameliftstreams/).

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

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

   1. Em **Aplicativos vinculados**, selecione um aplicativo.

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

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

   1. Confirme sua seleção e escolha **Testar stream**.

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

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

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

1. 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
<a name="stream-sessions-lifecycle"></a>

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. 
+ [StartStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)cria 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. [CreateStreamSessionConnection](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionConnection.html)faz 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 tempo`ConnectionTimeoutSeconds`, 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 por`ConnectionTimeoutSeconds`, ele faz a transição para o. `TERMINATED`
+ [TerminateStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_TerminateStreamSession.html)inicia 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 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 [GetStreamSession](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_GetStreamSession.html)para 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.\]](http://docs.aws.amazon.com/pt_br/gameliftstreams/latest/developerguide/images/stream_session_lifecycle.png)


## Valores de tempo limite que afetam as sessões de stream
<a name="stream-sessions-lifecycle-timeouts"></a>

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` de`placementTimeout`.

**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](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)
+ 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`

**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](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_StartStreamSession.html)
+ 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
<a name="stream-sessions-terminate"></a>

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](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_TerminateStreamSession.html), você precisará do ID do grupo de stream e do ID da sessão do stream. Você pode usar [ListStreamSessions](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListStreamSessions.html)ou [ListStreamSessionsByAccount](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_ListStreamSessionsByAccount.html)com 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 [RemoveStreamGroupLocations](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_RemoveStreamGroupLocations.html)API.
+ **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 [DeleteStreamGroup](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_DeleteStreamGroup.html)API. Use com cuidado, pois você encerrará abruptamente as conexões do cliente.

## Reconectando-se a uma sessão de stream
<a name="stream-sessions-reconnection"></a>

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 [CreateStreamSessionConnection](https://docs.aws.amazon.com/gameliftstreams/latest/apireference/API_CreateStreamSessionConnection.html)a *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](https://github.com/aws-samples/sample-amazon-gamelift-streams-react-app) Sample.