View a markdown version of this page

Avvia sessioni di streaming con Amazon GameLift Streams - GameLift Stream Amazon

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Avvia sessioni di streaming con Amazon GameLift Streams

Questa sezione riguarda le sessioni di streaming, l'istanza effettiva di uno streaming in cui un utente finale o un giocatore può interagire con la tua applicazione o giocare. Scoprirai come testare la tua sessione di streaming e comprenderne il ciclo di vita.

Per avviare sessioni di streaming per gli utenti finali, puoi integrare Amazon GameLift Streams nella tua applicazione client e di servizio; per ulteriori informazioni, consulta. Servizio backend e client web Amazon GameLift Streams Puoi anche creare un URL di streaming, che avvia una sessione di streaming in un browser Web supportato senza richiedere all'utente finale di disporre di AWS credenziali o di un'integrazione con il client; per ulteriori informazioni, consulta. Condividi le sessioni di streaming con gli URL di streaming

Informazioni sulle sessioni di streaming

I prerequisiti per avviare una sessione di streaming sono un'applicazione in stato Pronto, un gruppo di stream con capacità disponibile nella posizione in cui si desidera eseguire lo streaming e l'applicazione replicata nella posizione in cui si desidera eseguire lo streaming. Una sessione di streaming viene eseguita su una delle risorse di calcolo allocate da un gruppo di stream. Quando avvii uno streaming, devi specificare un gruppo di stream e un'applicazione per lo streaming utilizzando i relativi valori ARN o ID.

Quando avvii con successo una sessione di streaming, ricevi un identificatore univoco per quella sessione di streaming. Quindi, utilizzi quell'ID per connettere la sessione di streaming a un utente finale. Per ulteriori informazioni, StartStreamSession consulta Amazon GameLift Streams API Reference.

Facoltativamente, puoi fornire un ARN del ruolo IAM all'avvio di una sessione di streaming. Se fornito, Amazon GameLift Streams assume il ruolo e l'applicazione riceve automaticamente le credenziali AWS. Non è necessario modificare il codice dell’applicazione. Per ulteriori informazioni, consulta Fornisci le credenziali AWS alla tua applicazione di streaming.

Test di uno stream nella console

Il modo più diretto per testare lo streaming della tua applicazione è tramite la console Amazon GameLift Streams. Quando avvii uno stream, Amazon GameLift Streams utilizza una delle risorse di calcolo allocate dal gruppo di stream. Quindi, devi avere capacità disponibile nel tuo gruppo di stream.

Per testare il tuo streaming nella console Amazon GameLift Streams
  1. Accedi Console di gestione AWS e apri la console Amazon GameLift Streams.

  2. Puoi testare uno stream in diversi modi. Inizia dalla pagina Stream groups o Test stream e segui questi passaggi:

    1. Seleziona un gruppo di streaming che desideri utilizzare per lo streaming.

    2. Se parti dalla pagina dei gruppi di streaming, scegli Test stream. Se parti dalla pagina Test stream, seleziona Scegli. Si apre la pagina di configurazione del flusso di test per il gruppo di stream selezionato.

    3. In Applicazioni collegate, seleziona un'applicazione.

    4. In Posizione, scegli una sede con capacità disponibile.

    5. (Facoltativo) Nelle configurazioni del programma, immettete gli argomenti della riga di comando o le variabili di ambiente da passare all'applicazione all'avvio.

    6. Conferma la selezione e scegli Test stream.

  3. Dopo il caricamento dello stream, puoi eseguire le seguenti azioni nello stream:

    1. Per collegare gli input, ad esempio mouse, tastiera e gamepad (eccetto i microfoni, che non sono supportati in Test stream), scegli Allega input. Il mouse viene collegato automaticamente quando si sposta il cursore nella finestra dello streaming.

    2. Per fare in modo che i file creati durante la sessione di streaming vengano esportati in un bucket Amazon S3 alla fine della sessione, scegli Esporta file e specifica i dettagli del bucket. I file esportati sono disponibili nella pagina Sessioni.

    3. Per visualizzare lo streaming a schermo intero, scegli Schermo intero. Premi Esc per annullare questa azione.

  4. Per terminare lo streaming, scegli Termina sessione. Quando lo stream si disconnette, la capacità dello stream diventa disponibile per avviare un altro stream.

Nota

La funzionalità Test stream nella console Amazon GameLift Streams non supporta i microfoni.

Ciclo di vita della sessione di streaming

