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:
-
Configurazione dello streaming nell'Amazon IVS User Guide (Guida per l'utente di Amazon IVS)
-
Questo post del blog: Configurazione dello streaming con Amazon Interactive Video Service
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
-
Aprire la console Amazon IVS
. È possibile accedere alla console Amazon IVS anche dalla Console di gestione AWS
. -
Nel riquadro di navigazione, scegli Canali. (Se il riquadro di navigazione è compresso, espandilo selezionando l'icona dell'hamburger.)
-
Seleziona il canale su cui desideri trasmettere per accedere alla relativa pagina dei dettagli.
-
Seleziona la scheda Trasmissione. Le schede sono sotto la sezione Configurazione generale.
-
Ti verrà richiesto di concedere alla console IVS l'accesso alla videocamera e al microfono; Consenti tali autorizzazioni.
-
Nella parte inferiore della scheda Trasmissione, utilizza le caselle a discesa per selezionare i dispositivi di input per il microfono e la videocamera.
-
Per iniziare lo streaming, seleziona Avvia trasmissione.
-
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
Streaming con OBS Studio utilizzando RTMPS
OBS Studio
Seguire questi passaggi per iniziare a usare rapidamente OBS Studio v30.2 o successive:
-
Scaricare e installare il software: https://obsproject.com/download
. -
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.
-
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.
-
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:
-
Per regolare la risoluzione video, utilizzare Settings > Video > Output (Scaled) Resolution (Impostazioni > Video > Risoluzione di output [in scala]).
-
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.
-
-
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.
-
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:
-
Selezionare Impostazioni > Flusso.
-
Scegli Amazon IVS dal menu a discesa.
-
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:
-
Scaricare e installare il software: https://obsproject.com/download
. -
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.
-
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.
-
-
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:
-
Per regolare la risoluzione video, utilizzare Settings > Video > Output (Scaled) Resolution (Impostazioni > Video > Risoluzione di output [in scala]).
-
Per regolare il bitrate video, utilizzare Settings > Output > Streaming > Video Bitrate (Impostazioni > Output > Streaming > Bitrate video).
-
-
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.
-
Nella finestra principale di OBS Studio, selezionare Avvia streaming.
La modifica manuale delle impostazioni di OBS è possibile in un secondo momento:
-
Selezionare Impostazioni > Flusso.
-
Scegliere Personalizza dal menu a discesa.
-
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.
-
Scaricare e installare FFmpeg: https://www.ffmpeg.org/download.html
. -
Impostare
$VIDEO_FILEPATH
sulla posizione di un video MP4 da trasmettere:VIDEO_FILEPATH=/home/test/my_video.mp4
-
Impostare
STREAM_KEY
sul valore di StreamKey:STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
-
Impostare
INGEST_ENDPOINT
sul proprio ingestEndpoint (dalla AWS CLI):INGEST_ENDPOINT=a1b2c3d4e5f6.global-contribute.live-video.net
-
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
-
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
. -
Verifica che SRT sia disponibile per l'uso in FFmpeg: esegui il seguente comando e assicurati che nell'output sia presente
libsrt
. Selibsrt
non è presnte, ricostruisci o procurati una versione più recente di FFmpeg che supporti SRT.ffmpeg -version | grep enable-libsrt
-
Impostare
$VIDEO_FILEPATH
sulla posizione di un video MP4 da trasmettere:VIDEO_FILEPATH=/home/test/my_video.mp4
-
Impostare
STREAM_KEY
sul valore di StreamKey:STREAM_KEY=sk_us-west-2_abcd1234efgh5678ijkl
-
Imposta
INGEST_ENDPOINT
sul tuo endpoint (da AWS CLI sotto l'oggettosrt
):INGEST_ENDPOINT=a1b2c3d4e5f6.srt.live-video.net
-
Imposta
PASSPHRASE
sulla tua passprase (da AWS CLI sotto l'oggettosrt
). Utilizza la passphrase solo se l'importazione non sicura non è abilitata per il canale.PASSPHRASE=ZU5A3yrjGAkghUNDr0c5NXBhsPrjlmtcKMNBluh7oImwJQ3ijeyClvMKxlpPcGAMziICJ
-
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”