Fase 5: Configurazione del software di streaming - Amazon IVS

Fase 5: Configurazione del software di streaming

Puoi eseguire lo streaming (a bassa latenza) su Amazon IVS con:

  • Gli SDK di trasmissione IVS nativi che supportano RTMPS. Lo abbiamo consigliato, in particolare per gli scenari di produzione.

  • La console Amazon IVS: è adatta per testare i flussi.

  • Altri codificatori software e hardware di streaming: è possibile utilizzare qualsiasi codificatore di streaming che supporti i protocolli RTMP, RTMPS o SRT. Di seguito vengono descritti diversi esempi, utilizzando Open Broadcast Software (OBS) e FFmpeg con RTMPS e SRT. RTMPS consente un'elevata sicurezza tramite l'uso di un flusso TLS crittografato.

Le impostazioni del codificatore della chiave sono l'intervallo del keyframe (2 secondi) e la risoluzione/bitrate/frequenza fotogrammi (che sono correlati). Per maggiori dettagli sulle impostazioni del codificatore, consultare:

Note:

  • la durata massima degli stream Amazon IVS è di 48 ore. Successivamente, il flusso viene terminato e la sessione di streaming viene disconnessa. Una riconnessione riuscita (automaticamente o manualmente) avvia un nuovo flusso.

  • Se il codificatore smette di inviare dati (ad esempio, a causa di un problema temporaneo di rete), Amazon IVS attende 30 secondi. Se durante questo periodo non vengono ricevuti dati dall'emittente, Amazon IVS si disconnette.

Effettuare lo streaming con l'SDK di trasmissione di Amazon IVS

Per trasmettere dalle proprie applicazioni iOS o Android, è possibile utilizzare l'SDK di trasmissione di Amazon IVS. L'SDK di trasmissione sfrutta l'architettura di Amazon IVS e sarà arricchito di miglioramenti continui e nuove funzionalità, insieme ad Amazon IVS. Essendo un SDK di trasmissione mobile nativo, è progettato per ridurre al minimo l'impatto sulle prestazioni dell'applicazione e dei dispositivi utilizzati dagli utenti per accedere all'applicazione.

Per trasmettere da… È possibile utilizzare… Note
Le applicazioni Android o iOS SDK di trasmissione Amazon IVS Android o iOS Essendo un SDK di trasmissione mobile nativo, è progettato per ridurre al minimo l'impatto sulle prestazioni dell'applicazione e dei dispositivi utilizzati dagli utenti per accedere all'applicazione.
Un ambiente Web SDK di trasmissione Web di Amazon IVS In quanto SDK per trasmissione Web, l'SDK di trasmissione Web di Amazon IVS consente di trasmettere da ambienti Web utilizzando WebRTC. Vanta il supporto multibrowser e multipiattaforma.

Per informazioni dettagliate, consultare SDK di trasmissione IVS | Streaming a bassa latenza.

Streaming con la console Amazon IVS

  1. Aprire la console Amazon IVS.

    È possibile accedere alla console Amazon IVS anche dalla Console di gestione AWS.

  2. Nel riquadro di navigazione, scegli Canali. (Se il riquadro di navigazione è compresso, espandilo selezionando l'icona dell'hamburger.)

  3. Seleziona il canale su cui desideri trasmettere per accedere alla relativa pagina dei dettagli.

  4. Seleziona la scheda Trasmissione. Le schede sono sotto la sezione Configurazione generale.

  5. Ti verrà richiesto di concedere alla console IVS l'accesso alla videocamera e al microfono; Consenti tali autorizzazioni.

  6. Nella parte inferiore della scheda Trasmissione, utilizza le caselle a discesa per selezionare i dispositivi di input per il microfono e la videocamera.

  7. Per iniziare lo streaming, seleziona Avvia trasmissione.

  8. Per visualizzare lo streaming live, vai alla scheda Riproduzione.

    Nota: dopo aver avviato lo streaming, è previsto un breve ritardo (di solito inferiore a 30 secondi) prima che sia visualizzabile nella scheda di riproduzione.

Puoi utilizzare questa funzione per trasmettere simultaneamente su più canali.

Nota: lo streaming dalla console consuma risorse e comporta costi di input per i video in diretta. Per ulteriori informazioni, consulta la sezione Costi di input per i video in diretta nella pagina dei prezzi di IVS.

Streaming con OBS Studio utilizzando RTMPS

OBS Studio è una suite software open source gratuita per la registrazione e lo streaming live. OBS fornisce in tempo reale l'acquisizione di sorgenti e dispositivi, la composizione della scena, la codifica, la registrazione e lo streaming.

