WebRTC ( Web Gerçek Zamanlı İletişimi ), web tarayıcılarına ve mobil uygulamalara basit uygulama geliştirme arayüzü (API’ler) aracılığıyla gerçek zamanlı iletişim (RTC) sağlayan ücretsiz, açık kaynaklı bir projedir. Direkt olarak eşler arası iletişime izin vermesi ile, eklenti yükleme veya uygulama indirme ihtiyacını ortadan kaldırarak, ses ve video iletişiminin web sayfalarında kolaylıkla kullanılmasını sağlar. Apple, Google, Microsoft, Mozilla ve Opera tarafından desteklenen WebRTC, World Wide Web Konsorsiyumu (W3C) ve İnternet Mühendisliği Görev Gücü (IETF) aracılığıyla standartlaştırılmaktadır.
Temel hedefi, “Tarayıcı, mobil cihazlar ve IoT cihazları için yüksek kaliteli RTC uygulamalarının geliştirilmesini ve hepsinin ortak bir protokol seti aracılığıyla iletişim kurmasını sağlamaktır”.
WebRTC için geliştirilen referans kod, BSD lisansı koşulları altında özgür yazılım olarak yayınlanmıştır. GStreamer kütüphanesi, 1.14 sürümünden bu yana, doğrudan ücretsiz bir WebRTC uygulaması için bir altyapı sağlamaktadır.
Tarihçesi
Google, Mayıs 2010’da RTC için gerekli olan codec’ler ve yankı giderme teknikleri gibi birçok bileşen geliştiren ve halihazırda VoIP ve video konferans yazılım şirketi olan Global IP Solutions’ı (GIPS)’i satın aldı. Daha sonra Google, GIPS teknolojisini açık kaynak haline getirdi ve ortak bir standart üretmek için IETF ve W3C’deki ilgili birimlerle iletişime geçti. Google Mayıs 2011’de, WebRTC olarak bilinen tarayıcı tabanlı gerçek zamanlı iletişim için açık kaynaklı bir proje yayınladı. Devamında IETF’de WebRTC için bir takım protokoller geliştirildi ve W3C’de tarayıcı API’lerini standardize etmek çalışmalar yürütüldü.
Ericsson Labs, Mayıs 2011’de bir WebKit kütüphanesi kullanarak WebRTC için ilk uygulamayı oluşturdu. Ekim 2011’de W3C, şartname için ilk taslağını yayınladı. WebRTC için diğer önemli tarihler ise; ilk tarayıcılar arası videolu aramanın yapılması, ilk tarayıcılar arası veri aktarımının yapılması ve Google Hangouts’un hayata geçirilmesidir.
W3C’nin taslak API’si, Web Hypertext Application Technology Working Group’ta (WHATWG)’de yapılan ön çalışmalara dayanmaktadır. Ericsson Labs’de, standart öncesinde konsept bir uygulama oluşturuldu ve ConnectionPeer API olarak adlandırıldı. WebRTC Çalışma Grubu, bu standardın aşağıdaki maddelere dayanarak gelişmesini istemektedir:
IETF’deki RTCWEB grubu ile ortaklaşa olarak yapılan çalışmalarda bir protokol kümesinin oluşturulması ve bu protokollerin, standart dokümanı ile birlikte web tarayıcılarında gerçek zamanlı iletişimin gerçekleştirilmesini sağlamasıdır. Hiçbir sinyalleşme protokolü zorunlu olarak tutulmasa da, WebSocket üzerinden SIP ve açık kaynaklı JsSIP yaygın olarak kullanılabilir.
Yerel yetenekleri ve yerel akışları ortaya koyarken ortaya çıkan gizlilik sorunları giderilmelidir.
Özellikle veri kanallarının uygulanmasına ilişkin grup içinde teknik tartışmalar yürütülmelidir.
Erken süreçte deneyler ile edinilen deneyimler incelenmelidir.
Diğer gruplardan ve bireylerden geri bildirimler dikkate alınmalıdır.
Kasım 2017’de WebRTC 1.0 spesifikasyonunun durumu, Çalışma Taslağından (Working Draft) Aday Tavsiyesine (Candidate Recommendation) geçmiştir.