WebRTC artık bir W3C ve IETF standardı

WebRTC'nin geçmişine, mimarisine, kullanım alanlarına ve geleceğine kısa bir genel bakış.

Huib Kleinhout
Huib Kleinhout

Web standardı tanımlama işlemi, tarayıcılar arasında kullanışlılık, tutarlılık ve uyumluluk sağlayan uzun bir süreçtir. Bugün W3C ve IETF, pandemi sırasında belki de en önemli standartlardan biri olan WebRTC'nin tamamlandığını gösteriyor.

WebRTC; tarayıcılara, mobil uygulamalara ve masaüstü uygulamalarına, genellikle görüntülü görüşme için kullanılan gerçek zamanlı iletişim özellikleri sunan bir platformdur. Platform, kapsamlı bir dizi teknoloji ve standarttan oluşur. Google, tarayıcıda çalışamayan Adobe Flash ve masaüstü uygulamalarına alternatif olarak WebRTC'yi oluşturma fikrini 2009'da başlattı. Tarayıcı tabanlı önceki nesil ürünler, lisanslı ve tescilli teknolojinin üzerine inşa edilmişti. Bu teknolojiyle, Hangouts dahil çeşitli ürünler geliştirildi. Daha sonra Google, bu teknolojiyi lisansladığı şirketleri satın aldı ve açık kaynak WebRTC projesi olarak kullanıma sundu. Bu kod tabanı Chrome'a entegre edilmiştir ve WebRTC kullanan çoğu uygulama tarafından kullanılır. Diğer tarayıcı tedarikçileri ve Mozilla, Microsoft, Cisco ve Ericsson gibi sektör liderleriyle birlikte WebRTC'nin standartlaştırılması hem W3C hem de IETF'de başlatıldı. 2013'te Mozilla ve Google, tarayıcıları arasında görüntülü görüşme yapılmasını gösterdi. Standardın geliştirilmesi sırasında birçok mimari tartışma, tarayıcılar arasında uygulama farklılıklarına, bu da uyumluluk ve birlikte çalışabilirlik konularını zora sokmuştu. Bu anlaşmazlıkların çoğu, standart geçen yıllarda kesinleşmiş hale geldiğinden nihayetinde çözülmüştür. WebRTC spesifikasyonuna artık uyumluluğu ele alan eksiksiz platform testi ve araçlarla birlikte veriliyor. Tarayıcılar, uygulamalarını büyük ölçüde uygun hale getirdi. Bu da web geliştiricilerinin, farklı tarayıcı uygulamalarına ve spesifikasyon değişikliklerine göre hizmetlerini sürekli olarak benimsemeleri gereken zorlu bir dönemi sona erdiriyor.

Mimari ve işlevsellik

RTCPeerConnection API, WebRTC spesifikasyonunun ana parçasıdır. RTCPeerConnection, eşler arası bir protokol kullanarak iletişim kurmak için farklı uç noktalarda iki uygulamayı birbirine bağlar. PeerConnection API, kamera ve mikrofona erişmek için getUserMedia, ekran içeriğini çekmek için de getDisplayMedia ile yakından etkileşim kurar. WebRTC, DataChannel aracılığıyla rastgele ikili program verilerinin yanı sıra ses ve/veya video içeriği barındıran akışları gönderip almanıza olanak tanır. Ses ve video işleme, kodlama ve kod çözme işlemlerine yönelik medya işlevi, tüm WebRTC uygulamalarının temelini sağlar. WebRTC, çeşitli ses codec'lerini destekler. En çok kullanılan ve çok yönlü Opus'tur. WebRTC uygulamaları, video işleme için hem Google'ın ücretsiz kullanıma sunulan VP8 video codec'ini hem de H.264'ü desteklemek için gereklidir. WebRTC bağlantıları her zaman şifrelenir. Bu işlem, DTLS ve SRTP olmak üzere iki mevcut protokol aracılığıyla gerçekleştirilir. WebRTC, video codec'lerinden (VP8, H264), ağ geçişi (ICE), aktarımdan (RTP, SCTP) medya açıklaması protokollerine (SDP) kadar büyük ölçüde mevcut standartlar ve teknolojilerden yararlanır. Bu, 50'den fazla RFC'de birbirine bağlıdır.

Kullanım alanları: Birkaç milisaniye

WebRTC; uzaktan ameliyat, sistem izleme ve otonom araçların uzaktan kontrolü gibi zaman açısından kritik uygulamalarda ve arabelleğe almanın mümkün olmadığı UDP üzerinden oluşturulan sesli veya görüntülü görüşmeler gibi yaygın olarak kullanılır. Google, Facebook, Cisco, RingCentral ve Jitsi gibi şirketlerin neredeyse tüm tarayıcı tabanlı görüntülü görüşme hizmetlerinin neredeyse tamamı WebRTC kullanır. Google Stadia ve NVIDIA GeForce NOW, oyun akışını algılanabilir bir gecikme olmadan buluttan web tarayıcısına aktarmak için WebRTC kullanır.

Pandemic, görüntülü görüşme performansına odaklanıyor

Geçtiğimiz yıl WebRTC, tarayıcıdan gelen video görüşmelerinin artması nedeniyle Chrome'daki kullanım oranında 100 kat artış görüldü. Tarayıcı sağlayıcıları, görüntülü görüşmelerin pandemi sırasında birçok insanın hayatında önemli bir yer haline geldiğini fark ederek görüntülü görüşmenin bağlı olduğu teknolojileri optimize etmeye başladı. Çalışanlar ve öğrenciler evden çalışmaya ve ders çalışmaya başladıklarında, görüntülü toplantılarda kaynak gerektiren büyük toplantılar ve video efektleri, bu tür toplantılarda kaynak gerektirmesi ile daha yaygın hale geldi. Geçtiğimiz yıl Chrome, görüntülü görüşmelerde pil kullanımını% 30'a kadar artırdı ve yoğun kullanım senaryoları için daha fazla optimizasyon gerçekleştirilecek. Mozilla, Apple ve Microsoft, pandemi boyunca WebRTC uygulamalarında önemli iyileştirmeler yaparak, özellikle de artık resmi hale getirilmiş standartlara uymalarını sağladı.

WebRTC'nin geleceği

WebRTC artık bir W3C standardı olarak tamamlanmış olsa da iyileştirmelere devam ediyoruz. Bant genişliğinde% 50'ye kadar tasarruf sağlayan yeni video codec'i AV1, WebRTC ve web tarayıcılarında kullanıma sunuluyor. Açık kaynak kod tabanında devam eden iyileştirmelerin, gecikmeyi daha da azaltması ve akışla izlenebilen videonun kalitesini iyileştirmesi beklenmektedir. WebRTC NV, yeni kullanım alanları sağlamak için tamamlayıcı API'ler oluşturma girişimini bir araya getirdi. Bunlar, Ölçeklenebilir Video Kodlaması gibi mevcut işlevler üzerinde daha fazla kontrol sağlayan mevcut API'lerin uzantılarından ve alt düzey bileşenlere erişim sağlayan API'lerden oluşur. İkincisi ise yüksek performanslı özel WebAssembly bileşenlerini entegre ederek web geliştiricilerine yenilik yapmaları için daha fazla esneklik sağlar. Gelişmekte olan 5G ağları ve daha etkileşimli hizmetlere olan taleple birlikte, önümüzdeki yıl WebRTC'ye ek olarak sunulan hizmetlerde artışın devam edeceğini umuyoruz.