WebRTC sekarang menjadi standar W3C dan IETF

Ringkasan singkat tentang sejarah, 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 memberikan kemampuan komunikasi real-time kepada browser, aplikasi seluler, dan aplikasi desktop, yang biasanya digunakan untuk panggilan video. Platform ini terdiri dari kumpulan teknologi dan standar yang komprehensif. Google memprakarsai gagasan 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 lalu mengakuisisi perusahaan yang telah mendapatkan lisensi teknologi tersebut dan membuatnya tersedia 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 mendemonstrasikan panggilan video antara browser mereka. Melalui evolusi standar tersebut, banyak diskusi arsitektural telah berujung pada perbedaan implementasi di berbagai browser serta mempersulit kompatibilitas dan interoperabilitas. Sebagian besar perbedaan pendapat ini pada akhirnya diselesaikan saat standar ini diselesaikan dalam beberapa tahun terakhir. Spesifikasi WebRTC kini disertai dengan serangkaian pengujian platform lengkap serta alat untuk mengatasi kompatibilitas dan browser telah mengadaptasikan implementasinya secara optimal. 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 pusat dari spesifikasi WebRTC. RTCPeerConnection berkaitan dengan 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, memberikan inti dari setiap penerapan WebRTC. WebRTC mendukung berbagai codec audio, dengan Opus menjadi yang paling sering digunakan dan serbaguna. Implementasi WebRTC diperlukan untuk mendukung codec video VP8 gratis dari Google dan H.264 untuk memproses video. Koneksi WebRTC selalu dienkripsi, yang dicapai melalui dua protokol yang sudah 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). Alamat ini terikat bersama di lebih dari 50 RFC.

Kasus penggunaan: saat dalam hitungan milidetik

WebRTC banyak digunakan dalam aplikasi yang mendesak seperti operasi jarak jauh, pemantauan sistem, dan kontrol jarak jauh 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 streaming gameplay dari cloud ke browser web tanpa penundaan yang jelas.

Pandemi berfokus pada performa panggilan video

Selama setahun terakhir, WebRTC mengalami peningkatan penggunaan 100X di Chrome karena peningkatan panggilan video dari dalam browser. Menyadari bahwa panggilan video telah menjadi bagian mendasar dari kehidupan banyak orang selama pandemi, vendor browser mulai mengoptimalkan teknologi yang menjadi andalan panggilan video. Hal ini sangat penting karena adanya rapat besar yang memerlukan resource dan efek video dalam rapat video menjadi semakin umum ketika karyawan dan siswa mulai bekerja dan belajar dari rumah. Pada tahun lalu, Chrome menjadi lebih hemat baterai hingga 30% untuk panggilan video, dengan lebih banyak pengoptimalan yang akan hadir untuk skenario penggunaan berat. Mozilla, Apple, dan Microsoft telah melakukan peningkatan signifikan dalam penerapan WebRTC selama pandemi, khususnya dalam memastikan bahwa mereka mematuhi standar yang sekarang diformalkan.

Masa depan WebRTC

Meskipun WebRTC kini telah diselesaikan sebagai standar W3C, peningkatan-peningkatan akan terus berlanjut. Codec video AV1 baru yang menghemat bandwidth hingga 50% akan tersedia di WebRTC dan browser web. Peningkatan berkelanjutan pada basis kode open source diharapkan akan semakin mengurangi penundaan dan meningkatkan kualitas video yang dapat di-streaming. WebRTC NV mengumpulkan inisiatif untuk membuat API tambahan guna memungkinkan kasus penggunaan baru. Ekstensi 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 di tingkat yang lebih rendah. Yang kedua memberikan lebih banyak fleksibilitas kepada developer web untuk berinovasi dengan mengintegrasikan komponen WebAssembly kustom berperforma tinggi. Dengan jaringan 5G yang terus berkembang dan permintaan untuk layanan yang lebih interaktif, kami berharap dapat melihat peningkatan berkelanjutan pada layanan yang dibangun di WebRTC pada tahun mendatang.