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á.
Resolução de stream personalizada no Amazon GameLift Streams
Por padrão, o Amazon GameLift Streams oferece streams interativos na resolução full HD padrão do setor de 1920 × 1080 pixels, em uma proporção padrão de 16 por 9. Você pode definir uma resolução personalizada para cada sessão de acordo com o formato da tela ou a proporção do dispositivo do player. As resoluções personalizadas oferecem suporte às proporções de paisagem, retrato e quadrado.
Use resoluções personalizadas para:
-
Transmita experiências em tela cheia para telefones e tablets na proporção nativa do dispositivo, sem preencher ou cortar.
-
Combine proporções de monitor ultralargas para obter uma experiência de tela widescreen nativa.
-
Support streams de jogos com dimensões arbitrárias para incorporação em experiências web que não sejam de tela cheia.
Você pode usar a resolução personalizada com todas as configurações do serviço Amazon GameLift Streams, independentemente da classe de stream ou do ambiente de execução.
Como a resolução funciona
Quando você define uma resolução personalizada, o Amazon GameLift Streams configura o monitor virtual da sessão para a resolução desejada. Isso se torna a resolução do monitor para a sessão. Para obter a melhor qualidade visual, o aplicativo deve renderizar na resolução configurada do monitor.
A resolução do monitor determina as dimensões do monitor virtual e a resolução na qual os quadros são capturados. Duas configurações adicionais do Web SDK afetam a resolução do stream entregue ao player:
-
Resolução máxima: uma configuração do Web SDK que limita a resolução do stream. Quando não especificado, nenhum limite é aplicado e a resolução total do monitor é transmitida. Consulte Interação com resolução máxima.
-
Resolução dinâmica: ajusta automaticamente a resolução da transmissão para oferecer a melhor qualidade visual que a conexão de rede do espectador pode sustentar. Consulte Interação com resolução dinâmica.
Nenhuma das configurações altera a resolução do monitor da sessão.
Restrições de resolução personalizadas
A resolução especificada deve atender aos seguintes requisitos:
| Restrição | Valor |
|---|---|
| Total máximo de pixels | 2.073.600 (1920 × 1080) |
| Faixa de largura e altura | 320 — 4096 pixels |
| Paridade de dimensão | Tanto a largura quanto a altura devem ser números pares |
O serviço valida essas restrições quando você inicia uma sessão. Se a resolução não atender aos requisitos, a solicitação falhará com um erro de validação.
Defina uma resolução personalizada
Você pode definir uma resolução personalizada ao iniciar uma sessão de streaming usando o console, a AWS CLI ou a API.
Usando o console do Amazon GameLift Streams
Para testar um stream com uma resolução personalizada:
-
Abra o console do Amazon GameLift Streams
e navegue até seu grupo de streams. -
Escolha Testar stream.
-
No menu suspenso Resolução, selecione uma resolução para desktop, tablet ou dispositivos móveis.
-
Escolha Test stream para iniciar a sessão.
Depois que a transmissão estiver ativa, você poderá ver a resolução atual na sobreposição de estatísticas em tempo real.
Usar o AWS CLI
Use o comando start-stream-session com o parâmetro --display-configuration:
aws gameliftstreams start-stream-session \ --identifier sg-ExampleStreamGroup \ --application-identifier a-ExampleApp \ --protocol WebRTC \ --signal-request "your-signal-request" \ --display-configuration '{"Resolution":{"Width":1920,"Height":1080}}'
Usar a API
Na solicitação da StartStreamSessionAPI, inclua o DisplayConfiguration parâmetro:
{ "ApplicationIdentifier": "a-ExampleApp", "Protocol": "WebRTC", "SignalRequest": "your-signal-request", "DisplayConfiguration": { "Resolution": { "Width": 1920, "Height": 1080 } } }
Calcule a resolução ideal para um dispositivo
Você pode usar qualquer resolução que atenda às restrições de resolução. A fórmula a seguir é uma abordagem recomendada para encontrar a maior resolução para uma proporção específica. Ele maximiza os pixels disponíveis para obter a melhor qualidade visual:
height = floor_to_even( sqrt(2,073,600 * H / W) ) width = floor_to_even( height * W / H )
Nessa fórmula, W:H é a proporção desejada e 2,073,600 é a contagem máxima total de pixels (1920 × 1080). A função é floor_to_even(x) arredondada para o número inteiro par mais próximo.
exemplo 19. 5:9 (telefone celular)
height = floor_to_even( sqrt(2,073,600 * 9 / 19.5) ) = floor_to_even(978.2) = 978 width = floor_to_even( 978 * 19.5 / 9 ) = floor_to_even(2118.3) = 2118 → Resolution: 2118 × 978 (2,071,404 pixels, 99.9% utilization)
Para resoluções de retrato, calcule a resolução de paisagem e troque os valores de largura e altura.
Valores de resolução comuns para dispositivos
Os valores a seguir usam proporções padrão genéricas que abrangem categorias comuns de dispositivos. Dispositivos individuais podem ter proporções nativas ligeiramente diferentes, o que resulta em barras pretas visualmente insignificantes. Para um preenchimento perfeito em pixels, use a proporção exata nativa do dispositivo com a fórmula acima.
| Categoria | Taxa de proporção | Paisagem | Retrato | Dispositivos correspondentes |
|---|---|---|---|---|
| Área de Trabalho | 16:9 | 1920 × 1080 | 1080 × 1920 | Monitores de desktop, TVs, dispositivos móveis HD |
| Área de Trabalho | 16:10 | 1820 × 1138 | 1138 × 1820 | Monitores widescreen, tablets Amazon Fire |
| Área de Trabalho | 21:9 | 2198 × 942 | Não aplicável | Monitores ultralargos |
| Tablet | 3:2 | 1760 × 1174 | 1174 × 1760 | Vários iPads |
| Tablet | 4:3 | 160 × 1246 | 1246 × 160 | iPads, tablets Android |
| Dispositivos móveis | 20:9 | 2142 × 964 | 964 × 2142 | Google Pixel, Samsung Galaxy |
| Dispositivos móveis | 19. 5:9 | 2118 × 978 | 978 × 2118 | iPhones, Samsung Galaxy |
| Dispositivos móveis | 18:9 | 2036 × 1018 | 1018 × 2036 | Outros telefones Android |
| Outros | 1:1 | 1440 × 1440 | Não aplicável | Monitores quadrados |
Interação com resolução máxima
A resolução personalizada e a resolução máxima têm finalidades diferentes:
-
Resolução personalizada: quando você define uma resolução personalizada, ela se torna a resolução do monitor da sessão. Isso é o que o servidor renderiza, incluindo a proporção e as dimensões em pixels dos quadros capturados.
-
Resolução máxima: uma configuração do Web SDK que limita a resolução do stream. A tampa se encaixa na caixa delimitadora orientada do nível selecionado (por exemplo, 1280 × 720 para 720p). Use essa configuração para atingir dispositivos de baixo custo que não conseguem decodificar uma imagem de resolução total.
Para obter mais informações sobre o parâmetro de resolução máxima, consulte a Referência da API do Amazon GameLift Streams Web SDK na página de documentação do Amazon GameLift Streams.
Interação com resolução dinâmica
A resolução dinâmica ajusta automaticamente a resolução da transmissão para oferecer a melhor qualidade visual que a conexão de rede do espectador pode sustentar. Esse recurso está disponível com o Amazon GameLift Streams Web SDK versão 1.3.0 e posterior.
A resolução dinâmica não afeta a resolução do monitor da sessão. O Amazon GameLift Streams ajusta somente a resolução do stream entregue ao player. Quando a largura de banda é limitada, a resolução do stream diminui enquanto preserva a proporção. Quando a largura de banda é recuperada, ela volta para a resolução total do monitor ou para o limite máximo de resolução.
Por exemplo, se você definir uma resolução personalizada de 1080 × 1920 (retrato móvel, 9:16), o player receberá o stream completo de 1080 × 1920 na largura de banda normal. Se a rede do player ficar restrita, a resolução dinâmica poderá reduzir a transmissão para uma resolução menor (por exemplo, 720 × 1280), mantendo a proporção de 9:16. A resolução do monitor no servidor permanece 1080 × 1920 por toda parte.
Para obter mais informações sobre o parâmetro de resolução dinâmica, consulte a Referência da API do Amazon GameLift Streams Web SDK na página de documentação do Amazon GameLift Streams.
Práticas recomendadas
Siga estas melhores práticas ao usar resoluções personalizadas com o Amazon GameLift Streams:
-
Combine a proporção do dispositivo do jogador para preencher a tela sem caixa de correio ou caixa de pilares. Use os valores de resolução comuns ou a fórmula de cálculo para encontrar a resolução ideal para uma determinada proporção. Para jogos móveis voltados para retratos, use uma resolução de retrato para fornecer uma experiência vertical nativa.
-
Otimize seu frontend para a experiência de streaming. Certifique-se de que seu cliente web gerencie a proporção da transmissão corretamente ao transmitir para dispositivos móveis ou tablets.
-
Teste seu aplicativo com resoluções personalizadas antes de implantá-lo para os jogadores. A maioria dos aplicativos se adapta automaticamente à resolução do monitor quando executada em tela cheia. No entanto, alguns aplicativos podem não lidar com resoluções diferentes de 16:9.
-
Certifique-se de que a câmera e a interface do jogo se adaptem à proporção. Ajuste o campo de visão da câmera do jogo para mostrar a quantidade adequada da cena em vez de cortar a janela de visualização. Reflua ou reposicione os elementos da interface de acordo com a nova proporção.
-
Evite alterar a resolução do monitor virtual em tempo de execução em seu aplicativo. O Amazon GameLift Streams define a resolução do monitor quando a sessão começa. Aplicativos que o modificam durante o jogo podem produzir resultados inesperados.
-
Controle a rotação do dispositivo em seu aplicativo e frontend. A resolução do monitor é fixa durante a sessão. Para suportar a rotação intermediária do dispositivo, recomendamos enviar o sinal de rotação Comunicação por canal de dados entre um aplicativo e um cliente web para o aplicativo. Faça com que o aplicativo gire sua renderização e atualize seu front-end adequadamente.
Solução de problemas
A tabela a seguir descreve problemas comuns, suas causas e soluções sugeridas.
| Problema | Causa | Solução |
|---|---|---|
| Falha ao iniciar a sessão com erro de validação | A resolução não atende às restrições | Verifique se sua resolução atende a todas as restrições listadas em. Restrições de resolução personalizadas |
| O aplicativo é renderizado com resolução errada | O aplicativo não está sendo executado em tela cheia ou é renderizado em uma resolução diferente no modo de janela | Configure o aplicativo para ser executado em tela cheia. O aplicativo pode consultar o sistema para obter a resolução configurada. |
| A resolução do stream é menor do que a esperada (mesma proporção) | O limite máximo de resolução ou a resolução dinâmica estão ativos | Esse é o comportamento esperado quando a resolução máxima ou a resolução dinâmica está ativa. Ambos os recursos reduzem a resolução do stream enquanto preservam a proporção. Verifique a resolução máxima ou a configuração de resolução dinâmica no Web SDK. |
| A resolução do stream difere da resolução personalizada (proporção diferente) | O aplicativo altera a resolução do monitor durante a inicialização ou no meio do stream | A resolução máxima e a resolução dinâmica não causam esse problema. Esse é um comportamento conhecido de alguns aplicativos que substituem a resolução do monitor. Considere usar um aplicativo que não substitua a resolução do monitor ou configure o aplicativo para renderizar na resolução do monitor em tela cheia. |
| Barras pretas aparecem na tela do player | Incompatibilidade de proporção entre stream e dispositivo, ou o aplicativo é renderizado com barras pretas internamente | Verifique se as barras pretas são do cliente (incompatibilidade de proporção) ou do próprio aplicativo. Use um valor de resolução que corresponda à proporção do dispositivo do player ou calcule a resolução ideal usando a fórmula emCalcule a resolução ideal para um dispositivo. |