WebRTC sekarang menjadi standar W3C dan IETF

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

Huib Kleinhout
Huib Kleinhout

Proses penetapan standar web adalah proses panjang yang memastikan kegunaan, konsistensi, dan kompatibilitas di seluruh browser. Saat ini, W3C dan IETF menandai selesainya 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 serangkaian teknologi dan standar yang komprehensif. Google memprakarsai ide untuk membuat WebRTC pada tahun 2009, sebagai alternatif untuk Adobe Flash dan aplikasi desktop yang tidak dapat dijalankan di browser. Produk berbasis browser generasi sebelumnya dibuat di atas teknologi eksklusif berlisensi. Berbagai produk dibuat dengan teknologi ini, termasuk Hangouts. Google kemudian mengakuisisi perusahaan yang mendapatkan 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, standardisasi WebRTC dimulai di W3C dan IETF. Pada tahun 2013, Mozilla dan Google menunjukkan panggilan video di antara browser mereka. Melalui evolusi standar ini, banyak diskusi arsitektur telah mengakibatkan perbedaan implementasi di berbagai browser serta tantangan kompatibilitas dan interoperabilitas. Sebagian besar perselisihan ini pada akhirnya diselesaikan karena standar menjadi final dalam beberapa tahun terakhir. Spesifikasi WebRTC kini disertai dengan rangkaian lengkap pengujian platform dan alat untuk mengatasi kompatibilitas, serta sebagian besar browser telah menyesuaikan implementasinya sebagaimana mestinya. Hal ini mengakhiri periode yang menantang saat developer web harus terus mengadopsi layanan mereka ke berbagai implementasi browser dan perubahan spesifikasi.

Arsitektur dan fungsi

RTCPeerConnection API adalah bagian utama dari spesifikasi WebRTC. RTCPeerConnection menangani proses menghubungkan 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, serta mendekode audio dan video merupakan inti dari semua implementasi WebRTC. WebRTC mendukung berbagai codec audio, dengan Opus yang paling banyak digunakan dan serbaguna. Implementasi WebRTC diperlukan untuk mendukung codec video VP8 Google yang gratis 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), network traversal (ICE), transport (RTP, SCTP), hingga protokol deskripsi media (SDP). Ini terikat bersama di lebih dari 50 RFC.

Kasus penggunaan: jika hanya dalam hitungan milidetik

WebRTC banyak digunakan dalam aplikasi yang mendesak seperti operasi jarak jauh, pemantauan sistem, dan remote control mobil otonom, serta panggilan suara atau video yang dibangun 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 aliran gameplay dari cloud ke browser web tanpa penundaan yang terasa.

Pandemi berfokus pada performa panggilan video

Selama setahun terakhir, WebRTC mengalami peningkatan penggunaan 100X lipat di Chrome karena peningkatan panggilan video dari dalam browser. Dengan menyadari bahwa panggilan video telah menjadi bagian mendasar dari kehidupan banyak orang selama pandemi, vendor browser mulai mengoptimalkan teknologi yang diandalkan oleh panggilan video. Hal ini sangat penting karena sumber daya yang menuntut pertemuan besar dan efek video dalam rapat video menjadi lebih umum ketika karyawan dan siswa mulai bekerja dan belajar dari rumah. Dalam setahun terakhir, Chrome menjadi 30% lebih ramah baterai untuk panggilan video, dengan lebih banyak pengoptimalan yang akan datang untuk skenario penggunaan yang berat. Mozilla, Apple, dan Microsoft semuanya telah melakukan peningkatan yang signifikan dalam penerapan WebRTC mereka selama pandemi, khususnya dalam memastikan bahwa Chromebook mematuhi standar yang saat ini resmi.

Masa depan WebRTC

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