Quando lavori con sessioni di streaming in Amazon GameLift Streams, questo diagramma può aiutarti a comprendere i diversi stati a cui passa una sessione di streaming durante il suo ciclo di vita.

  • StartStreamSessioncrea una nuova sessione di streaming, che inizia nello stato. ACTIVATING Quando Amazon GameLift Streams trova le risorse disponibili per ospitare lo streaming, la sessione di streaming passa a. ACTIVE Quando un client si connette allo stream attivo, la sessione di streaming passa a. CONNECTED

  • Quando un client si disconnette da uno stream, la sessione di streaming passa allo stato. PENDING_CLIENT_RECONNECTION CreateStreamSessionConnectionpassa la sessione di streaming a RECONNECTING e avvia il client a riconnettersi allo stream o crea una nuova sessione di streaming. Quando una sessione di streaming è pronta per la riconnessione del client, passa a. ACTIVE Quando il client si riconnette, torna a. CONNECTED Se un client rimane disconnesso per più diConnectionTimeoutSeconds, la sessione di streaming termina.

  • Quando un client non si connette a una sessione di streaming ACTIVE o a PENDING_CLIENT_RECONNECTION uno stato entro il periodo di tempo specificato daConnectionTimeoutSeconds, passa a. TERMINATED

  • TerminateStreamSessionavvia la cessazione dello stream e la sessione di streaming passa allo stato. TERMINATING Quando la sessione di streaming termina correttamente, passa a. TERMINATED

  • Una sessione di streaming in qualsiasi stato, tranneTERMINATED, può passare a. ERROR Quando una chiamata API ritorna ERROR come valore Status, controlla il valore di StatusReason per una breve descrizione della causa dell'errore. Puoi anche chiamare GetStreamSession per verificare questi valori.

Questo diagramma mostra i diversi stati a cui passa una sessione di streaming durante il suo ciclo di vita.

Valori di timeout che influiscono sulle sessioni di streaming

Le sessioni di streaming sono regolate da diversi valori di timeout che controllano diversi aspetti del ciclo di vita della sessione. In ordine approssimativamente cronologico di quando potresti incontrarle in genere durante il ciclo di vita della sessione di streaming, includono quanto segue:

Timeout di posizionamento

Limite di tempo per Amazon GameLift Streams per trovare risorse di calcolo per ospitare una sessione di streaming utilizzando la capacità disponibile. Il timeout di posizionamento varia in base al tipo di capacità utilizzata per soddisfare la richiesta di streaming:

  • Always-on capacità: 75 secondi

  • On-demand capacità:

    • Linux/Proton tempi di esecuzione: 90 secondi

    • Runtime di Windows: 10 minuti

  • Comportamento: se Amazon GameLift Streams non è in grado di identificare le risorse disponibili entro questo lasso di tempo, la sessione di streaming Status passa a un ERROR valore StatusReason di placementTimeout off.

Timeout di connessione

Periodo di tempo in cui Amazon GameLift Streams attende che un client si connetta o si riconnetta a una sessione di streaming.

  • Parametro: in ConnectionTimeoutSeconds StartStreamSession

  • Intervallo: 1 - 3600 secondi (1 ora)

  • Impostazione predefinita: 120 secondi (2 minuti)

  • Comportamento: il timer si avvia quando la sessione di streaming raggiunge ACTIVE il PENDING_CLIENT_RECONNECTION nostro stato. Se nessun client si connette prima del timeout, la sessione Status passa a. TERMINATED

Timeout della durata della sessione

Durata massima Amazon GameLift Streams mantiene aperta una sessione di streaming.

  • Parametro: SessionLengthSeconds in StartStreamSession

  • Intervallo: 1 - 86400 secondi (24 ore)

  • Impostazione predefinita: 43200 secondi (12 ore)

  • Comportamento: termina la sessione di streaming indipendentemente da qualsiasi connessione client esistente quando viene raggiunto il limite di tempo.

Termine di una sessione di streaming

Se devi forzare l'interruzione di una sessione di streaming, hai le seguenti opzioni:

  • Usa l' TerminateStreamSession API: per utilizzarla TerminateStreamSession, avrai bisogno dell'ID del gruppo di streaming e dell'ID della sessione di streaming. Puoi usare ListStreamSessions o ListStreamSessionsByAccount con il --status CONNECTED parametro per ottenere un elenco di sessioni di streaming a cui è connesso un client.

  • Rimuovi la posizione della sessione dal relativo gruppo di stream: la rimozione della posizione dal gruppo di stream in cui la sessione è in streaming interromperà tutte le sessioni di streaming attive in quella posizione. Puoi rimuovere una posizione in un gruppo di stream dalla console o utilizzando l'RemoveStreamGroupLocationsAPI.

  • Elimina il gruppo di stream della sessione: l'eliminazione di un gruppo di stream interromperà tutte le sessioni di streaming attive in tutte le posizioni del gruppo di stream. Puoi eliminare un gruppo di stream dalla console o utilizzando l'DeleteStreamGroupAPI. Utilizzalo con cautela poiché interromperai bruscamente le connessioni dei client.

Riconnessione a una sessione di streaming

Se un client viene disconnesso da una sessione di streaming senza terminarla, può riconnettersi alla sessione entro il tempo specificato dall'ConnectionTimeoutSecondsavvio della sessione di streaming. Per riconnetterti a una sessione, è necessario l'ID della sessione di streaming. Per i dettagli, consulta la CreateStreamSessionConnection sezione Amazon GameLift Streams API Reference. Puoi vedere un esempio di riconnessione a una sessione di streaming nell'esempio di React Starter.

La riconnessione non è disponibile per le sessioni di streaming avviate attivando un URL di streaming. Poiché non è prevista alcuna riconnessione, la riapertura dell'URL dello stream avvia una sessione completamente nuova e ne consuma un altro utilizzo. UsageLimit Per ulteriori informazioni, consulta Condividi le sessioni di streaming con gli URL di streaming.