Guida passo-passo con script pronto all’uso
1. Prerequisiti
Trasmettere un flusso video in diretta su YouTube non richiede OBS o software pesanti:
basta FFmpeg, un terminale e una connessione stabile.
In questa guida vediamo come creare uno script bash per mandare in streaming una telecamera IP (o qualunque sorgente RTSP) direttamente su YouTube Live.
Ti serve:
- Un computer Linux (ad es. Raspberry Pi, Debian, Ubuntu…)
- FFmpeg installato
- Una telecamera IP o sorgente video RTSP, la telecamera che ho usato in questo esperimento è la REOLINK C510 una cam POE di basso costo (sotto i 50 euro), la cam crea un flusso RTSP raggiungibile con questo indirizzo-schema
rtsp://username:password@IP_CAM:554/h264Preview_01_main - Una Stream Key YouTube Live
sudo apt install ffmpeg
2. Conservare la Stream Key in un file protetto
Per sicurezza è meglio non inserire la Stream Key direttamente nello script.
Creiamo invece un file nascosto nella home dell’utente con permessi restrittivi.
echo "LA_TUA_STREAM_KEY" > ~/.streamkey_youtube
chmod 600 ~/.streamkey_youtube
3. Lo script completo per lo streaming YouTube
Lo script seguente prende il flusso video da una telecamera IP via RTSP, applica un overlay con logo e testo, ricodifica in H.264 e invia tutto a YouTube.
Contiene anche un semplice sistema di log e riavvio automatico in caso di errore.
Salva questo file come: /usr/local/bin/youtube-live.sh
#!/bin/bash
# ────────────────────────────────────────────────
# CONFIGURAZIONE UTENTE
# ────────────────────────────────────────────────
RTSP_URL="rtsp://username:password@IP_CAM:554/h264Preview_01_main"
LOGO_PATH="/percorso/al/logo.png"
TEXT_OVERLAY="Streaming Live!"
AUDIO_INPUT="default" # lascia così se usi l’audio della cam
BITRATE=4500
FPS=25
RESOLUTION="1280:720"
LOGFILE="/percorso/al/youtube-live.log" # Questo va creato preventivamente con permessi chown utente/utente
STREAMKEY_FILE="$HOME/.streamkey_youtube"
# ────────────────────────────────────────────────
# CARICA LA STREAM KEY
# ────────────────────────────────────────────────
if [[ ! -f "$STREAMKEY_FILE" ]]; then
echo "Errore: manca il file della Stream Key ($STREAMKEY_FILE)."
exit 1
fi
STREAMKEY=$(cat "$STREAMKEY_FILE")
# ────────────────────────────────────────────────
# LOOP DI STREAMING (auto-restart)
# ────────────────────────────────────────────────
while true; do
echo "────────────────────────────────────" | tee -a "$LOGFILE"
echo "$(date '+%F %T') - Avvio streaming YouTube" | tee -a "$LOGFILE"
echo "────────────────────────────────────" | tee -a "$LOGFILE"
ffmpeg -rtsp_transport tcp \
-thread_queue_size 4096 \
-i "$RTSP_URL" \
-i "$LOGO_PATH" \
-filter_complex "\
scale=$RESOLUTION:force_original_aspect_ratio=decrease, \
drawtext=text='$TEXT_OVERLAY':x=20:y=H-th-30:fontsize=26:fontcolor=white:borderw=2, \
overlay=10:10 \
" \
-c:v libx264 -preset veryfast \
-b:v ${BITRATE}k -maxrate ${BITRATE}k -bufsize 2000k \
-g $((FPS*2)) -keyint_min $FPS \
-c:a aac -b:a 128k -ar 44100 \
-f flv "rtmp://a.rtmp.youtube.com/live2/$STREAMKEY" \
2>&1 | tee -a "$LOGFILE"
echo "$(date '+%F %T') - ffmpeg terminato, riavvio tra 5 secondi..." | tee -a "$LOGFILE"
sleep 5
done
4. Rendere lo script eseguibile
Rendiamo lo script eseguibile e pronto all’uso:
sudo chmod +x /usr/local/bin/youtube-live.sh
Lanciare la diretta diventa semplicissimo:
youtube-live.sh
5. Personalizzare l’overlay (logo + testo)
Lo script inserisce:
- un logo PNG in alto a sinistra
- un testo (di default “Streaming Live!”) in basso a sinistra
Puoi modificare facilmente:
- la posizione del logo cambiando
overlay=10:10 - il contenuto, la posizione o lo stile del testo nella parte
drawtext
Esempio per centrare il testo in basso:
drawtext=text='Live':x=(w-text_w)/2:y=H-th-30:fontsize=26:fontcolor=white:borderw=2
6. Controllare lo stato dello stream
Nella dashboard di YouTube Studio puoi vedere in tempo reale:
- bitrate
- keyframe
- stabilità
- latenza
Dal lato Linux puoi monitorare lo script guardando il log:
tail -f /var/log/youtube-live.log
7. Consigli per uno streaming stabile
- Usa RTSP over TCP (già impostato con
-rtsp_transport tcp). - Mantieni il bitrate sotto i 5000 kbps se la connessione non è perfetta.
- Imposta la telecamera a 720p / 25fps per ridurre il carico.
- Preferisci la connessione cablata al Wi-Fi.
- Mantieni un keyframe ogni 2 secondi (gestito da
-gnello script).
Conclusione
Con questo script puoi trasformare una semplice telecamera IP in una “regia” live
automatica, stabile e sufficientemente professionale per eventi, iniziative locali,
conferenze o monitoraggi.
Da qui puoi estendere il sistema aggiungendo:
- ingressi audio esterni (microfono, mixer, ecc.)
- multi-streaming verso più piattaforme (YouTube, Twitch, Facebook)
- un servizio di avvio automatico all’accensione del sistema




















Commenti recenti