Cobalah Membuat Sendiri Pipeline Live Video Streaming: Kisah tentang FFmpeg dan MediaMTX

robot
Pembuatan abstrak sedang berlangsung

Pernahkah Anda ingin menonton siaran langsung dari kamera keamanan atau perangkat IoT melalui browser web? Kelihatannya mudah, tapi saat coba langsung ternyata sangat merepotkan.

Apa Masalahnya

Kamera IP mengirimkan siaran lewat RTSP (Real Time Streaming Protocol), tapi browser tidak mendukung RTSP. Sejak 2010-an, browser menghapus dukungan RTSP karena alasan keamanan. Artinya, kamera dan browser seperti berbicara bahasa yang berbeda.

Ada dua tools dewa untuk mengatasi masalah ini:

FFmpeg — Dewa pemrosesan video. Digunakan di pipeline encoding VLC dan Netflix, serta banyak tool lain.

MediaMTX — Server streaming ringan. Bisa mengonversi RTSP→WebRTC dan lainnya.

Langkah-langkahnya Ada 3

1. Streaming File Video

Buat file konfigurasi MediaMTX (mediamtx.yml): yaml paths: test_video: source: publisher

Siaran file lewat RTSP: bash ffmpeg -re -i your_video.mp4 -c:v libx264 -preset fast -c:a aac -f rtsp rtsp://localhost:8554/test_video

Bisa dicek dengan VLC.

2. Siarkan Webcam Secara Real-time

Tambahkan ke konfigurasi MediaMTX: yaml paths: webcam: source: publisher

Windows: bash ffmpeg -f dshow -rtbufsize 100M -i video=“Integrated Webcam” -c:v libx264 -preset ultrafast -tune zerolatency -f rtsp rtsp://localhost:8554/webcam

Mac: bash ffmpeg -f avfoundation -framerate 30 -video_size 1280x720 -i “0” -c:v libx264 -preset ultrafast -tune zerolatency -f rtsp rtsp://localhost:8554/webcam

Linux: bash ffmpeg -f v4l2 -i /dev/video0 -c:v libx264 -preset ultrafast -tune zerolatency -c:a aac -f rtsp rtsp://localhost:8554/webcam

3. Agar Bisa Ditonton di Browser (Sihir WebRTC)

Bagian ini yang paling menarik. Aktifkan dukungan WebRTC di MediaMTX:

yaml webrtc: yes webrtcAddress: :8889 webrtcEncryption: no webrtcAllowOrigin: ‘*’ webrtcLocalUDPAddress: :8189 webrtcIPsFromInterfaces: yes

paths: test_video: source: publisher webcam: source: publisher

Buka http://localhost:8889/ di browser, RTSP otomatis dikonversi ke WebRTC dan tampil di browser. Hanya itu saja.

Alur Data

  1. Kamera → frame mentah
  2. FFmpeg → encoding H.264 → siaran RTSP
  3. MediaMTX → menerima RTSP
  4. Browser → permintaan WebRTC
  5. MediaMTX → konversi otomatis → siaran WebRTC
  6. Browser → pemutaran real-time

Konversi dilakukan tanpa re-encode, sehingga efisien. Sistem skala besar seperti Netflix pun memakai prinsip yang sama.

Langkah Selanjutnya?

Setup saat ini masih level demo. Kekurangan untuk produksi:

  • Tidak ada autentikasi
  • Hanya localhost
  • Belum mendukung kamera IP asli
  • Tidak ada error handling

Di Part 2, akan dibahas penambahan security, koneksi kamera IP asli, dan penyesuaian untuk lingkungan produksi.

Lihat Asli
Halaman ini mungkin berisi konten pihak ketiga, yang disediakan untuk tujuan informasi saja (bukan pernyataan/jaminan) dan tidak boleh dianggap sebagai dukungan terhadap pandangannya oleh Gate, atau sebagai nasihat keuangan atau profesional. Lihat Penafian untuk detailnya.
  • Hadiah
  • Komentar
  • Posting ulang
  • Bagikan
Komentar
0/400
Tidak ada komentar
  • Sematkan
Perdagangkan Kripto Di Mana Saja Kapan Saja
qrCode
Pindai untuk mengunduh aplikasi Gate
Komunitas
Bahasa Indonesia
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)