Kerangka Materi

Hari 1 – Penanganan Perangkat Media

1. Izin Browser dengan navigator.permissions

  • Mengakses perangkat keras:
    • Webcam
    • Mikrofon
  • Izin opsional:
    • Geolocation
    • Notifikasi
    • Papan Klip (baca/tulis)
  • Penelusuran izin dan status
  • Batasan dan kompatibilitas browser
  • Penggunaan praktis

2. Membaca Perangkat Media dengan navigator.mediaDevices

  • Enumerasi perangkat
  • Menangani perubahan perangkat
  • Penggunaan praktis

3. Kompatibilitas Cross-Browser

  • Penggunaan API:
    • navigator.permissions.query()
    • navigator.mediaDevices.enumerateDevices()
    • getUserMedia()
  • Strategi fallback Safari
  • Penggunaan praktis

4. Penanganan Perangkat Media

  • Inisialisasi perangkat: getUserMedia(constraints)
  • Batasan perangkat media
  • Memulai dan menghentikan aliran media
  • Menangani perubahan perangkat
  • Penggunaan praktis

5. Merekam Perangkat dengan MediaRecorder

  • Memulai/menghentikan aliran dan perekaman
  • Mengunduh file .webm
  • Pratinjau gelombang real-time
  • Penggunaan praktis

Tambahan Opsional:

  • Menyimpan dalam format .wav menggunakan ScriptProcessorNode
  • Visualisasi spektrum Audio FFT
  • Bilah volume dalam desibel
  • Pengenalan suara dengan webkitSpeechRecognition

Hari 2 – Koneksi Peer

1. Server Signaling

  • Opsi saluran dua arah:
    • WebSocket
    • Socket.io
    • SignalR
  • Struktur pesan
  • Klien WebRTC sederhana
  • Aliran signaling penuh
  • Penggunaan praktis

2. Obrolan Video via WebRTC

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

Fitur Opsional:

  • Menggantung panggilan (menutup koneksi, menghentikan media)
  • Panggilan grup (ruangan multi-pengguna)
  • Autentikasi sederhana berbasis token

3. Pembagian Layar

  • Penggunaan getDisplayMedia()
  • Arsitektur dan opsi
  • Penggunaan praktis

4. Protocol Deskripsi Sesi (SDP)

  • Pendahuluan dan konten
  • Membaca dan menginterpretasikan SDP
  • Codec:
    • Audio & Video
    • Negosiasi dan kontrol
    • Strategi fallback
  • Penggunaan praktis

5. Statistik WebRTC dengan getStats()

  • Jenis statistik
  • Bagaimana cara menginterpretasikan statistik
  • Grafik bitrate/jitter langsung
  • Strategi adaptasi kualitas
  • Penggunaan praktis

 

Persyaratan

Kursus ini cocok untuk pengembang frontend dan full-stack, arsitek teknis, dan insinyur yang membangun fitur komunikasi real-time berbasis browser seperti video chat, pemutaran layar, atau streaming audio. Peserta seharusnya memiliki pengetahuan kerja tentang JavaScript dan teknologi web, dengan pengalaman opsional dalam Node.js dan komunikasi berbasis WebSocket.
 14 Jam

Jumlah Peserta


Biaya per Peserta

Testimoni (5)

Kursus Mendatang

Kategori Terkait