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.
Orijinal yazar(lar) | Justin Uberti Peter Thatcher |
---|---|
İlk yayınlanma | 2011 | )
Güncel sürüm | 1.0 / 4 Mayıs 2018 | )
Programlama dili | ,JavaScript |
Resmî sitesi | webrtc.org |
Kod deposu |
|
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çe
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ı (Şubat 2013), ilk tarayıcılar arası veri aktarımının yapılması (Şubat 2014) ve Google Hangouts'un hayata geçirilmesidir (Temmuz 2014).
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.
Genel bakış
Tasarım
WebRTC'nin ana bileşenleri, aşağıda yer alan JavaScript API'lerini içerir :
getUserMedia
metodu kullanıcının ses ve video verisini alır (Cihazın kamerasına ve mikrofonuna erişim isteği göndererek).RTCPeerConnection
eşler arasında ses ve video iletişimini sağlar ve geriye bir nesne döndürür. Sinyal işleme, codec yönetimi, eşler arası iletişim, güvenlik ve bant genişliği yönetimini bu nesne üzerinden gerçekleştirir.RTCDataChannel
eşler arasında gerçekleşen harici verilerin çift yönlü iletişimine izin verir. WebSockets ile aynı API'yi kullanır ve çok düşük bir gecikme süresine sahiptir .
WebRTC API'si ayrıca istatistik verilerinin alınması için bir fonksiyonu da içerir:
getStats
metodu, web uygulamasının WebRTC oturumlarıyla ilgili bir dizi istatistik verilerinin alınmasını sağlar. Bu istatistikî verilerin tanımı, ayrı bir W3C dokümanında açıklanmaktadır.
W3C, WebRTC için ORTC (Nesne Gerçek Zamanlı İletişim) geliştirmektedir.
Örnekler
WebRTC, Başlangıçta web tarayıcıları için geliştirilmesine rağmen, mobil platformlar ve IoT cihazları da dahil olmak üzere diğer birçok cihaz için uygulamalara sahiptir. Örnek olarak, bir web tarayıcısı üzerinden arama işlemlerini gerçekleştiren VoIP telefonları verilebilir.
Cihaz ve tarayıcı desteği
WebRTC aşağıdaki tarayıcılar tarafından desteklenmektedir:
- Masaüstü bilgisayarlarda:
- Microsoft Edge 12+
- Google Chrome 28+
- Mozilla Firefox 22+
- Safari 11+
- Opera 18+
- Vivaldi 1.9+
- Android
- Google Chrome 28+ (29'dan beri varsayılan olarak etkindir)
- Mozilla Firefox 24+
- Opera Mobile 12+
- Chrome OS
- Firefox İşletim Sistemi
- BlackBerry 10
- iOS
- MobileSafari / WebKit (iOS 11 +)
- Tizen 3.0
Gizlilik konusunda endişeler
Ocak 2015'te TorrentFreak sitesi, WebRTC'yi destekleyen tarayıcılarda ciddi bir güvenlik açığı bildirdi ve bir kullanıcının gerçek IP adresini göstererek VPN tünellerinin güvenliğini tehlikeye attığını söyledi. Tarayıcılarda varsayılan olarak IP adresi okuma istekleri tarayıcının geliştirici konsolunda görüntülenmemekte ve çoğu reklam engelleme / gizlilik / eklentisi tarafından engellenememektedir. Bu önlemlere rağmen Google gibi reklam verenler ve diğer varlıklar tarafından çevrimiçi izlemeyi mümkün kılmıştır (ancak uBlock Origin eklentisi bu sorunu çözmektedir). Eylül 2019 itibarıyla, bu WebRTC kusuru hala Firefox 69.x'te ortaya çıkmakta ve buna rağmen varsayılan olarak kullanıcının dahili IP adresini web'e maruz bırakılmaktadır.
Ayrıca bakınız
- (GIPS)
- Gerçek Zamanlı Aktarım Protokolü (RTP)
- Oturum Açıklama Protokolü (SDP)
- WebRTC Ağ Geçidi
Kaynakça
- ^ . World Wide Web Consortium. 27 Eylül 2018. 7 Nisan 2019 tarihinde kaynağından arşivlendi. Erişim tarihi: 25 Mart 2019.
- ^ . 23 Nisan 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Nisan 2020.
- ^ a b "WebRTC". WebRTC. 9 Ocak 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Şubat 2018.
- ^ . gstreamer.freedesktop.org. 20 Mart 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 19 Aralık 2019.
- ^ . WebRTC. 7 Haziran 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Şubat 2018.
- ^ Wauters (18 Mayıs 2010). "Google makes $68.2 million cash offer for Global IP Solutions". TechCrunch. 7 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 6 Şubat 2018.
- ^ Stefan Håkansson (26 Mayıs 2011). "Beyond HTML5: Experiment with Real-Time Communication in a Browser". Ericsson Research blog. 7 Şubat 2018 tarihinde kaynağından . Erişim tarihi: 6 Şubat 2018.
- ^ . World Wide Web Consortium. 27 Ekim 2011. 29 Ekim 2011 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Şubat 2018.
- ^ . GitHub. 7 Şubat 2018 tarihinde kaynağından arşivlendi. Erişim tarihi: 6 Şubat 2018.
- ^ . 2 Kasım 2017. 2 Kasım 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Nisan 2020.
- ^ . Kasım 2017. 1 Kasım 2017 tarihinde kaynağından arşivlendi. Erişim tarihi: 17 Nisan 2020.
- ^ "Prevent WebRTC from leaking local IP address". uBlock Origin documentation. 26 Mart 2016. 21 Şubat 2016 tarihinde kaynağından . Erişim tarihi: 1 Eylül 2016.
Daha fazlası
- Proust, S., ed. (May 2016). Additional WebRTC Audio Codecs for Interoperability. IETF. doi:10.17487/RFC7875. RFC 7875. Retrieved 2016-10-12.
- Valin, J. M.; Bran, C. (May 2016). WebRTC Audio Codec and Processing Requirements. IETF. doi:10.17487/RFC7874. RFC 7874. Retrieved 2016-10-12.
- Roach, A. B. (March 2016). WebRTC Video Processing and Codec Requirements. IETF. doi:10.17487/RFC7742. RFC 7742. Retrieved 2016-10-12.
- Perumal, M.; Wing, D.; Ravindranath, R.; Reddy, T.; Thomson, M. (October 2015). Session Traversal Utilities for NAT (STUN) Usage for Consent Freshness. IETF. doi:10.17487/RFC7675. RFC 7675. Retrieved 2016-10-12.
- Holmberg, C.; Hakansson, S.; Eriksson, G. (March 2015). Web Real-Time Communication Use Cases and Requirements. IETF. doi:10.17487/RFC7478. RFC 7478. Retrieved 2016-10-12.
Dış bağlantılar
- https://webrtc.org/9 Ocak 2018 tarihinde Archive.is sitesinde arşivlendi
- W3C Web Gerçek Zamanlı İletişim Çalışma Grubu 11 Nisan 2020 tarihinde Wayback Machine sitesinde .
- WEB tarayıcılarında IETF Gerçek Zamanlı İletişim (rtcweb) Çalışma Grubu 20 Nisan 2020 tarihinde Wayback Machine sitesinde .
- WebRTC'ye dayalı görüntülü sohbet demo uygulaması 26 Nisan 2020 tarihinde Wayback Machine sitesinde .
- WebRTC veri kanallarının bağımsız açık kaynak uygulaması 18 Ekim 2019 tarihinde Wayback Machine sitesinde .
wikipedia, wiki, viki, vikipedia, oku, kitap, kütüphane, kütübhane, ara, ara bul, bul, herşey, ne arasanız burada,hikayeler, makale, kitaplar, öğren, wiki, bilgi, tarih, yukle, izle, telefon için, turk, türk, türkçe, turkce, nasıl yapılır, ne demek, nasıl, yapmak, yapılır, indir, ücretsiz, ücretsiz indir, bedava, bedava indir, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, resim, müzik, şarkı, film, film, oyun, oyunlar, mobil, cep telefonu, telefon, android, ios, apple, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, pc, web, computer, bilgisayar
WebRTC Web Gercek Zamanli Iletisimi web tarayicilarina ve mobil uygulamalara basit uygulama gelistirme arayuzu API ler araciligiyla gercek zamanli iletisim RTC saglayan ucretsiz acik kaynakli bir projedir Direkt olarak esler arasi iletisime izin vermesi ile eklenti yukleme veya uygulama indirme ihtiyacini ortadan kaldirarak ses ve video iletisiminin web sayfalarinda kolaylikla kullanilmasini saglar Apple Google Microsoft Mozilla ve Opera tarafindan desteklenen WebRTC World Wide Web Konsorsiyumu W3C ve Internet Muhendisligi Gorev Gucu IETF araciligiyla standartlastirilmaktadir WebRTCOrijinal yazar lar Justin Uberti Peter ThatcherIlk yayinlanma2011 13 yil once 2011 Guncel surum1 0 4 Mayis 2018 6 yil once 2018 05 04 Programlama diliC JavaScriptResmi sitesiwebrtc orgKod deposugithub com w3c webrtc pc Temel hedefi Tarayici mobil cihazlar ve IoT cihazlari icin yuksek kaliteli RTC uygulamalarinin gelistirilmesini ve hepsinin ortak bir protokol seti araciligiyla iletisim kurmasini saglamaktir WebRTC icin gelistirilen referans kod BSD lisansi kosullari altinda ozgur yazilim olarak yayinlanmistir GStreamer kutuphanesi 1 14 surumunden bu yana dogrudan ucretsiz bir WebRTC uygulamasi icin bir altyapi saglamaktadir TarihceGoogle Mayis 2010 da RTC icin gerekli olan codec ler ve yanki giderme teknikleri gibi bircok bilesen gelistiren ve halihazirda VoIP ve video konferans yazilim sirketi olan Global IP Solutions i GIPS i satin aldi Daha sonra Google GIPS teknolojisini acik kaynak haline getirdi ve ortak bir standart uretmek icin IETF ve W3C deki ilgili birimlerle iletisime gecti Google Mayis 2011 de WebRTC olarak bilinen tarayici tabanli gercek zamanli iletisim icin acik kaynakli bir proje yayinladi Devaminda IETF de WebRTC icin bir takim protokoller gelistirildi ve W3C de tarayici API lerini standardize etmek calismalar yurutuldu Ericsson Labs Mayis 2011 de bir WebKit kutuphanesi kullanarak WebRTC icin ilk uygulamayi olusturdu Ekim 2011 de W3C sartname icin ilk taslagini yayinladi WebRTC icin diger onemli tarihler ise ilk tarayicilar arasi videolu aramanin yapilmasi Subat 2013 ilk tarayicilar arasi veri aktariminin yapilmasi Subat 2014 ve Google Hangouts un hayata gecirilmesidir Temmuz 2014 W3C nin taslak API si Web Hypertext Application Technology Working Group ta WHATWG de yapilan on calismalara dayanmaktadir Ericsson Labs de standart oncesinde konsept bir uygulama olusturuldu ve ConnectionPeer API olarak adlandirildi WebRTC Calisma Grubu bu standardin asagidaki maddelere dayanarak gelismesini istemektedir IETF deki RTCWEB grubu ile ortaklasa olarak yapilan calismalarda bir protokol kumesinin olusturulmasi ve bu protokollerin standart dokumani ile birlikte web tarayicilarinda gercek zamanli iletisimin gerceklestirilmesini saglamasidir Hicbir sinyallesme protokolu zorunlu olarak tutulmasa da WebSocket uzerinden SIP ve acik kaynakli JsSIP yaygin olarak kullanilabilir Yerel yetenekleri ve yerel akislari ortaya koyarken ortaya cikan gizlilik sorunlari giderilmelidir Ozellikle veri kanallarinin uygulanmasina iliskin grup icinde teknik tartismalar yurutulmelidir Erken surecte deneyler ile edinilen deneyimler incelenmelidir Diger gruplardan ve bireylerden geri bildirimler dikkate alinmalidir Kasim 2017 de WebRTC 1 0 spesifikasyonunun durumu Calisma Taslagindan Working Draft Aday Tavsiyesine Candidate Recommendation gecmistir Genel bakisTasarim WebRTC nin ana bilesenleri asagida yer alan JavaScript API lerini icerir getUserMedia metodu kullanicinin ses ve video verisini alir Cihazin kamerasina ve mikrofonuna erisim istegi gondererek RTCPeerConnection esler arasinda ses ve video iletisimini saglar ve geriye bir nesne dondurur Sinyal isleme codec yonetimi esler arasi iletisim guvenlik ve bant genisligi yonetimini bu nesne uzerinden gerceklestirir RTCDataChannel esler arasinda gerceklesen harici verilerin cift yonlu iletisimine izin verir WebSockets ile ayni API yi kullanir ve cok dusuk bir gecikme suresine sahiptir WebRTC API si ayrica istatistik verilerinin alinmasi icin bir fonksiyonu da icerir getStats metodu web uygulamasinin WebRTC oturumlariyla ilgili bir dizi istatistik verilerinin alinmasini saglar Bu istatistiki verilerin tanimi ayri bir W3C dokumaninda aciklanmaktadir W3C WebRTC icin ORTC Nesne Gercek Zamanli Iletisim gelistirmektedir Ornekler WebRTC Baslangicta web tarayicilari icin gelistirilmesine ragmen mobil platformlar ve IoT cihazlari da dahil olmak uzere diger bircok cihaz icin uygulamalara sahiptir Ornek olarak bir web tarayicisi uzerinden arama islemlerini gerceklestiren VoIP telefonlari verilebilir Cihaz ve tarayici destegi WebRTC asagidaki tarayicilar tarafindan desteklenmektedir Masaustu bilgisayarlarda Microsoft Edge 12 Google Chrome 28 Mozilla Firefox 22 Safari 11 Opera 18 Vivaldi 1 9 Android Google Chrome 28 29 dan beri varsayilan olarak etkindir Mozilla Firefox 24 Opera Mobile 12 Chrome OS Firefox Isletim Sistemi BlackBerry 10 iOS MobileSafari WebKit iOS 11 Tizen 3 0Gizlilik konusunda endiselerOcak 2015 te TorrentFreak sitesi WebRTC yi destekleyen tarayicilarda ciddi bir guvenlik acigi bildirdi ve bir kullanicinin gercek IP adresini gostererek VPN tunellerinin guvenligini tehlikeye attigini soyledi Tarayicilarda varsayilan olarak IP adresi okuma istekleri tarayicinin gelistirici konsolunda goruntulenmemekte ve cogu reklam engelleme gizlilik eklentisi tarafindan engellenememektedir Bu onlemlere ragmen Google gibi reklam verenler ve diger varliklar tarafindan cevrimici izlemeyi mumkun kilmistir ancak uBlock Origin eklentisi bu sorunu cozmektedir Eylul 2019 itibariyla bu WebRTC kusuru hala Firefox 69 x te ortaya cikmakta ve buna ragmen varsayilan olarak kullanicinin dahili IP adresini web e maruz birakilmaktadir Ayrica bakiniz GIPS Gercek Zamanli Aktarim Protokolu RTP Oturum Aciklama Protokolu SDP WebRTC Ag GecidiKaynakca World Wide Web Consortium 27 Eylul 2018 7 Nisan 2019 tarihinde kaynagindan arsivlendi Erisim tarihi 25 Mart 2019 23 Nisan 2018 tarihinde kaynagindan arsivlendi Erisim tarihi 17 Nisan 2020 a b WebRTC WebRTC 9 Ocak 2018 tarihinde kaynagindan arsivlendi Erisim tarihi 6 Subat 2018 gstreamer freedesktop org 20 Mart 2018 tarihinde kaynagindan arsivlendi Erisim tarihi 19 Aralik 2019 WebRTC 7 Haziran 2011 tarihinde kaynagindan arsivlendi Erisim tarihi 6 Subat 2018 Wauters 18 Mayis 2010 Google makes 68 2 million cash offer for Global IP Solutions TechCrunch 7 Subat 2018 tarihinde kaynagindan Erisim tarihi 6 Subat 2018 Stefan Hakansson 26 Mayis 2011 Beyond HTML5 Experiment with Real Time Communication in a Browser Ericsson Research blog 7 Subat 2018 tarihinde kaynagindan Erisim tarihi 6 Subat 2018 World Wide Web Consortium 27 Ekim 2011 29 Ekim 2011 tarihinde kaynagindan arsivlendi Erisim tarihi 6 Subat 2018 GitHub 7 Subat 2018 tarihinde kaynagindan arsivlendi Erisim tarihi 6 Subat 2018 2 Kasim 2017 2 Kasim 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 17 Nisan 2020 Kasim 2017 1 Kasim 2017 tarihinde kaynagindan arsivlendi Erisim tarihi 17 Nisan 2020 Prevent WebRTC from leaking local IP address uBlock Origin documentation 26 Mart 2016 21 Subat 2016 tarihinde kaynagindan Erisim tarihi 1 Eylul 2016 Daha fazlasiProust S ed May 2016 Additional WebRTC Audio Codecs for Interoperability IETF doi 10 17487 RFC7875 RFC 7875 Retrieved 2016 10 12 Valin J M Bran C May 2016 WebRTC Audio Codec and Processing Requirements IETF doi 10 17487 RFC7874 RFC 7874 Retrieved 2016 10 12 Roach A B March 2016 WebRTC Video Processing and Codec Requirements IETF doi 10 17487 RFC7742 RFC 7742 Retrieved 2016 10 12 Perumal M Wing D Ravindranath R Reddy T Thomson M October 2015 Session Traversal Utilities for NAT STUN Usage for Consent Freshness IETF doi 10 17487 RFC7675 RFC 7675 Retrieved 2016 10 12 Holmberg C Hakansson S Eriksson G March 2015 Web Real Time Communication Use Cases and Requirements IETF doi 10 17487 RFC7478 RFC 7478 Retrieved 2016 10 12 Dis baglantilarhttps webrtc org 9 Ocak 2018 tarihinde Archive is sitesinde arsivlendi W3C Web Gercek Zamanli Iletisim Calisma Grubu 11 Nisan 2020 tarihinde Wayback Machine sitesinde WEB tarayicilarinda IETF Gercek Zamanli Iletisim rtcweb Calisma Grubu 20 Nisan 2020 tarihinde Wayback Machine sitesinde WebRTC ye dayali goruntulu sohbet demo uygulamasi 26 Nisan 2020 tarihinde Wayback Machine sitesinde WebRTC veri kanallarinin bagimsiz acik kaynak uygulamasi 18 Ekim 2019 tarihinde Wayback Machine sitesinde