WebRTC

WebRTC ( Web Gerçek Zamanlı İletişim , kelimenin tam anlamıyla " Web için gerçek zamanlı iletişim  "), W3C ve IETF içinde geliştirilen bir programlama arabirimi (API) JavaScript'idir . Aynı zamanda , gerçek zamanlı iletişime izin vermek için farklı web tarayıcılarında erken uygulamaları olan bir yazılım tuvalidir . WebRTC'nin amacı, daha önce gerekli olan tescilli uzantı modüllerinden kendisini kurtararak , IP üzerinden ses , eşler arası dosya paylaşımı gibi uygulamaları birbirine bağlamaktır .

API, medya veya veri akışları alışverişinde bulunmak isteyen iki eşi birbirine bağlamak için merkezi bir sunucunun kullanıldığı ve daha sonra daha fazla aktarma olmadan değiş tokuş edildiği üçgen, ardından eşler arası bir mimariye dayanır . Bu mimari ve kullanılan protokol yığını , çoğunlukla IETF ve W3C tarafından çözülmekte olan diğer teknolojilerle ( NAT'lar veya güvenlik duvarları gibi) ilgili güvenlik ve kullanım sorularını gündeme getirmektedir .

WebRTC teknolojisi oldukça yeni, 2011 yılında W3C / IETF çalışma grupları başladı. Tarayıcılar 2013-2014'ten itibaren entegre etmeye başladı. 2019'da farklı tarayıcılarla entegrasyonu hala eşit değil. Bazı tarayıcılar için Temasys'in Internet Explorer ve Safari gibi tescilli uzantıları var .

Tarihi

Tarayıcılar arasındaki doğrudan değiş tokuşlar, W3C ve IETF tarafından sunulan bir yenilik değildir, ancak önceki araştırma ve uygulamalar standart değildi ( Adobe Flash veya Microsoft ActiveX gibi tescilli eklentilerin kullanılması nedeniyle ) ve genellikle yetersiz belgelenmiştir. Bu protokoller ve eklentiler , bu sistemleri kullanan siteler için birlikte çalışabilirlik ve güncelleme zorluklarının kaynağıydı. Bu uygulamalar video konferansa kadar kullanıma izin verse de (Adobe tarafından Gerçek Zamanlı Medya Akış Protokolü (en) ile sunulanlar gibi ), bunlar tescilli eklentilere dayalıydı ve bu nedenle standartlardan yoksundu.  

Zengin internet uygulamaları statik web sayfalarının bir evrim olarak görülüyor, hızla işlevselliğini elde etmek için de hareketlendirmek metin ve tarayıcı tarafından sunulan çizimler ama yeteneği sunulan sürükle ve bırak ya gelen akımlar çift yönlü (ses ve video). Bununla birlikte, zengin uygulamalar en azından kısmen tarayıcı tarafından yürütülürken, bunlar yalnızca tarayıcı ile bir (veya bazen daha fazla) web sunucusu arasındaki iletişimi içerir.

WebRTC, ilk taslakları ortaya çıkan World Wide Web Consortium (W3C) standartları dahilinde Google , Mozilla ve Opera tarafından desteklenen birkaç tarayıcı arasında doğrudan (yani bir web sunucusundan geçmeden) ve gerçek zamanlı iletişime izin veren bir teknolojidir. içindeMayıs 2011. Gelişimini sağlamak için, W3C içinde özel bir liste oluşturuldu.nisan 2011 yanı sıra IETF bünyesinde bir çalışma grubu Mayıs 2011.

Ancak bu girişimler, Microsoft'un rakip bir teklif CU-RTC-Web  (içinde) sunmasına karşı çıkıyor .8 Ağustos 2012.

WebRTC'yi oluşturacak standart henüz tamamlanmadığından, yine de büyük değişikliklere uğrayabilir. Bu nedenle, geri bildirim almak için tüm deneyler teşvik edilir. API, WHATWG'nin ( ConnectionPeer API'sini ve Ericsson laboratuvarlarındaki çalışmayı temel alan) ön çalışmasına dayanmaktadır .

Çalışma grubu, spesifikasyonların aşağıdaki yollarla yeterli bir şekilde geliştirilmesini umuyor:

Standardın genel açıklaması

WebRTC API'sinin mimarisi, bir sunucu ve iki eş içeren üçgen bir yapıya dayanmaktadır. Her iki tarayıcı da bir sunucudan yerel bağlamlarına bir JavaScript uygulaması indirir . Sunucu, tarayıcılar arasında doğrudan bir bağlantı kurulana kadar tarayıcılar arasındaki alışverişleri koordine etmek için bir buluşma noktası olarak kullanılır. İndirilen uygulama, yerel Bağlam ile iletişim kurmak için WebRTC API'sini kullanır . Amaç, JavaScript ve HTML5'te WebRTC API aracılığıyla tarayıcıyla etkileşime giren bir istemci uygulamasına sahip olmaktır .

Tarayıcılar arasındaki değişim akışları, örneğin güvenlik duvarlarının, proxy'lerin veya NAT'ın geçişine izin vererek, gerektiğinde sinyali değiştirmekten, çevirmekten veya yönetmekten sorumlu olacak çeşitli sunucularla karşılaşabilir .

WebRTC standardını kullanarak bir bağlantı kurmak için, A ve B tarayıcılarının aynı anda hizmet sayfasına bağlanması ve HTML sayfasının yanı sıra bağlantının HTTPS veya soket tarafından açık tutulmasına izin veren JavaScript kodunu indirmesi gerekir . Tarayıcı A, B ile bağlantı kurmak istediğinde, API , oluşturulduktan sonra medya veya veri akışlarının kurulmasına izin veren bir PeerConnection nesnesini başlatır . Örneğin bir video konferans için, A ve B kullanıcılarının kameralarının ve/veya mikrofonlarının paylaşımını kabul etmeleri de gereklidir.

Bu PeerConnection nesnesi A tarafından oluşturulduktan sonra, tarayıcı sunucuya paylaşılan ortam hakkında bilgi içeren bir paket ve ayrıca bağlantıyı A'ya bağlayan bir parmak izi gönderir. Sunucu bu paketin kodunu çözecek ve bunun B'ye bir iletişim olduğunu belirleyecektir ve bu nedenle B'ye bir sinyal gönderecektir. B, A'nın bağlantı kurma isteği ve talebini kabul edip etmediği konusunda bilgilendirilir. Kabul edilirse, bu kez iki yönlü bağlantı kurmak için B ve A arasında aynı işlem gerçekleşir. Kurulduktan sonra medya veya veri akışları bağlantıya serbestçe eklenebilir.

Örneğin , tarayıcılar arasında eşler arası video akışı bağlamında , kullanıcı bir sunucudan izlemek istediği videonun meta verilerini ve videonun tamamına veya bir kısmına sahip olan mevcut eşlerin bir listesini indirir . Eşler ile bağlantı kurulması, veri akışıyla, bütünlükleri kontrol edildikten sonra yeniden birleştirilen video parçalarının indirilmesine ve ardından videoyu bir HTML5 oynatıcısında başlatmasına izin verir.

webRTC API, libjingle projesinden kaynaklanan parçalardaki STUN , ICE , TURN , DTLS ve hatta SRTP gibi mevcut standartları temel alır .

PeerConnection

RTCPeerconnection API , UDP protokolüne (genellikle uzak istemcide çalışan aynı JavaScript uygulamasının başka bir örneği) dayalı olarak uzak bir tarayıcıyla kurulan bağlantıyı temsil eder . Bu eşler arası bağlantıyı kurmak için, bir web sunucusu tarafından kurulan ve örneğin bir XMLHttpRequest nesnesi veya bir WebSocket kullanan bir iletişim kanalına güvenmek gerekir . Mozilla ve Google teknik bir gösteri yaptıŞubat 2013.

Bağlantı kurmak için eşlerden birinin yerel bilgileri (ses veya video için desteklenen protokoller gibi) alması gerekir. Bu adım, API tarafından Oturum Açıklama Protokolü aracılığıyla etkinleştirilir . SDP,  bir istek/yanıt yaklaşımını tanımlayan IETF RFC 3264'ü temel alır . Bir oturum oluştururken, bir eş ne ​​yapmak istediğini açıklayan bir istek oluşturur ve diğeri seçilen seçenekleri belirterek yanıt verir. Bununla birlikte, SDP kullanımı, SDP aktarma formatı, yarattığı sorunların bilhassa, JSEP protokolü ile WebRTC standart içinde değiştirilmektedir bilgi damla .

WebRTC çerçevesinde, bu isteklerin ve yanıtların SDP tarafından değişimi, uygulamanın seçimine bırakılan bir mekanizma (tipik olarak bir soket kullanan bir Web sunucusu ) tarafından yapılır.

SDP kullanan bu süreç, hem RTP (medya aktarımı) hem de SCTP (veri aktarımına izin vererek ) için anlaşmaya izin verir.

NAT tarafından adres dönüşümü yapılması durumunda bağlantının sürekliliğini sağlamak ve güvenlik duvarları tarafından (özellikle şirketlerde) bloke edilmemek için PeerConnection nesnesi UDP , STUN ve ICE protokollerini kullanır .

Bu eşler arası bağlantı kurulduğunda, her bir taraf bunu kullanarak MediaStreams veya DataStreams kurabilir.

Veri kanalları

DATA kanalları API , iki yönlü, eşler arası genel bir veri alışverişi ortamı sağlar. webRTC'nin bu bileşeni, resim veya metin gibi verilerin değiş tokuşuna izin verir. Mozilla'nın ilk gösterisiKasım 2012.

Bu veri kanalları, PeerConnection nesnesi kullanılarak eşler arasında oluşturulur . Medya akışları dışındaki bu veriler , kendisi DTLS içinde kapsüllenmiş SCTP protokolü aracılığıyla değiştirilir . Bu çözüm, veri akışının medya akışlarıyla aynı pakete entegre edilmesini ve dolayısıyla değiş tokuşlar için aynı port numarasının paylaşılmasını sağlar.

SCTP, bir SCTP ilişkisi içinde birkaç veri akışını çift yönlü (her yönde 65536'ya kadar) yerel olarak destekler ve öncelikleri yönetir. Bu şekilde, yüksek öncelikli mesajları büyük, düşük öncelikli nesnelere tercih etmek mümkündür. Her akış, tek yönlü bir mantıksal bağlantıyı temsil eder.

Değiştirilen SCTP paketlerinin gizliliğini ve gerçekliğini sağlamak için her akış DTLS protokolüne dayalıdır.

Bir veri kanalı içinde uygulamalar mesajları düzenli veya gelişigüzel bir şekilde iletebilir. Teslimat sırası, yalnızca aynı veri bağlantısı üzerinden gönderilen sıralı paketlerin iletimi durumunda korunur.

Eşlerden biri bir PeerConnection nesnesi oluşturduktan sonra ilk kez CreateDataChannel() yöntemini çağırdığında bir veri akışı oluşturulur . CreateDataChannel () öğesine yapılan sonraki her çağrı , mevcut SCTP bağlantısı içinde yeni bir veri akışı oluşturacaktır.

DTLS protokolü, SCTP paketlerini kapsülleme rolüne sahip değildir. Medya akışlarıyla çoğullama bağlamında, DTLS protokolü, medya akışlarının yönetimi için kullanılan SRTP protokolü için anahtarların yönetimini ve parametrelerin anlaşmasını kapsar. Bu nedenle, medya akışının veri akışına bağımlılığı vardır.

Medya Akışı

Bir medya akışı belirli bir ses ya da video veri akışı bir temsilidir. Görüntüleme, kaydetme ve uzak bir eşe gönderme gibi medya akışındaki eylemler için destek sağlar. Bir MediaStream'i yerel veya uzak olabilir. MediaStream API, ses ve video akışlarını yönetir ve uygulamaya kamera , hoparlör ve mikrofona erişim sağlamasını söyler  ;

Amacıyla, bir kullanılmak üzere yerel MediaStream'i kullanıcının medya kaynaklarına zorunluluk isteği erişimi yoluyla getUserMedia () fonksiyonu . Uygulama, erişmek istediği ortam türünü (ses veya video) belirtir ve tarayıcı, istenen kaynağa erişime izin verir veya erişimi reddeder. Medya artık kullanılmadığında, uygulama yerel medya akışındaki stop () yöntemiyle kendi erişimini iptal edebilir .

Medya akışları, bir datagram soyutlaması (örneğin UDP) uygulayan herhangi bir taşıma protokolünde kullanılabilen RTP protokolü aracılığıyla taşınır . Gizlilik, mesaj doğrulama ve tekrar koruma, RTP, SRTP'nin güvenli kullanımı ile sağlanır.

SRTP için anahtar yönetimi, DTLS ve dolayısıyla veri akışı tarafından gerçekleştirilir. Bu nedenle, tersinin mümkün olduğu bir veri akışından bağımsız bir medya akışına sahip olmak imkansızdır.

Aynı SRTP bağlantısı üzerinde farklı medya kaynakları kullanabilen veya kullanamayan birkaç medya akışını ilişkilendirmek mümkündür. Bu durumda, her akışın kaynakları açıkça SSRC'ler olarak tanımlanır.

Medya / veri çoğullama

WebRTC API, tek bir aktarım düzeyi bağlantısına dayalı olarak veri veya medya akışlarının çoğullanmasını sağlar . Bu çoğullama, STUN, SRTP ve DTLS protokollerinin modelin aynı seviyesinde bir arada var olduğu ve gelen paketlerin çoğullamalarının çözülmesinin gerekli olduğu anlamına gelir. Bunun için hangi protokol olduğunu belirlemek için UDP içeriğinin niteliğini gösteren ilk sekizli kullanılır. 0 veya 1 değeri bir STUN paketini, 20 ile 63 arasındaki bir değer bir DTLS paketini, 128 ile 191 arasındaki bir değer bir SRTP paketini belirtir.

Bu çoğullamanın ana avantajı, aynı taşıma seviyesi paketini paylaşarak, medya ve veri akışlarının, örneğin bir medya akışını taşıyan bir paketten kaçınarak NAT'ları veya güvenlik duvarlarını daha kolay geçmesidir. bir veri paketi geçerken bloke edilir.

Teknik özellikler

itibaren Mart 2012, IETF WebRTC çalışma taslağı en azından aşağıdaki ses kodeklerini gerektirir:

Video codec bileşenleri henüz tanımlanmadı ancak belirli kriterleri karşılaması gerekiyor. Bir codec bileşeninin kabul edilebilmesi için diğer şeylerin yanı sıra en az 10 kare/saniye (fps) ve en fazla 30 kareyi desteklemesi gerekir ; ayrıca minimum 320x240 piksel çözünürlüğü desteklemesi gerekir; VP8 codec bileşeni ile ilgili olarak, görüntü işlemenin bilineer algoritmasını destekleyebilmeli ve herhangi bir yeniden yapılandırma filtresi uygulamamalıdır.

WebRTC ve Potansiyel Çözümlerle İlgili Sorunlar

Uygulama güvenliği

WebRTC kullanırken birkaç güvenlik sorunu ortaya çıkar:

Bu sorunlardan bazıları İnternet üzerinden tüm iletişimin doğasında varken, diğer sorunlar WebRTC'nin uygulanmasıyla çözülmüştür. Böylece, medya alışverişleri SRTP protokolü ile güvence altına alınır.

Özel yerel IP

WebRTC, bir VPN kullanırken bile gerçek yerel IP adresinizi açığa çıkarmanıza olanak tanır.

Paket kaybını yönetme

UDP protokolünün bağlantısının kesilmesi ve paket alım doğrulama sistemi kullanılmaması ( örneğin TCP protokolünün aksine ), paket kaybı, medya akışlarının eşler arası iletimleri sırasında ortaya çıkabilecek bir sorundur. Ağ sorunları nedeniyle paket kaybını sınırlamak için iki yöntem sunulmuştur:

Bir medya akışı gönderirken, gönderen akışı keser ve bu paketlerle gönderilen bir sağlama toplamını (FEC) hesaplar. Alındıktan sonra, FEC'ler hata olmadığını ve verilerin bir arabellekte saklandığını doğrulamak için yeniden hesaplanır . Eksik paketler varsa tekrar talep edilir.

WebRTC API'nin bir parçası olarak, videonun kalitesini, akışkanlığını ve bağlantının bir ucundan diğer ucuna yanıt süresini dengelemek için zamanlama kontrolleriyle birlikte NACK ve FEC arasında hibrit bir çözüm uygulandı.

Bu nedenle, bir medya aktarımı bağlamında, görüntülerin oluşturulması için kullanılan ara bellek, paketlerin uzunluğuna ve uygulama tarafından hesaplanan optimal işleme akışkanlığına bağlı olarak değişken boyuttadır. Gönderici tarafında, bir akış optimize edici, ağdaki trafiğin kalitesini periyodik olarak hesaplar ve çarpışmaları ve kayıpları mümkün olduğunca önlemek için paketlerin boyutunu dinamik olarak uyarlar.

Ek olarak, FEC'nin hesaplanması işlemin en uzun kısmı olduğundan, akış optimizasyonu frekansın değiştirilmesine izin verir, böylece iletim sırasında karşılaşılan sorunları en iyi şekilde ele alan uyarlanabilir bir FEC / NACK oluşturur.

Güvenlik duvarlarından veya NAT'tan geçin

Güvenlik duvarı üzerinden geçiş

WebRTC, genellikle API gereksinimleriyle uyumlu olmayan BT güvenlik ilkelerine sahip olduklarından kuruluşlarda kullanımı zor olabilir. Bunun nedeni, WebRTC'nin tarayıcılar arasındaki eşler arası akışlara dayanmasıdır ve bu akışlar, medya akışları söz konusu olduğunda gecikmeye karşı çok hassastır . Ek olarak, paketleri iletmek için kullanılan sunucular, iletişim kuran eşlerden coğrafi olarak uzak olabilir veya paketlerin doğru geçişine izin vermek için çok düşük bir bant genişliğine sahip olabilir.

Bir güvenlik duvarını geçmek için zaten yaklaşımlar var:

  • Simetrik RTP, iki yönlü bir akışı simüle etmek ve paketlerin rastgele bloke edilmesini önlemek için aynı giriş ve çıkış bağlantı noktalarını kullanan UDP tabanlı bir RTP uygulamasıdır ;
  • Güvenlik duvarı filtreleme kurallarını belirlemek için test paketlerini kullanan ve ayrıca NAT'ta geçiş yapmak için kullanılan ICE protokolü.

Bununla birlikte, şirketler giderek daha fazla SBC'ler , uygulama düzeyinde güvenlik duvarları, sinyal ve medya akış kontrolü (ALG) kullanıyor. Bu SBC'ler, sinyal akışı API tarafından standartlaştırılmadığından ve uygulama serbest bırakıldığından WebRTC için zorluklar yaratır. Ek olarak, SBC'ler istemciden sunucuya aktarımda aracı olarak yerleştirilir, ancak WebRTC tarafından kullanılan DTLS protokolü , şifrelemesi nedeniyle üçüncü bir taraf tarafından gözlemlenmesine izin vermez. Son olarak, SBC'ler veri akışlarının kimliğini doğrulamak için sinyal akışlarını kullanır, ancak WebRTC API'si sinyal akışlarını standartlaştırmaz, bu nedenle tanımlama amacıyla kullanımları mümkün değildir.

SBC'lerin yarattığı zorlukların üstesinden gelmek için çözümlerden biri, şirketlerin gelen akışları SIP oturumlarına dönüştürmesi, bu kapsüllemeyi SBC'den geçmek için kullanması ve ardından akışı uygulamaya geçirmek için dekapsüle etmesi olacaktır. Ancak, bu ortadaki adam saldırısı ilkesi , WebRTC ve API'nin kontrol ve medya akışı şifrelemesinin çeşitli kullanımları nedeniyle zorlaşmaktadır.

NAT üzerinden geçiş

WebRTC, eşlerden biri bir NAT arkasındaysa kullanılabilir olması için ICE protokolünü kullanır. Bu tür bir zorluğun üstesinden gelmek için iki ana teknik kullanılır.

  • İlk tekniğe genellikle Delik Açma  (in) adı verilir : NAT içindeki cihaz, NAT dışındaki bir sunucuya bir STUN paketi gönderir. Sunucu, gönderene IP adresini ve paketin gönderildiği, ikisinin iletişim kuracağı görünen bağlantı noktasını bildirerek yanıt verir.
  • İkinci teknik, bir ara röle kullanır. Bunun için kullanılan protokol, NAT  (tr) çevresinde Röleleri Kullanan Geçiştir  : şirket , dahili eşin iletişim kurduğu ve gerekli haklara sahip olduğunu doğrulamaktan ve medyayı izlemekten sorumlu olan askerden arındırılmış bölge (DMZ) içinde bir TURN sunucusu kullanır. içinden geçen akışlardır. Böylece sunucu, bir eş ve diğeri arasında geçen WebRTC paketleri için bir geçiş noktası görevi görür.

Entegrasyon

internet tarayıcıları

  • Opera  : ilk entegrasyon tanıtıldıocak 2012. Kararlı sürüm bu teknolojiyi içerir;
  • Google Chrome  : geliştirme şubesine bir teknoloji entegrasyonu geldiocak 2012, ve içindeki kararlı sürüm numarasında Haziran 2012(ancak PeerConnection ve MediaStream'i etkinleştirilmelidir aracılığıyla "  krom: // flags /  " sayfa ( ArşivwikiwixArchive.isGoogle • ? Ne yapmalı ) );
  • Mozilla Firefox  : Mozilla gösterildinisan 2012. 8 Ocak 2013, Firefox 18 bir ön uygulamadan geçmiştir. Vakıf, tarayıcısında bu işlevin birkaç gösterimini yaptı. Mozilla etkin, varsayılan olarak, WebRTC Firefox 22'de yayınlandı25 Haziran 2013. Android platformunda Firefox mobilde WebRTC desteği, sürüm 24'ten beri dahil edilmiştir. Mozilla yakında TURN'u desteklemeyi planlıyor;
  • Internet Explorer : Microsoft benzer bir API'yi entegre etmeye başladı ve Edge eksik destek sunuyor;
  • Ericsson duyurduekim 2012, cep telefonları için WebRTC uyumlu ilk tarayıcı, Tarayıcı adı verilen ve iOS ve Android için geliştirilmiş;
  • İçinde nisan 2016Safari (web tarayıcı) WebRTC'yi desteklemiyor ancak Apple bu yönde çalıştığını duyuruyor.
  • İçinde şubat 2017, Microsoft, veri kanalları hariç olmak üzere Edge tarayıcısının gelecekteki sürümlerinde WebRTC desteğini duyurdu .
  • Dan beri eylül 2017, WebRTC, IOS 11 için Safari ve Chrome tarafından desteklenir.

Uygulamalar ve gösteriler

Göreceli yeniliğine rağmen, webRTC standardı 2011'den beri birçok projenin parçası olarak uygulanmaktadır. Mayıs 2011, Ericsson laboratuvarları API'nin ilk uygulamasını önerdi veMayıs 2012Doubango Telecom, WebRTC kullanarak ilk açık kaynak SIP HTML5 istemcisini sundu. Aynı yılın Eylül ayında, JsSIP adlı SIP protokolünü çalıştırmak için JavaScript'e dayalı bir yazılım tuvali , WebSockets üzerindeki çalışma taslağının başlangıcında bulunan bir ekip olan Versatica tarafından başlatıldı .

İnternetteki çeşitli uygulamalar WebRTC'nin sunduğu araçları kullanır. Örneğin, tawk.com, look.in, Talky.io, vroom.im ve hatta video konferans hizmetleri sunan Bistri.com siteleri için durum böyledir. Aynı şekilde,Kasım 2012, ToxBox, geliştiricilerin doğrudan web siteleri veya IOS (Apple) ve Android uygulamaları içinde video konferans yapmalarına olanak tanıyan OpenTok'u piyasaya sürdü . Bu çözüm, tarayıcıda veya Flash'ta mevcut olduğunda WebRTC'yi temel alır. Aynı şekilde veri alışverişi rtccopy gibi siteler tarafından DataChannels'a güvenilerek sunulmaktadır .

Bu uygulamalara rağmen, çeşitli web oyuncuları teknoloji üzerinde çalışmaya devam ediyor. İçindeŞubat 2013, Mobil Dünya Kongresi sırasında Mozilla , Ericsson ve AT&T ürünleriyle WebRTC'yi sergilediler. Google'ın sohbet hizmeti Google Talk da devam eden çalışmalarla WebRTC'ye geçebilir.

alternatifler

İçinde Ağustos 2012, Microsoft (CU-RTC-WEB adı verilen alternatif bir öneri sundular Web üzerinden Özelleştirilebilir Ubiquitous Gerçek Zamanlı İletişimi , W3C WebRTC grubuna) bildirildiğine ile birlikte 2010 yılında girmiştir olduğu bir teknoloji Skype (Microsoft 2011 yılında aldım).

Google'ın önerisi, patent telif ücretine tabi olmayan VP8 codec bileşeni üzerine kuruluyken , Microsoft'un teklifi, yaygın olarak kullanılan ISO / IEC H.264 standardını kullanır , ancak birçok patent telif ücretine tabidir.

2016'da Opera ve Google Chrome yalnızca VP8, firefox ve Bowser H.264 ve VP8'i ve Edge kısmen H.264'ü destekler.

Şuna da bakın:

Dış bağlantılar

bibliyografya

  • (tr) Lin Li ve Xiping Zhang , “  RTCWeb Teknolojisinin IP Çoklu Ortam Alt Sistemi ile Entegrasyonu Üzerine Araştırma  ” , Görüntü ve Sinyal İşleme (CISP), 2012 5. Uluslararası Kongresi ,2012, s.  1158-1161 ( ISBN  978-1-4673-0964-6 , DOI  10.1109 / CISP.2012.6469705 )
  • (tr) Marcin Davies , Joachim Zeiss ve Rene Gabner , “  Tarayıcı tabanlı gerçek zamanlı multimedya iletişimi için iki yaklaşımın değerlendirilmesi  ” , 10th International Conference on Advances in Mobile Computing & Multimedia , Proceedings of the Advances of Mobile Computing & Multimedia ,2012, s.  109-117 ( ISBN  978-1-4503-1307-0 , DOI  10,1145 / 2428955,2428982 )
  • (tr) Alessandro Amirante , Tobia Castaldi , Lorenzo Miniero ve Simon Pietro Romano , “  WebRTC Tarayıcılar ve SIP Tabanlı Konferans Sistemleri arasındaki kesintisiz Etkileşim üzerine  ” , Haberleşme Dergisi, IEEE , vol.  51, n o  4,2013, s.  42-47 ( ISSN  0163-6804 , DOI  10.1109 / MCOM.2013.6495759 )
  • (tr) Stephan Holmer , Mikhal Shemer ve Marco Paniconi , “  WebRTC'de Paket Kaybını Ele Almak  ” , Uluslararası Görüntü İşleme Konferansı (ICIP 2013) ,2013, s.  1860-1864 ( çevrimiçi okuyun )
  • (tr) Hoanh Huu Tho Le ve YoungHan Kim , “  P2P tabanlı RTCWeb konferans sistemi için Circle-mesh overlay  ” , Ubiquitous and Future Networks (ICUFN), 2013 Fifth International Conference on ,Temmuz 2013, s.  489-494 ( DOI  10.1109 / ICUFN.2013.6614869 )
  • (tr) Kundan Singh ve Venkatesh Krishnaswamy , “  JavaScript'te SIP için bir vaka  ” , Communications Magazine, IEEE , cilt.  51, n o  4,Nisan 2013, s.  28-33 ( DOI  10.1109 / MCOM.2013.6495757 )
  • (tr) Christian Vogt , Max Jonas Werner ve Thomas Schmidt , “  İçerik Odaklı Kullanıcı Ağları: İsim Tabanlı Yayıncılık Yolu Olarak WebRTC  ” , 21st IEEE Stajyeri. Konf. Ağ Protokolleri (ICNP 2013), Doktora forumu , IEEEPress,Ekim 2013( çevrimiçi okuyun )
  • (tr) Salvatore Loreto , Vijay Gurbani ve Jörg Ott , “  Web-Base Communications (konuk editör)  ” , Communications Magazine, IEEE , cilt.  51, n o  4,2013, s.  18-19 ( DOI  10.1109 / MCOM.2013.6495755 )
  • (tr) Martin Becke , Erwin Rathgeb , Sebastian Werner , Irene Rüngeler , Michael Tüxen ve Randall Stewart , “  RTCWeb için Veri Kanalı Değerlendirmeleri  ” , Communications Magazine, IEEE , cilt.  51, n o  4,Nisan 2013, s.  34-41 ( DOI  10.1109 / MCOM.2013.6495758 )
  • ( fr ) Colin Perkins , “  Tıkanıklık kontrollü etkileşimli multimedya trafiği TCP ile birlikte var olabilir mi?  » , Kapasite paylaşımına ilişkin 2012 ACM çalıştayının bildirileri ,2012, s.  45-46 ( ISBN  978-1-4503-1780-1 , DOI  10,1145 / 2413219,2413232 )
  • (tr) Arno Baker , Riccardo Pétrocco , Michael Dale , Jan Gerber , Victor Grishchenko , Diego Rabaioli ve Johan Pouwelse , “  Wikipedia'ya uygulanan BitTorrent ve HTML5 kullanan çevrimiçi video  ” , Eşler Arası Bilgi İşlem (P2P), 2010 IEEE Onuncu Uluslararası konulu konferans ,2010, s.  1-2 ( DOI  10.1109 / P2P.2010.5569984 )
  • (tr) Pedro Rodriguez , Javier Cervino , Irena Trajkoska ve Joaquin Salvachua , “  WebRTC tabanlı gelişmiş video konferans hizmetleri  ” , IADIS Uluslararası Konferansları Web Tabanlı Topluluklar ve Sosyal medya Bildirileri ,2012( ISBN  978-972-8939-72-4 )
  • (tr) Jukka Nurminen , Antony Meyn , Eetu Jalonen , Yrjo Raivio ve Raul Garvia Marrero , “  HTML5 ve WebRTC ile P2P medya akışı  ” , IEEE Uluslararası Bilgisayar İletişimi Konferansı ,2013
  • (tr) Tjrek de Greef , Charlie Gullström , Leif Handberg , Peter Parnes ve Harold Nefs , “  Shared mediated workspaces  ” , Presence Live 2012 ,ekim 2012( çevrimiçi okuyun )

Referanslar

  1. David Feugey , "  Firefox 24 herkese WebRTC'yi getiriyor  " üzerine, Silikon ,18 Eylül 2013( 31 Ekim 2019'da erişildi )
  2. "  Merhaba Firefox 34: WebRTC desteği ve geliştirici araçları  " , www.linformaticien.com adresinde ( 31 Ekim 2019'da erişildi )
  3. “  Firefox sürüm 34. Yeni ne var?  » , Génération-NT'de ( 31 Ekim 2019'da erişildi )
  4. [email protected] , “  Mozilla , WebRTC iletişimlerini Firefox'ta test etmenizi istiyor  ” , www.nextinpact.com adresinde ,9 Mayıs 2014( 31 Ekim 2019'da erişildi )
  5. "  Firefox 24 - LinuxFr.org  " , linuxfr.org'da ( 31 Ekim 2019'da erişildi )
  6. (tr) "  Android için Firefox 24 varsayılan olarak WebRTC desteği alıyor - Mozilla Hacks - Web geliştirici blogu  " , Mozilla Hacks - Web geliştirici blogunda ( 31 Ekim 2019'da erişildi )
  7. 01net , “  Firefox 24, hemen

    Bu Yazı İçin Teşekkür Ederiz 

    Windows, Linux ve Mac için mevcut  ”
    , 01net'te ( 31 Ekim 2019'da erişildi )
  8. Yohann Poiron , "  Google, geliştirilmiş Omnibox önerileri ve Android'de WebRTC ile Chrome 29'u başlattı  " , BlogNT'de: Yeni Teknolojilere adanmış Blog ,21 Ağustos 2013( 31 Ekim 2019'da erişildi )
  9. (in) "  Herkes için Akıllı çok amaçlı adres çubuğu önerileri  " üzerinde Google Chrome Blog (erişilen 2019 31 Ekim )
  10. Temasys
  11. S. Loreto 2012 , s.  68
  12. Kelimenin tam anlamıyla: Gerçek Zamanlı Medya Akış Protokolü
  13. C. Jennings 2013 , s.  20
  14. P. Rodriguez 2012 , s.  1
  15. (içinde) "  Harald Alvestrand'ın kaynak kodunun Google WebRTC sürümü 2011-05-31 ([email protected], Mayıs 2011'den itibaren)  " , Lists.w3.org ( 12 Eylül 2012'ye erişildi )
  16. Auré, “  Google, tarayıcınızdan görüntülü ve sesli sohbet için WebRTC'yi paylaşıyor  ” , Journaldugeek.com'da ,15 Haziran 2011( Eylül 17, 2020 erişildi ) .
  17. (içinde) "  WebRTC ile tanışın - gerçek zamanlı açık bir iletişim projesi - WebRTC  " , Sites.google.com ( 12 Eylül 2012'ye erişildi )
  18. (içinde) "  WebRTC 1.0: Tarayıcılar Arasında Gerçek Zamanlı İletişim  " , W3.org ( 12 Eylül 2012'ye erişildi )
  19. (içinde) "  Listeye hoş geldiniz! Harald Alvestrand'dan 2011-04-27'de ([email protected], Nisan 2011'den itibaren)  ” , Lists.w3.org,27 Nisan 2011( 12 Eylül 2012'de erişildi )
  20. http://tools.ietf.org/wg/rtcweb/charters?item=charter-rtcweb-2011-05-03.txt
  21. (in) "  Web Üzerinden Özelleştirilebilir, Her Yerde Gerçek Zamanlı İletişim (CU-RTC-Web)  " , Html5labs.com ( 12 Eylül 2012'ye erişildi )
  22. (in) işareti, "  1 Giriş - HTML Standardı  " , Whatwg.org ( 12 Eylül 2012'de erişildi )
  23. (in) "  HTML5'in Ötesinde: Eşler Arası Konuşma Videosu | Ericsson Labs  ” , Labs.ericsson.com ( 12 Eylül 2012'de erişildi )
  24. (tr) http://lists.w3.org/Archives/Public/public-media-capture/2012Dec/att-0159/RecordingProposal.html
  25. (in) "  Rtcweb Durum Sayfaları  " , Tools.ietf.org ( 12 Eylül 2012'ye erişildi )
  26. (in) "  draft-Jesup-rtcweb-data-protocol-00 - WebRTC Veri Kanalı Protokolü  " , Tools.ietf.org (erişim tarihi 12 Eylül 2012 )
  27. S. Loreto 2012 , s.  69
  28. J. Nurminen 2013 , s.  2
  29. http://www.webrtc.org/reference/architecture#TOC-Transport-Session
  30. http://www.webrtc.org/reference/architecture
  31. http://www.webrtc.org/faq#TOC-Network
  32. http://dev.w3.org/2011/webrtc/editor/webrtc.html#peer-to-peer-connections
  33. Kullanıcı Datagram Protokolü
  34. S. Loreto 2012 , s.  71
  35. (içinde) "  Merhaba Chrome, Firefox sizi çağırıyor! - Mozilla Hacks - Web geliştirici blogu  ” , Mozilla Hacks - Web geliştirici blogunda ( 17 Eylül 2020'de erişildi ) .
  36. (içinde) "  Merhaba Firefox, Chrome sizi arıyor!  » , Chromium Blog'da (erişim tarihi 17 Eylül 2020 ) .
  37. Oturum Açıklama Protokolü
  38. (in) "  Oturum Açıklama Protokolü (SDP) ile Model Bir Teklif / Cevap  " İstek yorumlar için n o  3264,Haziran 2002.
  39. C. Jennings 2013 , s.  21
  40. JavaScript Oturum Oluşturma Protokolü, http://tools.ietf.org/html/draft-ietf-rtcweb-jsep-03
  41. 2012
  42. S. Loreto 2012 , s.  70
  43. P. Rodriguez 2012 , s.  2
  44. (in) "  WebRTC API Sosyal Hatta daha sosyal hale getirir - Gelecek Bültenleri  " üzerine gelecek sürümleri (erişilen Eylül 2020 17 ) .
  45. Akış Kontrolü İletim Protokolü
  46. Datagram Taşıma Katmanı Güvenliği
  47. Güvenli Gerçek Zamanlı Aktarım Protokolü
  48. C. Jennings 2013 , s.  23
  49. http://dev.w3.org/2011/webrtc/editor/getusermedia.html#widl-NavigatorUserMedia-getUserMedia-void-MediaStreamConstraints-constraints-NavigatorUserMediaSuccessCallback-successCallback-NavigatorErorCbackMediaMedia
  50. Gerçek Zamanlı Aktarım Protokolü
  51. C. Jennings 2013 , s.  22
  52. (in) "  draft-cbran rtcweb-codec-02 - WebRTC codec bileşeni ve Medya İşleme Gereksinimleri  " , Tools.ietf.org,12 Mart 2012( 12 Eylül 2012'de erişildi )
  53. (in) "  RTP Minimal Kontrollü Ses ve Görüntülü Konferans Profili  " Yorumlar için Request n o  , 3551Temmuz 2003.
  54. (in) "  DTMF Rakamlar, Telefon tonlar ve Telefon Sinyalleri için RTP yükü  " Talep yorumlar için n o  , 4733aralık 2006.
  55. (in) "  Opus Ses Codec tanımı  " Yorumlar için Request n o  6716'ya,Eylül 2012.
  56. (in) "  VP8 destekleniyorsa, bilinear ve none yeniden yapılandırma filtrelerini desteklemesi ZORUNLUDUR  " , Tools.ietf.org,12 Mart 2012( 12 Kasım 2012'de erişildi )
  57. Daniel Roesler , Demo: https://diafygi.github.io/webrtc-ips/ . GitHub üzerinde hesap oluşturarak diafygi / webrtc-ips gelişimine katkıda bulunun ,9 Ocak 2019( çevrimiçi okuyun )
  58. Olumsuz-Teşekkür
  59. İleri Hata Düzeltme
  60. S. Holmer 2013 , s.  1860
  61. S. Holmer 2013 , s.  1861
  62. A. Johnston 2013 , s.  49
  63. A. Johnston 2013 , s.  51
  64. (in) "  Size nasıl yardımcı olabiliriz? - Opera Yardımı  ” , Opera Yardımında ( 17 Eylül 2020'de erişildi ) .
  65. "  WebRTC: Google, tarayıcıdan gerçek zamanlı bir sesli ve görüntülü iletişim çerçevesi yayınlar ve bunu standartlaştırmak için çalışır  " , Developpez.com'da ( 17 Eylül 2020'de erişildi ) .
  66. (içinde) "  Chromium Blog: Chrome'da Gerçek Zamanlı İletişim  " , Blog.chromium.org,18 Ocak 2012( 12 Eylül 2012'de erişildi )
  67. "  Firefox'ta WebRTC desteği: video gösterimi  " , Génération-NT'de ( 17 Eylül 2020'de erişildi ) .
  68. (tr) https://www.mozilla.org/en-US/firefox/18.0/releasenotes/
  69. (tr) https://www.youtube.com/watch?v=S6-rAv6bU8Q
  70. (tr) https://hacks.mozilla.org/2012/11/progress-update-on-webrtc-for-firefox-on-desktop/
  71. (tr) https://hacks.mozilla.org/2012/09/full-webrtc-support-is-soon-coming-to-a-web-browser-near-you/
  72. (tr) https://www.mozilla.org/en-US/firefox/22.0/releasenotes/
  73. (tr) https://hacks.mozilla.org/2013/02/webrtc-enabled-h-264mp3-support-in-win-7-on-by-default-metro-ui-for-windows-8- daha fazla-firefox-geliştirme-vurguları /
  74. (tr) https://blog.mozilla.org/blog/2013/09/17/webrtc-now-available-across-mobile-and-desktop-with-new-firefox-for-android-complete/
  75. (tr) http://www.webrtc.org/firefox#TOC-Firefox-implementation-details
  76. "  WebRTC: Skype'ın Web sürümüne ... daha sonra  " , Génération-NT'de ( 17 Eylül 2020'de erişildi ) .
  77. http://iswebrtcreadyyet.com
  78. (in) "  Ericsson tarafından yayınlanan mobil Deneysel WebRTC tarayıcısı  " ,19 Ekim 2012( 20 Ekim 2012'de erişildi )
  79. (in) "  Ericsson Blog Hoş Geldiniz  " üzerine Ericsson.com (erişilen 2020 17 Eylül ) .
  80. "  Apple, WebRTC'yi Safari'de uygular  " , ZDNet Fransa'da ( 17 Eylül 2020'de erişildi ) .
  81. Vincent Hermann, “  : Kenar WebRTC'de ve Yeni için Onaylanmış Destek Özellikleri Yaratıcıları Güncellemesi Planlı  ” üzerine, NextINpact ,2 Şubat 2017( 2 Şubat 2017'de erişildi ) .
  82. (tr-tr) "  vb HTML5, CSS3, Can I kullanımı ... Destek tabloları  " de caniuse.com (erişilen Ekim 19, 2017 )
  83. (içinde) "  Bir Web RTC Eğitimi | Ericsson Labs  ” , Labs.ericsson.com ( 12 Eylül 2012'de erişildi )
  84. "  Web Gerçek Zamanlı İletişim / Ericsson Labs  " [video] , YouTube'da ( 17 Eylül 2020'de erişildi ) .
  85. http://sipml5.org/
  86. https://code.google.com/p/sipml5/
  87. http://tools.ietf.org/html/draft-ietf-sipcore-sip-websocket
  88. https://whereby.com/
  89. https://talky.io/
  90. "  VROOM'a Hoş Geldiniz !!  » , vroom.im'de ( 21 Temmuz 2015'te erişildi )
  91. http://www.webrtcworld.com/topics/webrtc-world/articles/307673-carriers-may-find-new-opportunities-with-webrtc.htm
  92. “  API Videosu  ” , tokbox.com'da ( 17 Eylül 2020'de erişildi ) .
  93. https://rtccopy.com/
  94. (tr) https://blog.mozilla.org/blog/2013/02/24/webrtc-ringing-a-mobile-phone-near-you/
  95. https://sites.google.com/site/webrtc/faq#TOC-Do-Google-products-use-WebRTC-and-iSAC-
  96. http://blogs.msdn.com/b/interoperability/archive/2012/08/06/customizable-ubiquitous-real-time-communication-over-the-web-cu-rtc-web.aspx
  97. "  Microsoft, Skype'ın eklenti kullanmadan bir web sürümü için WebRTC'ye yönelik tekliflerini W3C'ye sunuyor mu?"  » , Developpez.com'da ( 17 Eylül 2020'de erişildi ) .
  98. "  Next INpact - Günlük BT ve dijital haberler  " , Next INpact'te ( 17 Eylül 2020'de erişildi ) .
  99. (tr) https://www.ietf.org/mail-archive/web/rtcweb/current/msg04953.html
  100. (tr) http://tools.ietf.org/html/draft-cbran-rtcweb-codec-02#section-3.2
  101. (tr) http://www.webrtc.org/blog/webrtcimprovementbetterrealtimevp8andnewrtpprofile kabul edildi
  102. (tr) http://tools.ietf.org/html/draft-ietf-payload-vp8-10#page-3
  103. "  Microsoft: Skype'ın web sürümü için  " üzerine MacGeneration (erişilen Eylül 17, 2020 ) .
  104. (tr) http://html5labs.interoperabilitybridges.com/cu-rtc-web/cu-rtc-web.htm#attributes-2
  105. (tr) http://webrtchacks.com/ietf-finally-made-decision-mandatory-implement-mti-video-codec-webrtc/
  106. (tr) http://html5labs.interoperabilitybridges.com/prototypes/cu-rtc-web-video/cu-rtc-web-video/info