WebRTC sekarang menjadi standar W3C dan IETF

Ringkasan singkat tentang sejarah, arsitektur, kasus penggunaan, dan masa depan WebRTC.

Huib Kleinhout
Huib Kleinhout

Proses penentuan standar web adalah proses yang panjang yang memastikan kegunaan, konsistensi, dan kompatibilitas di seluruh browser. Hari ini, W3C dan IETF menandai penyelesaian salah satu standar terpenting selama pandemi: WebRTC.

Histori

WebRTC adalah platform yang memberi browser, aplikasi seluler, dan aplikasi desktop kemampuan komunikasi real-time, yang biasanya digunakan untuk panggilan video. Platform ini terdiri dari kumpulan teknologi dan standar yang komprehensif. Google memulai ide untuk membuat WebRTC pada tahun 2009, sebagai alternatif untuk Adobe Flash dan aplikasi desktop yang tidak dapat berjalan di browser. Produk berbasis browser generasi sebelumnya dibuat berdasarkan teknologi eksklusif berlisensi. Berbagai produk dibuat dengan teknologi ini, termasuk Hangouts. Google kemudian mengakuisisi perusahaan yang telah memberi lisensi teknologi tersebut dan menyediakannya sebagai project WebRTC open source. Codebase ini terintegrasi di Chrome dan digunakan oleh sebagian besar aplikasi yang menggunakan WebRTC. Bersama dengan vendor browser dan pemimpin industri lainnya seperti Mozilla, Microsoft, Cisco, dan Ericsson, standarisasi WebRTC dimulai di W3C dan IETF. Pada tahun 2013, Mozilla dan Google mendemonstrasikan panggilan video antar-browser mereka. Melalui evolusi standar, banyak diskusi arsitektur telah menyebabkan perbedaan penerapan di seluruh browser dan menantang kompatibilitas serta interoperabilitas. Sebagian besar perbedaan pendapat ini pada akhirnya diselesaikan saat standar selesai dalam beberapa tahun terakhir. Spesifikasi WebRTC kini disertai dengan rangkaian lengkap pengujian platform dan alat untuk mengatasi kompatibilitas, dan browser telah menyesuaikan penerapannya secara signifikan. Hal ini mengakhiri periode yang menantang ketika developer web harus terus-menerus menyesuaikan layanan mereka dengan berbagai implementasi browser dan perubahan spesifikasi.

Arsitektur dan fungsi

RTCPeerConnection API adalah bagian tengah dari spesifikasi WebRTC. RTCPeerConnection menangani penghubungan dua aplikasi di endpoint yang berbeda untuk berkomunikasi menggunakan protokol peer-to-peer. PeerConnection API berinteraksi erat dengan getUserMedia untuk mengakses kamera dan mikrofon, serta getDisplayMedia untuk mengambil konten layar. WebRTC memungkinkan Anda mengirim dan menerima streaming yang menyertakan konten audio dan/atau video, serta data biner arbitrer melalui DataChannel. Fungsi media untuk memproses, mengenkode, dan mendekode audio dan video menyediakan inti dari setiap penerapan WebRTC. WebRTC mendukung berbagai codec audio, dengan Opus sebagai codec yang paling banyak digunakan dan serbaguna. Penerapan WebRTC diperlukan untuk mendukung codec video VP8 Google yang bebas digunakan dan H.264 untuk memproses video. Koneksi WebRTC selalu dienkripsi, yang dicapai melalui dua protokol yang ada: DTLS dan SRTP. WebRTC sangat mengandalkan standar dan teknologi yang ada, mulai dari codec video (VP8, H264), traversal jaringan (ICE), transpor (RTP, SCTP), hingga protokol deskripsi media (SDP). Hal ini terikat dalam lebih dari 50 RFC.

Kasus penggunaan: jika hanya dalam hitungan milidetik

WebRTC banyak digunakan dalam aplikasi yang sangat penting waktunya seperti operasi jarak jauh, pemantauan sistem, dan kontrol jarak jauh mobil otonom, serta panggilan suara atau video yang dibuat di UDP yang tidak memungkinkan buffering. Hampir semua layanan panggilan video berbasis browser dari perusahaan seperti Google, Facebook, Cisco, RingCentral, dan Jitsi menggunakan WebRTC. Google Stadia dan NVIDIA GeForce NOW menggunakan WebRTC untuk mendapatkan streaming gameplay dari cloud ke browser web tanpa penundaan yang terlihat.

Pandemi memfokuskan pada performa panggilan video

Selama setahun terakhir, WebRTC telah mengalami peningkatan penggunaan 100 kali lipat di Chrome karena peningkatan panggilan video dari dalam browser. Menyadari bahwa panggilan video telah menjadi bagian mendasar dalam kehidupan banyak orang selama pandemi, vendor browser telah mulai mengoptimalkan teknologi yang menjadi dasar panggilan video. Hal ini sangat penting karena resource yang menuntut rapat besar dan efek video dalam rapat video menjadi lebih umum saat karyawan dan siswa mulai bekerja dan belajar dari rumah. Selama setahun terakhir, Chrome menjadi lebih hemat baterai hingga 30% untuk panggilan video, dengan lebih banyak pengoptimalan yang akan datang untuk skenario penggunaan berat. Mozilla, Apple, dan Microsoft telah melakukan peningkatan yang signifikan dalam penerapan WebRTC selama pandemi, terutama dalam memastikan mereka mematuhi standar yang kini diformalkan.

Masa depan WebRTC

Meskipun WebRTC kini telah selesai sebagai standar W3C, peningkatan terus dilakukan. Codec video baru AV1 yang menghemat hingga 50% bandwidth kini tersedia di WebRTC dan browser web. Peningkatan berkelanjutan pada codebase open source diharapkan dapat lebih mengurangi penundaan dan meningkatkan kualitas video yang dapat di-streaming. WebRTC NV mengumpulkan inisiatif untuk membuat API tambahan guna mengaktifkan kasus penggunaan baru. API ini terdiri dari ekstensi ke API yang ada untuk memberikan kontrol lebih besar atas fungsi yang ada seperti Scalable Video Coding serta API yang memberikan akses ke komponen tingkat rendah. WebAssembly kustom memberikan fleksibilitas lebih besar kepada developer web untuk berinovasi dengan mengintegrasikan komponen WebAssembly kustom berperforma tinggi. Dengan jaringan 5G yang muncul dan permintaan untuk layanan yang lebih interaktif, kami berharap akan melihat peningkatan berkelanjutan dalam pembuatan layanan di atas WebRTC pada tahun mendatang.