Tecnico ·
RTMP spiegato: il protocollo dietro ogni diretta
Punti chiave
- RTMP (Real-Time Messaging Protocol) è il formato di connessione che trasporta i dati video e audio da una sorgente di streaming a una piattaforma come YouTube.
- Una "chiave di streaming" in realtà è solo una password aggiunta a un URL RTMP: insieme dicono a YouTube a quale trasmissione di quale canale appartengono questi dati.
- Non serve capire RTMP per usarlo, ma sapere cos'è rende molto meno confuso capire perché uno stream non parte.
Se ti è mai capitato di cercare la tua chiave di streaming di YouTube, avrai visto RTMP nominato proprio accanto: di solito come un "URL RTMP" da incollare in OBS o in un altro strumento di streaming insieme alla chiave. È facile trattare entrambi come stringhe magiche da copiare e incollare senza sapere cosa fanno. Ecco la versione in parole semplici.
Cos'è davvero RTMP
RTMP sta per Real-Time Messaging Protocol. È un modo per impacchettare dati video e audio e inviarli, di continuo, da un punto all'altro con un ritardo molto basso: esattamente quello che serve a una diretta. In origine è stato creato da Macromedia (poi Adobe) per i video Flash, ma è sopravvissuto del tutto a Flash perché è semplice, affidabile e tutte le principali piattaforme (YouTube, Twitch, Facebook Live) lo accettano ancora come formato di ingest.
Pensalo meno come un file che viene caricato e più come una telefonata: una volta aperta la connessione, i dati scorrono di continuo in una direzione (dal tuo encoder ai server di YouTube) finché una delle due parti non riattacca.
Dove entra in gioco la chiave di streaming
Una connessione RTMP ha bisogno di due cose per sapere dove devono andare i dati: un URL del server (qualcosa come rtmp://a.rtmp.youtube.com/live2) e una chiave di streaming, una stringa lunga e univoca che di fatto è una password che identifica la trasmissione di un certo canale. YouTube usa la chiave di streaming per instradare il tuo video nel posto giusto e, su un account YouTube collegato, verso la trasmissione specifica che hai configurato.
Ecco perché una chiave di streaming è un dato sensibile: chiunque la possieda può trasmettere nello spazio live del tuo canale. Ed ecco anche perché un servizio non dovrebbe mai mostrartela di nuovo dopo che l'hai salvata, ma solo permetterti di sostituirla con una nuova.
Ogni piattaforma ha il proprio URL del server e tiene la chiave in un menu diverso. Lo strumento gratuito di ricerca degli URL dei server RTMP elenca l'URL di ingest, dove trovare la chiave di streaming e le impostazioni consigliate per YouTube, Twitch, Facebook e altre piattaforme.
Perché gli stream falliscono a livello RTMP
La maggior parte dei problemi del tipo "il mio stream non parte" si riconduce a uno di questi problemi a livello RTMP:
- Chiave di streaming sbagliata o scaduta: YouTube genera una nuova chiave se reimposti le impostazioni dello stream; una vecchia chiave salvata non si collegherà a nulla.
- Rete instabile: RTMP mantiene aperta una connessione continua; una connessione ballerina fa sì che l'encoder continui a riconnettersi, e YouTube lo mostra come uno stream che continua ad avviarsi e fermarsi.
- Impostazioni dell'encoder non corrispondenti: bitrate, risoluzione o intervallo dei keyframe che non corrispondono a ciò che YouTube si aspetta per l'ingest possono far sì che la connessione venga accettata ma il video non risulti mai davvero in diretta. Il calcolatore gratuito del bitrate per lo streaming elenca le impostazioni consigliate per YouTube, Twitch, Facebook e Kick a ogni risoluzione.
Un servizio di streaming in cloud come Loopcast elimina gran parte di questi punti di rottura dal lato dell'invio: la connessione parte da un'infrastruttura server stabile invece che da una connessione internet di casa, e il video viene normalizzato in anticipo in un formato coerente prima ancora di essere inviato via RTMP, quindi i problemi di incompatibilità dell'encoder non si presentano a trasmissione in corso.
Perché lo stesso protocollo funziona su più piattaforme
Dato che RTMP è uno standard condiviso e non qualcosa che YouTube ha creato e possiede, lo schema URL del server più chiave di streaming descritto sopra è identico su Twitch, Facebook Live e Kick: cambiano solo l'indirizzo e la chiave. È proprio per questo che ora il campo della chiave di streaming manuale di Loopcast può puntare anche oltre YouTube: al relay non è mai importato quale piattaforma ci fosse dall'altra parte della connessione RTMP, gli serviva solo una destinazione configurabile invece di una fissa nel codice. Instagram e TikTok sono l'eccezione: non pubblicano un URL e una chiave RTMP self-service come fanno gli altri, quindi non c'è niente da incollare anche se il protocollo in sé funzionerebbe benissimo.
Devi sapere tutto questo per fare streaming?
No. Sono informazioni di contorno davvero facoltative: puoi tenere attiva una diretta YouTube 24/7 per anni senza mai più pensare a RTMP una volta configurata. Ti servono esattamente una volta: quando qualcosa si rompe e stai cercando di capire se il problema è la tua chiave di streaming, la tua connessione o le impostazioni dell'encoder.
Domande frequenti
RTMP è sicuro?
L'RTMP standard non è cifrato, anche se la maggior parte delle piattaforme (YouTube compresa) supporta RTMPS, una variante cifrata, per la connessione di ingest vera e propria. In ogni caso, è la chiave di streaming stessa a fare da vero confine di sicurezza: tienila privata.
Posso usare la stessa chiave di streaming su due strumenti di streaming diversi contemporaneamente?
No, una chiave di streaming può ricevere dati attivamente da una sola sorgente alla volta. Usarla in due posti contemporaneamente farà fallire una delle connessioni o farà saltare lo stream da una sorgente all'altra.
Perché la mia chiave di streaming sembra diversa ogni volta che controllo YouTube Studio?
YouTube può generare una nuova chiave di streaming se reimposti le impostazioni della diretta o se una chiave viene segnalata come compromessa. Se la tua chiave è cambiata all'improvviso, incolla di nuovo quella attuale da YouTube Studio → Trasmetti dal vivo → Stream (in YouTube Studio si chiama "Chiave stream") ovunque tu l'abbia salvata.
Tutte le piattaforme usano esattamente lo stesso URL RTMP?
No, ogni piattaforma ha il proprio indirizzo di ingest (quello di YouTube è rtmp://a.rtmp.youtube.com/live2, quello di Twitch è rtmp://live.twitch.tv/app, e così via), anche se parlano tutte lo stesso protocollo RTMP. Per questo una chiave di streaming di una piattaforma non ha alcun senso se incollata con l'URL di un'altra piattaforma: il protocollo coincide, ma l'indirizzo e la chiave sono entrambi specifici della piattaforma.