Come trasmettiamo 24/7 su Twitch e YouTube
Se non l'hai ancora visto, trasmettiamo in streaming le nostre lezioni bibliche 24 ore su 24, 7 giorni su 7 su YouTube e Twitch. In questa guida ti mostrerò come realizziamo questo tecnicamente.
La risposta di base
Utilizziamo playlist FFmpeg su un droplet di Digital Ocean. Se questo non è ciò che desideri utilizzare, puoi uscire ora.
Questa guida sarà altamente tecnica e specifica su come ho realizzato questo con il nostro materiale. Alcuni elementi potrebbero non essere applicabili alla tua configurazione, ma si spera possano darti qualche indicazione.
1. Configurare il Droplet
Utilizziamo Digital Ocean per creare il nostro server remoto, ma potresti fare la stessa configurazione su qualsiasi altra piattaforma che offra capacità da riga di comando per eseguire script e installare applicazioni e includa un trasferimento dati mensile sufficiente per lo streaming 24/7.
Ecco le specifiche:
Sono riuscito a utilizzare il Droplet di livello più basso con 512MB di RAM e 10GB di disco e vi ho montato un'unità di archiviazione Volume per i video.
2. Carica i tuoi video
Sul tuo disco montato, o se stai usando una piattaforma di hosting generica, crea una cartella videos e organizza i video come desideri lavorarci. Ecco come li organizziamo noi:

È tutto basato su slug e sequenza. Le nostre Serie hanno uno slug (christianity-for-beginners) e ogni lezione ha uno slug con la Sequenza dell'Elemento prima di esso.
Così vengono memorizzati i nostri dati nel nostro database e saranno utilizzati durante la generazione delle playlist e per tenere traccia di dove ci troviamo nell'ordine dei video.
3. Aggiungi FFmpeg
Apri la tua riga di comando e verifica se hai già installato ffmpeg:
ffmpeg -version
Se non lo fate, eseguite il seguente codice per le configurazioni Ubuntu:
sudo apt aggiornamento
sudo apt install ffmpeg
Puoi eseguire di nuovo il controllo della versione per assicurarti che sia presente.
4. Crea la Playlist
FFmpeg può eseguire una lista di video basata su una playlist. Creiamone una. Chiamo il file sul nostro sistema assets.txt ed è situato nella cartella principale. È molto semplice e assomiglia a questo:

La nostra playlist completa conta oltre 370 video! Dai un'occhiata.
Nella nostra funzione FFmpeg più avanti diremo a FFmpeg di ripetere, così una volta raggiunto l'ultimo video tornerà all'inizio. Quindi, se il tuo script si blocca per qualsiasi motivo, tornerà sempre all'inizio della tua lista.
Questo è un bonus, ma per evitare che torni sempre all'inizio, genero dinamicamente questa playlist dal nostro sito web, così se si blocca so in quale posizione ci troviamo nella playlist e poi resetto l'ordine della playlist dinamicamente. Ecco una breve panoramica di questo processo.
Carico un database con l'ID dell'elemento e il suo tempo di inizio e fine basato sulla durata del video. Precarico questo per un paio di mesi e poi torno per mantenerlo aggiornato. Potresti avere un altro script che lo fa per te.

Prima di riavviare lo streaming, invio un ping al nostro sito web e creo il assets.txt nel nuovo ordine aggiornato e lo scarico sul Droplet remoto che vedrai nel passaggio successivo.
5. Creazione dello Script
Ora creeremo uno script bash da eseguire tramite un Cronjob. Ecco un grafico del nostro script.

Visualizza lo script come file di testo: rerun.txt
Assicurati di aggiornare {YOUR_STREAM_KEY} con la tua chiave effettiva. Puoi anche aggiornare il punto di accesso Twitch per essere più vicino alla posizione dei tuoi server. Visualizza i punti di accesso Twitch.
Controlla i file di script sopra in formato Testo per vedere le impostazioni su cui sono arrivato. Ci sono così tante opzioni e la documentazione di FFmpeg è piuttosto buona. Puoi registrare gli errori come alla fine dello script di Twitch sopra per vedere cosa è andato storto.
6. Esecuzione dello Script
Per eseguire lo script, imposteremo un lavoro cron per gestirlo. Ecco una guida utile sui Cronjob se non ne sei familiare.
Ho scelto di eseguire lo script ogni minuto con il seguente Cronjob perché la funzione di fine automatica di YouTube sembra terminare lo streaming dopo un minuto senza dati inviati, quindi ho scoperto che è meglio eseguirlo spesso.
* * * * * ./rerun.sh
Chiusura
Non ho trattato ogni aspetto del processo, solo alcune delle parti tecniche chiave. Avresti comunque bisogno di conoscere come creare le impostazioni del tuo Live Stream in una delle due piattaforme, ma questo dovrebbe essere un buon punto di partenza.
Contattami su X con le tue domande o problemi e aggiornerò questa guida man mano che verranno condivisi nuovi scenari.



