YouTube 24/7 Live Streamer — Panduan Deploy & Cara Pakai

Ringkas: Aplikasi web untuk mengelola siaran langsung YouTube 24/7 dengan antarmuka dashboard. Anda bisa mengatur stream key, memilih folder video, mengacak urutan putar, melihat log, dan menghidup-matikan siaran langsung dari browser.

Daftar Isi

  1. Pengantar & Fitur
  2. Prasyarat
  3. Setup & Jalankan di Lokal
  4. Deploy ke VPS/Server (Produksi)
  5. Konfigurasi .env
  6. Cara Menggunakan Aplikasi
  7. Troubleshooting
  8. FAQ Singkat
  9. Lisensi

1) Pengantar & Fitur

YouTube 24/7 Live Streamer adalah aplikasi Node.js dengan dashboard web untuk menyiarkan video ke YouTube secara terus-menerus (24/7). Cocok untuk kanal radio, musik lo-fi, informasi layar, atau playlist video looping.

Fitur Utama

  • Streaming 24/7 ke YouTube melalui dashboard web.
  • Atur stream key, folder media, dan opsi loop/shuffle dari menu Settings.
  • Daftar video otomatis terbaca dari folder media.
  • Lihat status & log streaming secara real-time.
  • Mode acak (shuffle) dan continuous loop playlist.
  • Desain responsif untuk desktop & mobile.

Sekilas alur: Browser → Dashboard (Express/Node) → FFmpeg → RTMP YouTube (via stream key). Pastikan akun YouTube sudah mengaktifkan live streaming.

2) Prasyarat

  • Node.js versi 14+ (disarankan LTS terbaru).
  • FFmpeg terpasang dan dapat dipanggil dari PATH.
  • Akun YouTube dengan fitur Live telah aktif.
  • YouTube Stream Key dari YouTube Studio.
Instal FFmpeg (contoh per OS)
  • Ubuntu/Debian: sudo apt update && sudo apt install -y ffmpeg
  • macOS (Homebrew): brew install ffmpeg
  • Windows: unduh rilis FFmpeg, ekstrak, lalu tambahkan folder bin ke PATH Windows.

Verifikasi: ffmpeg -version

Mendapatkan YouTube Stream Key
  1. Go to YouTube Studio → klik CreateGo live.
  2. Pada Stream Settings, salin Stream Key untuk dimasukkan ke aplikasi.

3) Setup & Jalankan di Lokal

Clone & Instal Dependensi

Bash
git clone https://github.com/Wimboro/youtube-live.git
cd youtube-live
npm install

Buat Folder Media

Bash
mkdir media
# Salin file video Anda (.mp4/.mov/.mkv/.avi) ke folder "media"

Konfigurasi Dasar

Siapkan file .env untuk menyimpan stream key dan opsi lain (lihat bagian Konfigurasi .env).

Jalankan Aplikasi

Bash
npm start
# Buka browser ke http://localhost:3001

Jika halaman terbuka, Anda siap melakukan konfigurasi dan memulai streaming.

4) Deploy ke VPS/Server (Produksi)

Jalankan dengan PM2 (daemon & auto-restart)

Bash
# Instal PM2 global
npm install -g pm2

# Jalankan aplikasi sebagai proses latar
pm2 start server.js --name youtube-live

# Buat startup script agar otomatis hidup saat reboot
pm2 startup
pm2 save

Reverse Proxy dengan NGINX (opsional, direkomendasikan)

Pasang NGINX dan arahkan domain/subdomain Anda ke aplikasi di port 3001.

Bash
server {
    listen 80;
    server_name stream.domain-anda.com;

    location / {
        proxy_pass         http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header   Upgrade $http_upgrade;
        proxy_set_header   Connection "upgrade";
        proxy_set_header   Host $host;
        proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header   X-Forwarded-Proto $scheme;
    }
}

Aktifkan HTTPS dengan certbot atau panel yang Anda gunakan.

Checklist Produksi
  • Pastikan ffmpeg tersedia pada PATH user yang menjalankan PM2.
  • Lindungi file .env (izin file minimal).
  • Pastikan kapasitas disk cukup untuk file media.
  • Gunakan UPS/monitoring agar siaran 24/7 stabil.

5) Konfigurasi .env

Buat file .env di root proyek (Anda bisa menyalin dari env.example bila tersedia) dan sesuaikan variabel berikut:

Bash
# Port aplikasi web (default: 3001)
PORT=3001

# Stream key YouTube Anda (wajib)
YOUTUBE_STREAM_KEY=XXXX-XXXX-XXXX-XXXX

# Lokasi folder media (default: ./media)
MEDIA_DIRECTORY=./media

Simpan lalu restart aplikasi jika perlu.

6) Cara Menggunakan Aplikasi

A. Isi Settings

  1. Go to http://localhost:3001 (atau domain VPS Anda).
  2. Masuk ke menu Settings.
  3. Tempel YouTube Stream Key di kolom yang tersedia.
  4. Atur opsi lain (folder media, loop, shuffle) sesuai kebutuhan.
  5. Click Save.

B. Kelola Media

  1. Pastikan file video sudah ada di folder media.
  2. Open menu Media Files untuk melihat daftar file yang terbaca.
  3. Click Refresh bila baru menambah file.

C. Mulai/Stop Streaming

  1. Dari dashboard, klik Start Streaming.
  2. Pantau Status dan Log untuk memastikan RTMP ke YouTube berjalan.
  3. Kapan saja Anda bisa klik Stop Streaming untuk menghentikan siaran.

Catatan: Untuk kanal baru, fitur live bisa butuh aktivasi hingga 24 jam. Setelah aktif, siaran bisa langsung berjalan.

7) Troubleshooting

  • FFmpeg tidak ditemukan: pastikan ffmpeg -version berhasil dan path ffmpeg ada di PATH user yang menjalankan aplikasi.
  • Live tidak tampil di YouTube: cek stream key, pastikan benar dan tidak ada spasi. Pastikan kanal sudah diaktifkan untuk live.
  • Port 3001 sudah dipakai: ubah PORT di .env atau hentikan proses lain yang memakai port tersebut.
  • Video tidak terbaca: pastikan file berada di folder yang sama dengan MEDIA_DIRECTORY, lalu refresh daftar media.
  • Putus-putus/lag: cek spesifikasi server, jaringan, dan bitrate. Gunakan media dengan bitrate stabil.

8) FAQ Singkat

Apakah bisa jalan 24/7 tanpa henti?

Bisa, selama server stabil (CPU, disk, jaringan) dan koneksi RTMP ke YouTube tidak terganggu. Gunakan PM2 + monitoring.

Apakah bisa ganti playlist tanpa mematikan stream?

Anda bisa menambah/hapus file di folder media lalu refresh daftar. Untuk perubahan besar, disarankan jadwalkan jeda dan restart proses.

Bagaimana soal hak cipta?

Gunakan konten yang Anda miliki hak siarnya. Hindari materi berhak cipta yang tidak diizinkan. Patuhi ketentuan YouTube.

Di mana melihat log kesalahan?

Gunakan panel Logs pada dashboard. Untuk produksi, pm2 logs youtube-live juga membantu.

Bisa pakai domain sendiri dan HTTPS?

Bisa. Letakkan NGINX sebagai reverse proxy di depan aplikasi, lalu pasang sertifikat SSL (Let’s Encrypt atau penyedia lain).

9) Lisensi

Proyek berlisensi MIT. Silakan gunakan, modifikasi, dan kembangkan sesuai kebutuhan dengan tetap mencantumkan atribusi.


Repository: github.com/Wimboro/youtube-live

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *