Course Outline

Hari 1 – Pengelolaan Perangkat Media

1. Izin Browser dengan navigator.permissions

  • Mengakses perangkat keras:
    • Kamera Web
    • Mikrofon
  • Izin opsional:
    • Lokasi Geografis
    • Pemberitahuan
    • Clipboard (baca/tulis)
  • Pertanyaan dan status izin
  • Batasan dan kompatibilitas browser
  • Kasus penggunaan praktis

2. Membaca Perangkat Media dengan navigator.mediaDevices

  • Pencacahan perangkat
  • Mengelola perubahan perangkat
  • Kasus penggunaan praktis

3. Kompatibilitas Multi-Browser

  • Penggunaan API:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Taktik penggantian Safari
  • Kasus penggunaan praktis

4. Pengelolaan Perangkat Media

  • Inisialisasi perangkat: getUserMedia(constraints)
  • Kendala perangkat media
  • Mengawali dan menghentikan aliran media
  • Mengelola perubahan perangkat
  • Kasus penggunaan praktis

5. Perekaman Perangkat dengan MediaRecorder

  • Mulai/hentikan streaming dan perekaman
  • Mendownload file .webm
  • Tampilan pratinjau bentuk gelombang secara real-time
  • Kasus penggunaan praktis

Fitur Tambahan Opsional:

  • Menyimpan dalam format .wav menggunakan ScriptProcessorNode
  • Vizualisasi spektrum FFT audio
  • Balok volume dalam desibel
  • Pengenalan suara dengan webkitSpeechRecognition

Hari 2 – Koneksi Peer

1. Server Sinyal

  • Opsi saluran dua arah:
    • WebSocket
    • Socket.io
    • SignalR
  • Struktur pesan
  • Klien WebRTC yang disederhanakan
  • Alur sinyal lengkap
  • Kasus penggunaan praktis

2. Video Chat melalui WebRTC

  • Arsitektur: Node.js + ws
  • Klien WebRTC: RTCPeerConnection
  • Pengujian E2E lokal
  • Kasus penggunaan praktis

Fitur Tambahan Opsional:

  • Mengakhiri panggilan (tutup koneksi, hentikan media)
  • Panggilan grup (ruangan multi-pengguna)
  • Otentikasi sederhana berbasis token

3. Berbagi Layar

  • Menggunakan getDisplayMedia()
  • Arsitektur dan opsi
  • Kasus penggunaan praktis

4. Protokol Deskripsi Sesi (SDP)

  • Pendahuluan dan isi
  • Membaca dan memahami SDP
  • Kodek:
    • AUDIO & VIDEO
    • Negosiasi dan kontrol
    • Taktik penggantian
  • Kasus penggunaan praktis

5. WebRTC Statistics dengan getStats()

  • Jenis statistik
  • Cara memahami statistik
  • Grafik bitrate/jitter langsung
  • Taktik adaptasi kualitas
  • Kasus penggunaan praktis

 

Requirements

Materi ini ideal untuk pengembang frontend dan full-stack, arsitek teknis, serta insinyur yang membangun fitur komunikasi real-time berbasis browser seperti obrolan video, berbagi layar, atau streaming audio. Peserta sebaiknya memiliki pengetahuan praktis tentang JavaScript dan teknologi web, dengan pengalaman opsional dalam Node.js dan komunikasi berbasis WebSocket.
 14 Hours

Number of participants


Price per participant

Testimonials (5)

Upcoming Courses (Minimal 5 peserta)

Related Categories