Seguire questi passaggi per iniziare a usare rapidamente OBS Studio v30.2 o successive:

  1. Scaricare e installare il software: https://obsproject.com/download.

  2. Eseguire la Procedura guidata di configurazione automatica di OBS Studio, visualizzata al primo caricamento di OBS Studio. Seguire i passaggi riportati e accettare le impostazioni predefinite.

  3. In Informazioni sul flusso, scegli Amazon IVS dal menu a discesa Servizio e inserisci la Chiave di flusso.

    Se hai creato il canale con la console Amazon IVS, la Chiave di flusso da inserire in OBS è la Chiave di flusso della console: sk_us-west-2_abcd1234efgh5678ijkl

    Se hai creato il canale con AWS CLI, la Chiave di flusso da inserire in OBS è il valore streamKey della risposta della CLI sk_us-west-2_abcd1234efgh5678ijkl

    Se il tuo canale IVS è configurato per l'input video multitraccia, seleziona Abilita video multitraccia. Facoltativamente, configura le impostazioni Maximum Video Tracks e Maximum Streaming Bandwidth, che vengono utilizzate per limitare le impostazioni del flusso configurate automaticamente.

  4. Per Video Output Resolution (Risoluzione di output video) e Bitrate, fare riferimento a Channel Types (Tipi di canali) in Amazon IVS Streaming Configuration (Configurazione streaming di Amazon IVS). Se uno dei valori scelti dalla procedura guidata OBS supera i valori consentiti da Amazon IVS, è necessario modificare manualmente i valori per evitare una connessione non riuscita ad Amazon IVS. Al termine della procedura guidata:

    1. Per regolare la risoluzione video, utilizzare Settings > Video > Output (Scaled) Resolution (Impostazioni > Video > Risoluzione di output [in scala]).

    2. Per regolare il bitrate video, utilizzare Settings > Output > Streaming > Video Bitrate (Impostazioni > Output > Streaming > Bitrate video).

      Nota: ciò non influisce sulla diretta streaming se in precedenza è stata selezionata l'opzione Abilita video multitraccia.

  5. Consigliamo un Keyframe Interval (Intervallo fotogrammi) di 2 secondi per migliorare la stabilità del flusso ed evitare il buffering nella riproduzione del visualizzatore. Al termine della procedura guidata, andare a Settings > Output > Output Mode (Impostazioni > Output > Modalità di output), selezionare Advanced (Avanzata) e nella scheda Streaming verificare che Keyframe Interval (Intervallo fotogrammi) sia 2.

    Nota: Intervallo dei fotogrammi viene configurato automaticamente se in precedenza hai selezionato Abilita video multitraccia.

  6. Nella finestra principale di OBS Studio, selezionare Avvia streaming.

Per ulteriori informazioni sullo streaming con OBS Studio, consultare Avvio rapido di OBS Studio.

La modifica manuale delle impostazioni di OBS è possibile in un secondo momento:

  1. Selezionare Impostazioni > Flusso.

  2. Scegli Amazon IVS dal menu a discesa.

  3. Incolla la Chiave di flusso.

Eseguire nuovamente la procedura guidata in qualsiasi momento selezionando Strumenti > Procedura guidata di configurazione automatica.

Facoltativamente, in Impostazioni > Generali, abilitare la registrazione locale per salvare lo streaming live per un utilizzo successivo. Come accennato in precedenza, problemi di rete tra la trasmissione e AWS o all'interno di AWS potrebbero causare una perdita di dati durante la registrazione del flusso. In questi casi, Amazon IVS assegna la priorità allo streaming live rispetto alla registrazione. La registrazione locale tramite lo strumento di streaming fornisce ridondanza.

Consigliamo di controllare regolarmente la presenza di aggiornamenti di OBS Studio e aggiornare alla versione più recente. (Ad esempio, se viene restituito un errore "Impossibile connettersi al server", è possibile che si stia utilizzando una versione obsoleta di OBS Studio che non supporta RTMPS.)

Streaming con OBS Studio utilizzando SRT

Segui questi passaggi per iniziare a usare rapidamente il protocollo Secure Reliable Transport:

  1. Scaricare e installare il software: https://obsproject.com/download.

  2. Eseguire la Procedura guidata di configurazione automatica di OBS Studio, visualizzata al primo caricamento di OBS Studio. Seguire i passaggi riportati e accettare le impostazioni predefinite.

  3. In Stream Information (Informazioni di streaming), scegliere Custom… (Personalizzato) dal menu a discesa Service (Servizio) e inserire Server (Ingest server) (Server [Server di acquisizione]) e Stream Key (Chiave di streaming).

    Alla creazione del canale con la AWS CLI:

    • Il Server specificato in OBS è una combinazione di cinque elementi:

      • Un protocollo di acquisizione: srt://

      • L'endpoint della struttura srt nella risposta della CLI:

        a1b2c3d4e5f6.srt.live-video.net

      • Una porta: 9000

      • Un streamid, che è il valore StreamKey della risposta della CLI:

        sk_us-west-2_abcd1234efgh5678ijkl

      • Una passphrase, utilizzata per crittografare il contenuto. Utilizzala solo se l'importazione non sicura non è abilitata.

        ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ

      La voce completa è:

      srt://a1b2c3d4e5f6.srt.live-video.net:9000?streamid=sk_us-west-2_abcd1234efgh5678ijkl&passphrase=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ

    • La Chiave di flusso inserita in OBS rimarrà vuota per il protocollo SRT.

  4. Per Video Output Resolution (Risoluzione di output video) e Bitrate, fare riferimento a Channel Types (Tipi di canali) in Amazon IVS Streaming Configuration (Configurazione streaming di Amazon IVS). Se uno dei valori scelti dalla procedura guidata OBS supera i valori consentiti da Amazon IVS, è necessario modificare manualmente i valori per evitare una connessione non riuscita ad Amazon IVS. Al termine della procedura guidata:

    1. Per regolare la risoluzione video, utilizzare Settings > Video > Output (Scaled) Resolution (Impostazioni > Video > Risoluzione di output [in scala]).

    2. Per regolare il bitrate video, utilizzare Settings > Output > Streaming > Video Bitrate (Impostazioni > Output > Streaming > Bitrate video).

  5. Consigliamo un Keyframe Interval (Intervallo fotogrammi) di 2 secondi per migliorare la stabilità del flusso ed evitare il buffering nella riproduzione del visualizzatore. Al termine della procedura guidata, andare a Settings > Output > Output Mode (Impostazioni > Output > Modalità di output), selezionare Advanced (Avanzata) e nella scheda Streaming verificare che Keyframe Interval (Intervallo fotogrammi) sia 2.

  6. Nella finestra principale di OBS Studio, selezionare Avvia streaming.

La modifica manuale delle impostazioni di OBS è possibile in un secondo momento:

  1. Selezionare Impostazioni > Flusso.

  2. Scegliere Personalizza dal menu a discesa.

  3. Incollare i valori in Server e/o Chiave di streaming.

Eseguire nuovamente la procedura guidata in qualsiasi momento selezionando Strumenti > Procedura guidata di configurazione automatica.

Facoltativamente, in Impostazioni > Generali, abilitare la registrazione locale per salvare lo streaming live per un utilizzo successivo. Come accennato in precedenza, problemi di rete tra la trasmissione e AWS o all'interno di AWS potrebbero causare una perdita di dati durante la registrazione del flusso. In questi casi, Amazon IVS assegna la priorità allo streaming live rispetto alla registrazione. La registrazione locale tramite lo strumento di streaming fornisce ridondanza.

Consigliamo di controllare regolarmente la presenza di aggiornamenti di OBS Studio e aggiornare alla versione più recente. Ad esempio, se viene restituito l'errore “Impossibile connettersi al server”, è possibile che si stia utilizzando una versione obsoleta di OBS Studio che non supporta RTMPS.

Streaming di un video registrato con FFmpeg utilizzando RTMPS

Completare la procedura riportata di seguito.

  1. Scaricare e installare FFmpeg: https://www.ffmpeg.org/download.html.

  2. Impostare $VIDEO_FILEPATH sulla posizione di un video MP4 da trasmettere:

    VIDEO_FILEPATH=/home/test/my_video.mp4
  3. Impostare STREAM_KEY sul valore di StreamKey:

    STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
  4. Impostare INGEST_ENDPOINT sul proprio ingestEndpoint (dalla AWS CLI):

    INGEST_ENDPOINT=a1b2c3d4e5f6.global-contribute.live-video.net
  5. Iniziare lo streaming con il seguente comando terminale (tutto su una riga):

    ffmpeg -re -stream_loop -1 -i $VIDEO_FILEPATH -r 30 -c:v libx264 -pix_fmt yuv420p -profile:v main -preset veryfast -x264opts "nal-hrd=cbr:no-scenecut" -minrate 3000 -maxrate 3000 -g 60 -c:a aac -b:a 160k -ac 2 -ar 44100 -f flv rtmps://$INGEST_ENDPOINT:443/app/$STREAM_KEY

    Si prega di notare che il comando precedente è solo un esempio. Per lo streaming di produzione, regolare i parametri in base alle proprie esigenze.

Streaming di un video registrato con FFmpeg utilizzando SRT

  1. Scaricare e installare FFmpeg: https://www.ffmpeg.org/download.html. Se stai usando una versione vecchia/compilata di FFmpeg, crea una nuova versione con il flag --enable-libsrt.

  2. Verifica che SRT sia disponibile per l'uso in FFmpeg: esegui il seguente comando e assicurati che nell'output sia presente libsrt. Se libsrt non è presnte, ricostruisci o procurati una versione più recente di FFmpeg che supporti SRT.

    ffmpeg -version | grep enable-libsrt
  3. Impostare $VIDEO_FILEPATH sulla posizione di un video MP4 da trasmettere:

    VIDEO_FILEPATH=/home/test/my_video.mp4
  4. Impostare STREAM_KEY sul valore di StreamKey:

    STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
  5. Imposta INGEST_ENDPOINT sul tuo endpoint (da AWS CLI sotto l'oggetto srt):

    INGEST_ENDPOINT=a1b2c3d4e5f6.srt.live-video.net
  6. Imposta PASSPHRASE sulla tua passprase (da AWS CLI sotto l'oggetto srt). Utilizza la passphrase solo se l'importazione non sicura non è abilitata per il canale.

    PASSPHRASE=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
  7. Iniziare lo streaming con il seguente comando terminale (tutto su una riga):

    ffmpeg -re -i $VIDEO_FILEPATH -c copy -f mpegts "srt://$INGEST_ENDPOINT:9000?streamid=$STREAM_KEY&passphrase=$PASSPHRASE”