İnternet pencereler Android

WebRTC nedir ve nasıl devre dışı bırakılır. Bir web kamerası ve bir VPS sunucusu webrtc teknolojisi kullanılarak WebRTC çevrimiçi yayını nasıl düzenlenir?

Bugün WebRTC, tarayıcılarda ses ve video akışı için "sıcak" teknolojidir. HTTP Akışı ve Flash gibi muhafazakar teknolojiler, kayıtlı içeriğin (talep üzerine video) dağıtılması için daha uygundur ve gerçek zamanlı ve çevrimiçi yayınlar, örn. minimum video gecikmesinin gerekli olduğu yerlerde, izleyicilerin neler olup bittiğini "canlı" görmelerine olanak tanır.

Yüksek kaliteli gerçek zamanlı iletişim olasılığı, videoyu minimum gecikmelerle iletmek için standart temel olan ve gerçek zamanlı iletişim sistemlerinde yaygın olarak kullanılan video akışlarını taşımak için UDP protokolünün kullanıldığı WebRTC mimarisinin kendisinden gelir.

Canlı akış sistemlerinde, web seminerlerinde ve video kaynağı, son kullanıcılar ve çözümle etkileşimli iletişimin gerekli olduğu diğer uygulamalarda iletişim gecikmesi önemlidir.

WebRTC'yi denemek için bir başka iyi neden de kesinlikle bir trend. Bugün, her Android Chrome tarayıcısı, milyonlarca cihazın herhangi bir ek yazılım ve yapılandırma yüklemeden yayını izlemeye hazır olmasını garanti eden bu teknolojiyi desteklemektedir.

WebRTC teknolojisini çalışırken test etmek ve üzerinde basit bir çevrimiçi yayın başlatmak için Flashphoner WebRTC Media & Broadcasting Server sunucu yazılımını kullandık. Özellikler, birden çoğa modda WebRTC akışlarını yayınlama yeteneğinin yanı sıra RTSP protokolü aracılığıyla IP kameralar ve video gözetim sistemleri desteğini beyan eder; Bu incelememizde web-web yayınları ve özellikleri üzerinde duracağız.

WebRTC Medya ve Yayın Sunucusunun Kurulumu

Windows sistemi için herhangi bir sunucu versiyonu olmadığı ve VMWare + Linux gibi bir sanal makine kurmak istemediğim için evdeki Windows bilgisayarımda online yayınları test edemedim. Zamandan tasarruf etmek için bulut barındırmada şöyle bir örnek almaya karar verdik:

Bir Amsterdam veri merkezinde önceden yüklenmiş herhangi bir yazılım olmayan bir Centos x86_64 sürüm 6.5 idi. Böylece, elimizdeki tek şey bir sunucu ve ona ssh erişimi. Linux konsol komutlarına aşina olanlar için, bir WebRTC sunucusu kurmak kolay ve acısız olmayı vaat ediyor. Peki ne yaptık:

1. Arşivi indir:

$wget https://website/download-wcs5-server.tar.gz

2. Paketi aç:

$tar -xzf indir-wcs5-server.tar.gz

3. Düzenlemek:

$cd FlashphonerWebCallServer

Yükleme sırasında sunucunun IP adresini girin: XXX.XXX.XXX.XXX

4. Lisansı etkinleştir:

$cd /usr/yerel/FlashphonerWebCallServer/bin

$./aktivasyon.sh

5. WCS sunucusunu başlat:

$service webcallserver başlangıcı

6. Kontrol günlüğü:

$tail - f /usr/local/FlashphonerWebCallServer/logs/flashphoner_manager.log

7. İki işlemin yürürlükte olduğunu kontrol edin:

$ps yardımcı | grep Flashfoner

Kurulum işlemi tamamlandı.

WebRTC canlı akışlarını test etme

Yayınları test etmenin basit bir mesele olduğu ortaya çıktı. Sunucuya ek olarak, bir düzine Javascript, HTML ve CSS dosyasından oluşan ve kurulum aşamasında /var/www/html klasörüne tarafımızdan dağıtılan bir web istemcisi vardır. Yapılması gereken tek şey, sunucunun IP adresini flashphoner.xml yapılandırmasına girmekti, böylece web istemcisi sunucuyla HTML5 Websockets aracılığıyla bir bağlantı kurabilirdi. Test sürecini açıklayalım.

1. Test istemcisinin index.html sayfasını Chrome tarayıcısında açın:

2. Yayına başlamak için ekranın ortasında bulunan "Başlat" butonuna tıklamanız gerekmektedir.
Bunu yapmadan önce, web kamerasının bağlı ve kullanıma hazır olduğundan emin olmanız gerekir. Bir web kamerası için özel gereksinimler yoktur, örneğin, 1280 × 800 çözünürlüğe sahip standart bir yerleşik dizüstü bilgisayar kamerası kullandık.

Chrome tarayıcı, kullanıcının videosunun İnternet sunucusuna gönderileceğini anlaması ve buna izin vermesi için kesinlikle kamera ve mikrofona erişim isteyecektir.

3. Arayüz, video akışının kameradan WebRTC sunucusuna başarılı bir şekilde yayınlanmasını temsil eder. Sağ üst köşedeki gösterge, akışın sunucuya gittiğini gösterir, alt köşede video göndermeyi durdurmak için "Durdur" düğmesi vardır.

Aşağıdaki bağlantıya bir göz atın. Bu akış için benzersiz bir tanımlayıcı içerir, böylece herkes görünüme katılabilir. Bu bağlantıyı bir tarayıcıda açmanız yeterlidir. Panoya kopyalamak için "Kopyala" düğmesine tıklamanız gerekir.

Web seminerleri, dersler, çevrimiçi video yayınları veya etkileşimli TV gibi gerçek uygulamalarda, geliştiriciler, istenen akışlara bağlanabilmeleri için bu tanımlayıcının belirli izleyici gruplarına dağıtımını uygulamak zorunda kalacaklar, ancak uygulamanın mantığı bu. WebRTC Medya ve Yayın Sunucusu etkilemez, sadece videonun dağıtımını ele alır.

5. Bağlantı kurulur ve izleyici akışı ekranda görür. Artık sağ alt köşedeki kontrolleri kullanarak bağlantıyı başka birine gönderebilir, akış oynatmayı durdurabilir veya tam ekran modunu etkinleştirebilir.

Çevrimiçi yayınlar için WebRTC sunucu test sonuçları

Testler sırasında gecikme mükemmel görünüyordu. Veri merkezine ping yaklaşık 100 milisaniyeydi ve gecikme gözle görülmüyordu. Buradan, tamponlama süresi için gerçek gecikmenin aynı 100 artı veya eksi birkaç on milisaniye olduğunu varsayabiliriz. Flash video ile karşılaştırıldığında, Flash bu testlerde WebRTC kadar iyi performans göstermez. Yani elinizi benzer bir ağda hareket ettirirseniz, ekrandaki hareket ancak bir / iki saniye sonra görülebilir.

Kalite ile ilgili olarak, bazen hareketlerde küpleri ayırt edebileceğinizi not ediyoruz. Bu, VP8 codec bileşeninin doğasına uygundur ve ana hedefi, kabul edilebilir kalitede ve iletişim gecikmeleri olmadan gerçek zamanlı video iletişimi sağlamaktır.

Sunucunun kurulumu ve yapılandırması oldukça kolaydır, çalıştırmak için herhangi bir ciddi beceri gerektirmez, ssh aracılığıyla konsoldan komutları yürütebilen ve bir metin düzenleyicisi kullanabilen ileri düzey bir kullanıcı düzeyinde Linux bilgisi dışında. Sonuç olarak, tarayıcılar arasında birden çoğa çevrimiçi yayın kurmayı başardık. Ek izleyicileri akışa bağlamak da sorunlara neden olmadı.

Yayın kalitesi, web seminerleri ve çevrimiçi yayınlar için oldukça kabul edilebilir çıktı. Bazı sorulara neden olan tek şey videonun çözünürlüğü oldu. Kamera 1280x800'ü destekliyor ancak test resmindeki çözünürlük 640x480'e çok benziyor. Görünüşe göre, bu sorunun geliştiricilerle açıklığa kavuşturulması gerekiyor.

Bir web kamerasından yayın testiyle ilgili video
WebRTC sunucusu aracılığıyla

WebRTC (Web Gerçek Zamanlı İletişim), akışlı ses verilerinin, video verilerinin ve içeriğin tarayıcıdan ve tarayıcıya eklentiler veya başka uzantılar kurulmadan gerçek zamanlı olarak aktarılmasını açıklayan bir standarttır. Standart, tarayıcıyı bir video konferans terminaline dönüştürmenize izin verir, iletişimi başlatmak için bir web sayfası açmanız yeterlidir.

WebRTC nedir?

Bu yazıda, ortalama bir kullanıcı için WebRTC teknolojisi hakkında bilinmesi gereken her şeyi ele alacağız. Projenin avantajlarını ve dezavantajlarını ele alalım, bazı sırları açığa çıkaralım, nasıl çalıştığını, WebRTC'nin nerede ve ne için kullanıldığını anlatalım.

WebRTC hakkında bilmeniz gerekenler nelerdir?

Video standartlarının ve teknolojilerinin gelişimi

Sergey Yutsaitis, Cisco, Video+Konferans 2016

WebRTC nasıl çalışır?

İstemci tarafında

  • Kullanıcı, HTML5 etiketi içeren bir sayfa açar
  • Tarayıcı, kullanıcının web kamerasına ve mikrofonuna erişim talep eder.
  • Kullanıcı sayfasındaki JavaScript kodu, NAT ve Güvenlik Duvarını atlamak için bağlantı parametrelerini (WebRTC sunucusunun veya diğer WebRTC istemcilerinin IP adresleri ve bağlantı noktaları) kontrol eder.
  • Muhatap hakkında veya sunucuda karıştırılan konferansla akış hakkında bilgi alırken, tarayıcı kullanılan ses ve video codec bileşenlerini görüşmeye başlar.
  • WebRTC istemcileri arasında (bizim durumumuzda, tarayıcı ve sunucu arasında) kodlama ve veri akışı süreci başlar.

WebRTC sunucu tarafında

İki katılımcı arasındaki veri alışverişi için bir video sunucusu gerekli değildir, ancak birkaç katılımcıyı bir konferansta birleştirmek istiyorsanız, bir sunucu gereklidir.



Video sunucusu, çeşitli kaynaklardan medya trafiğini alacak, dönüştürecek ve WebRTC'yi terminal olarak kullanan kullanıcılara gönderecektir.

WebRTC sunucusu ayrıca WebRTC eşlerinden medya trafiği alacak ve varsa masaüstü veya mobil uygulamaları kullanarak konferans katılımcılarına iletecektir.

standardın faydaları

  • Yazılım yüklemesi gerekmez.
  • Şunlar sayesinde çok yüksek iletişim kalitesi:
    • Modern video (VP8, H.264) ve ses codec'lerinin (Opus) kullanımı.
    • Akış kalitesinin bağlantı koşullarına göre otomatik olarak ayarlanması.
    • Dahili yankı ve gürültü giderme.
    • Katılımcıların mikrofonlarının (AGC) otomatik seviye kontrolü.
  • Yüksek düzeyde güvenlik: tüm bağlantılar güvenlidir ve TLS ve SRTP protokollerine göre şifrelenir.
  • İçeriği yakalamak için masaüstü gibi yerleşik bir mekanizma vardır.
  • HTML5 ve JavaScript tabanlı herhangi bir kontrol arayüzünü uygulayabilme.
  • Arabirimi WebSockets kullanarak herhangi bir arka uç sistemle entegre etme yeteneği.
  • Açık kaynaklı bir proje - onu ürününüze veya hizmetinize yerleştirebilirsiniz.
  • Gerçek çapraz platform: Aynı WebRTC uygulaması, tarayıcının WebRTC'yi desteklemesi koşuluyla, masaüstü veya mobil herhangi bir işletim sisteminde eşit derecede iyi çalışacaktır. Bu, yazılım geliştirme için çok fazla kaynak tasarrufu sağlar.

standardın dezavantajları

  • Grup sesli ve görüntülü konferansları düzenlemek için, video ve sesi katılımcılardan karıştıracak bir video konferans sunucusu gereklidir, çünkü tarayıcı birden fazla gelen akışı birbiriyle nasıl senkronize edeceğini bilmiyor.
  • Tüm WebRTC çözümleri birbiriyle uyumsuzdur, çünkü standart, yalnızca video ve ses iletme yöntemlerini açıklayarak, abonelere hitap etme, uygunluklarını izleme, mesaj ve dosya alışverişi, programlama ve diğer şeyleri satıcıya bırakma yöntemlerinin uygulanmasını bırakır.
  • Yani bir geliştiricinin WebRTC uygulamasından başka bir geliştiricinin WebRTC uygulamasına çağrı yapamayacaksınız.
  • Karma grup konferansları çok fazla bilgi işlem kaynağı gerektirir, bu nedenle bu tür görüntülü iletişim, ücretli bir abonelik satın almayı veya altyapısına yatırım yapmayı gerektirir; burada her konferans, modern bir işlemcinin 1 fiziksel çekirdeğini gerektirir.

WebRTC Sırları: Satıcılar Yıkıcı Web Teknolojisinden Nasıl Yarar Sağlar?


Tzachi Levent-Levi, Bloggeek.me, Video+Konferans 2015

Video konferans pazarı için WebRTC

Video konferans terminallerinin sayısında artış

WebRTC teknolojisi, video konferans pazarının gelişimi üzerinde güçlü bir etkiye sahip olmuştur. 2013 yılında WebRTC destekli ilk tarayıcıların piyasaya sürülmesinden sonra, dünya çapındaki potansiyel video konferans terminali sayısı hemen 1 milyar cihaz arttı. Aslında her tarayıcı, iletişim kalitesi açısından donanım muadillerinden aşağı olmayan bir video konferans terminali haline geldi.

Özel çözümlerde kullanın

Çeşitli JavaScript kitaplıklarının ve bulut hizmeti API'lerinin WebRTC desteğiyle kullanılması, herhangi bir web projesine video desteği eklemeyi kolaylaştırır. Geçmişte, gerçek zamanlı veri iletimi, geliştiricilerin protokollerin nasıl çalıştığını öğrenmelerini ve diğer şirketlerin çalışmalarını kullanmalarını gerektiriyordu, bu da çoğu zaman ek lisanslama gerektiriyor ve bu da maliyetleri artırıyordu. WebRTC halihazırda “Siteden arama”, “Çevrimiçi destek sohbeti” vb. servislerde aktif olarak kullanılmaktadır.

Linux için Skype'ın eski kullanıcıları

2014 yılında Microsoft, BT uzmanları arasında büyük sıkıntıya neden olan Linux için Skype projesine desteğin sona erdiğini duyurdu. WebRTC teknolojisi işletim sistemine bağlı değildir, ancak tarayıcı düzeyinde uygulanır, yani. Linux kullanıcıları, WebRTC tabanlı ürün ve hizmetleri tam teşekküllü bir Skype ikamesi olarak görebilecekler.

Flash ile Yarışma

WebRTC ve HTML5, zaten en iyi yıllarından çok uzakta olan Flash teknolojisi için ölümcül bir darbe oldu. 2017'den beri, önde gelen tarayıcılar Flash'ı desteklemeyi resmen durdurdu ve teknoloji sonunda piyasadan kayboldu. Ancak Flash'a kredi vermelisiniz, çünkü web konferans pazarını yaratan ve tarayıcılarda canlı iletişim için teknik yetenekler sunan oydu.

WebRTC video sunumları

Dmitry Odintsov, TrueConf, Video+Konferans Ekim 2017

WebRTC'deki kodekler

Ses codec'leri

WebRTC'de ses trafiğini sıkıştırmak için Opus ve G.711 codec'leri kullanılır.

G.711- geleneksel telefon sistemlerinde en sık kullanılan, yüksek bit hızına (64 kbps) sahip en eski ses codec'i. Ana avantaj, hafif sıkıştırma algoritmalarının kullanılması nedeniyle minimum hesaplama yüküdür. Codec, ses sinyallerinin düşük düzeyde sıkıştırılmasına sahiptir ve kullanıcılar arasındaki iletişim sırasında ek ses gecikmesi sağlamaz.

G.711, çok sayıda cihaz tarafından desteklenir. Bu codec bileşenini kullanan sistemlerin kullanımı, diğer ses codec bileşenlerine (G.723, G.726, G.728, vb.) dayalı olanlardan daha kolaydır. Kalite açısından G.711, MOS testinde 4,2 puan almıştır (4-5 puan en yüksek puandır ve iyi kalite anlamına gelir, ISDN'deki ses trafiğinin kalitesine benzer ve hatta daha yüksek).

başyapıt düşük kodlama gecikme süresine (2,5 ms'den 60 ms'ye), değişken bit hızı desteğine ve değişken bant genişliğine sahip ağlar üzerinden ses akışı için ideal olan yüksek sıkıştırmaya sahip bir codec bileşenidir. Opus, SILK (Voice Compression, Human Speech Distortion Elimination) ve CELT (Audio Data Encoding) kodeklerinin en iyi özelliklerini birleştiren hibrit bir çözümdür. Codec ücretsiz olarak mevcuttur, onu kullanan geliştiricilerin telif hakkı sahiplerine telif ödemesi gerekmez. Diğer ses codec'leriyle karşılaştırıldığında, Opus kesinlikle birçok yönden kazanır. MP3, Vorbis, AAC LC gibi oldukça popüler düşük bit hızlı codec'leri gölgede bıraktı. Opus, sesin "resmini" orijinaline AMR-WB ve Speex'ten daha yakın olarak geri yükler. Bu codec bileşeni gelecek, bu nedenle WebRTC teknolojisinin yaratıcıları onu zorunlu desteklenen ses standartları aralığına dahil ettiler.

Video codec'leri

WebRTC için bir video codec bileşeni seçme sorunları, geliştiricilerin birkaç yılını aldı ve sonunda H.264 ve VP8 kullanmaya karar verdiler. Hemen hemen tüm modern tarayıcılar her iki codec bileşenini de destekler. Video konferans sunucularının WebRTC ile çalışması için yalnızca birini desteklemesi gerekir.

VP8 yüksek video akışı kod çözme hızına ve çerçeve kaybına karşı artırılmış dirence sahip, açık lisanslı ücretsiz bir video codec bileşenidir. Codec evrenseldir, donanım platformlarına uygulanması kolaydır, bu nedenle video konferans sistemi geliştiricileri onu ürünlerinde sıklıkla kullanır.

Ücretli video codec'i H.264 kardeşinden çok daha erken tanındı. Bu, yüksek video kalitesini korurken video akışının yüksek derecede sıkıştırılmasına sahip bir codec bileşenidir. Donanım video konferans sistemleri arasında bu codec bileşeninin yüksek yaygınlığı, WebRTC standardında kullanıldığını düşündürmektedir.

Google ve Mozilla, VP8 codec bileşenini aktif olarak tanıtırken, Microsoft, Apple ve Cisco, H.264'ü (geleneksel video konferans sistemleriyle uyumluluğu sağlamak için) aktif olarak tanıtmaktadır. Ve burada bulut tabanlı WebRTC çözümlerinin geliştiricileri için çok büyük bir sorun ortaya çıkıyor, çünkü konferanstaki tüm katılımcılar bir tarayıcı kullanıyorsa, o zaman konferansı bir codec ile bir kez karıştırmak yeterlidir ve tarayıcılar farklıysa ve aralarında Safari / Edge ise, konferansın iki kez farklı codec bileşenleriyle kodlanması gerekecektir, bu da medya sunucusu için sistem gereksinimlerini ve sonuç olarak WebRTC hizmetlerine abonelik maliyetini ikiye katlayacaktır.

WebRTC API'si

WebRTC teknolojisi üç ana API'ye dayanmaktadır:

  • (web tarayıcısının kameralardan veya kullanıcının masaüstünden ses ve video sinyallerini almasından sorumludur).
  • RTCPeerConnection(kameradan, mikrofondan ve masaüstünden alınan medya verilerinin "alışverişi" için tarayıcılar arasındaki bağlantıdan sorumludur. Ayrıca, bu API'nin "görevleri" arasında sinyal işleme (onu dış gürültüden temizleme, mikrofon sesini ayarlama) ve kontrol yer alır. kullanılan ses ve video codec bileşenleri üzerinden).
  • RTC Veri Kanalı(kurulan bir bağlantı üzerinden iki yönlü veri aktarımı sağlar).

Tarayıcı, kullanıcının mikrofonuna ve kamerasına erişmeden önce bu izni ister. Google Chrome'da, "Ayarlar" bölümünde erişimi önceden yapılandırabilirsiniz, Opera ve Firefox'ta, cihaz seçimi doğrudan açılır listeden erişim sırasında gerçekleştirilir. İzin isteği, HTTP protokolü kullanılırken her zaman ve HTTPS kullanılıyorsa bir kez görünür:


RTCPeerConnection. Bir WebRTC konferansına katılan her tarayıcının bu nesneye erişimi olmalıdır. RTCPeerConnection kullanımı sayesinde, bir tarayıcıdan diğerine medya verileri NAT ve güvenlik duvarlarından bile geçebilir. Medya akışlarını başarılı bir şekilde iletmek için, katılımcıların web soketleri gibi bir aktarım kullanarak aşağıdaki verileri değiş tokuş etmesi gerekir:

  • başlatan katılımcı, ikinci katılımcıya bir Offer-SDP (ileteceği medya akışının özelliklerine sahip veri yapısı) gönderir;
  • ikinci katılımcı bir "yanıt" - Cevap-SDP oluşturur ve bunu başlatana gönderir;
  • ardından, varsa (katılımcılar NAT veya güvenlik duvarlarının arkasındaysa) katılımcılar arasında bir ICE aday değişimi düzenlenir.

Katılımcılar arasındaki bu alışverişin başarıyla tamamlanmasının ardından doğrudan medya akışlarının (ses ve görüntü) aktarımı organize edilir.

RTC Veri Kanalı. Veri Kanalı protokolü desteği nispeten yakın zamanda tarayıcılarda ortaya çıktı, bu nedenle bu API yalnızca WebRTC'nin Mozilla Firefox 22+ ve Google Chrome 26+ tarayıcılarda kullanıldığı durumlarda düşünülebilir. Bununla, katılımcılar tarayıcıda kısa mesaj alışverişinde bulunabilirler.

WebRTC bağlantısı

Desteklenen masaüstü tarayıcıları

  • Google Chrome (17+) ve Chromium motorunu temel alan tüm tarayıcılar;
  • Mozilla Firefox (+18);
  • Opera (12+);
  • Safari (11+);

Android için desteklenen mobil tarayıcılar

  • Google Chrome (28+);
  • Mozilla Firefox (24+);
  • Opera Mobil (12+);
  • Safari (11+).

WebRTC, Microsoft ve Internet Explorer

Microsoft, çok uzun bir süre Internet Explorer'da ve yeni Edge tarayıcısında WebRTC desteği konusunda sessiz kaldı. Redmond'daki adamlar, teknolojiyi kontrol etmedikleri kullanıcıların eline vermekten gerçekten hoşlanmıyorlar, bu tür bir politika. Ama yavaş yavaş işler yerden kalktı, çünkü. Artık WebRTC'yi görmezden gelmek mümkün olmadı ve WebRTC standardından türetilen ORTC projesi duyuruldu.

Geliştiricilere göre ORTC, WebRTC standardının, JavaScript ve HTML5'e dayalı geliştirilmiş bir API kümesine sahip bir uzantısıdır; bu, sıradan dile çevrildiğinde her şeyin aynı olacağı anlamına gelir, standardı Google değil yalnızca Microsoft kontrol eder. ve gelişimi. Kodek seti, telefon ve donanım video konferans sistemlerinde kullanılan H.264 ve bazı G.7XX serisi ses kodlayıcı desteği ile genişletildi. Belki de yerleşik RDP (içerik aktarımı için) ve mesajlaşma desteği olacaktır. Bu arada, Internet Explorer kullanıcılarının şansı kalmadı, ORTC desteği yalnızca Edge'de olacak. Ve elbette, böyle bir protokol ve codec seti Skype Kurumsal'a çok az kanla uyar ve bu da WebRTC için daha da fazla iş uygulaması açar.

Merhaba arkadaşlar, zaten bildiğiniz gibi, sizi düzenli olarak yeni teknolojilerle güncelliyoruz, bugün Google tarafından geliştirilen ve kullanıcıların eklentilerin - Web sitelerinin veya uygulamaların kullanımına gerek duymadan doğrudan tarayıcıda video ve ses konuşmasına olanak tanıyan bir teknoloji olan WebRTC'yi tanıtacağım. . Kullanıcılar arasındaki video ve ses doğrudan bağlantısı doğrudan tarayıcıda gerçekleşir.
WebRTC teknolojisi Mozilla Firefox tarayıcılarında Google Chrome'da desteklenir ve herhangi bir işletim sisteminde Opera yakında katılacaktır.
WebRTC nedir ve ne?
WebRTC, Web Real Time Communication'ın kısaltmasıdır, bu teknoloji, bunun için İnternet'teki başka eklentilere, uygulamalara veya hizmetlere ihtiyaç duymadan doğrudan tarayıcıda sesli ve görüntülü sohbetler açmanıza olanak tanır. Bağlantı doğrudan tarayıcıdan tarayıcıya yapılır.
Bilinen hizmetlerin (Skype, Yahoo Messenger, Apple FaceTime, Google Hago, vb.) trafiği başlatmak ve yönetmek için kullanıcıları birbirine bağlayan bir sunucu gerektirdiği durumlarda. Bu hizmetleri kullanarak kayıt olmamız ve bir müşteri ve kişi listesi oluşturmamız gerekiyor.
WebRTC ile sunuculara, uygulamalara veya araya girmek için bağlanan sunuculara ihtiyacımız yok.
WebRTC avantajları:
1. Artık kaynak ve pil tüketimi tüketen uygulamalar yok.
2. Sohbetler daha özeldir (nispeten).
3. İletişim, yerel bağlantılar için Flos ABD sunucuları yerine yerel olarak yapılabilir.
4. Sadelik, kullanım kolaylığı.
5. Daha fazla gelişme olasılığı ve diğer yönler.
6. İletişim kararlıdır ve bazen son derece kararsız olan harici bağlantılara bağlı değildir.
Eğitimde, Google'daki kişilerin geliştirdiği bir demo kullandım, bu demo oldukça basit, daha gelişmiş özellikler ve daha hızlı bağlantılar, WebRTC'yi destekleyen uygulamalardan birini kullanabilir, bunların kullanımı daha kolaydır. Yakında WebRTC uygulamaları hakkında da bir eğitim yapacağız.
WebRTC demosu nasıl kullanılır?
Çok basit bir şekilde aşağıdaki bağlantıya tıklayın, otomatik olarak bir sohbet oluşturur. bu odayı bağlamak için, iletişime geçmek istediğiniz bir arkadaşınızı / kız arkadaşınızı göndermelisiniz.
Bir arkadaşınız / kız arkadaşınız ve sizinki, ancak yalnızca Mozilla Firefox veya Google Chrome'un en son sürümlerini kullanmalısınız.

Demo WebRTC(Tanıtım amaçlı sohbet sesli - görüntülü)

Dikkat:
Demo çok kararlı değil, sadece tanıtım amaçlı yapılmıştır. Küçük bağlantı hatalarının oluşabileceği sınırlı bir süre için kullanılabilir.
Bağlantı sorunları yaşıyorsanız farklı bir sohbet oluşturmayı deneyin.

Avrupalı ​​İnternet kullanıcıları ikiye ayrılıyor: Allenbach'taki (Almanya) Kamuoyu Analizi Enstitüsü tarafından yapılan bir ankete göre, Skype, sohbet ve anında mesajlaşma sistemleri 16,5 milyon yetişkin ve çocuk, 9 milyon bu hizmetleri tek tek kullanın ve 28 milyon kişi bunlara dokunmayın.

Durum değişebilir, çünkü artık Firefox entegre edilmiştir gerçek zamanlı iletişim teknolojisi (WebRTC), hem de müşterinin kendisi. Sesli ve görüntülü sohbet başlatmak artık bir web sitesi açmaktan daha zor değil. Facebook ve Skype gibi hizmetler ise ayrı bir müşteri kullanarak ve bir hesap oluşturarak çözümlere dayanır.

WebRTC'nin kullanımı sadece kolay değildir. Bu yöntem, ayarlamanıza bile izin verir. iki tarayıcı arasında doğrudan bağlantı. Böylece, ses ve video verileri, aşırı yüklenmenin olabileceği veya yöneticisinin gizlilik veya veri koruması konusunda özellikle hassas olmadığı bir sunucudan geçmez. Doğrudan bağlantı ile WebRTC, herhangi bir hizmette kayıt veya hesap gerektirmez.

Bir sohbet başlatmak için sadece bağlantıyı takip etmeniz yeterlidir. İletişim gizli kalırçünkü veri akışı şifrelenmiştir. Tarayıcı üzerinden gerçek zamanlı iletişim, Google, WebRTC uygulamasının kaynak kodunu yayınladığı 2011 yılında aktif olarak devreye girmeye başladı.

Kısa bir süre sonra, Chrome ve Firefox kendi WebRTC motorlarını aldı. Şu anda, mobil versiyonları hem bu teknolojiyle hem de uygulamalar tarafından kullanılan Android 5.0 yüklü WebView 3.6 motoruyla donatılmıştır.

Gerçek zamanlı iletişim için, web görüntüleyicide uygun JavaScript arayüzleri uygulanmalıdır. GetUserMedia ile yazılım, ses ve video kaynaklarından, yani web kamerası ve mikrofondan yakalama sağlar. RTCPeerConnection, iletişimin kendisinin yanı sıra bağlantının kurulmasından da sorumludur.

Tarayıcı entegrasyonuna paralel olarak, World Wide Web Konsorsiyumu (W3C) çalışma grubu, WebRTC standardizasyon sürecini zorlamaktadır. 2015 yılında tamamlanması gerekmektedir.

WebRTC çok az şeyle yetiniyor

Sunucu yalnızca arkadaşları birbirine bağladığından, WebRTC hizmetini kullanmak çok fazla kaynak gerektirmez. Bir bağlantı kurmak da özellikle zor değil. İlk olarak, tarayıcı WebRTC sunucusuna bir çağrı başlatmayı planladığını bildirir. Sunucudan bir HTTPS bağlantısı alır - bağlantı şifrelenir. Kullanıcı bu bağlantıyı muhatabına gönderir. Tarayıcı daha sonra kullanıcıdan web kamerasına ve mikrofona erişim izni ister.

Karşı tarafla doğrudan akış bağlantısı kurmak için tarayıcı, IP adresini ve yapılandırma verilerini WebRTC hizmetinden alır. Arkadaşın web tarayıcısı da aynısını yapar.

Akış bağlantısının sorunsuz ve kaliteli çalışması için tarayıcıda üç motor çalışır. İkisi ses ve video verilerini optimize eder ve sıkıştırır, üçüncüsü bunların taşınmasından sorumludur. aracılığıyla veri gönderir SRTP protokolü(Güvenli Gerçek Zamanlı Aktarım Protokolü), gerçek zamanlı şifrelenmiş akışa izin verir.

Doğrudan bağlantı başarısız olursa, WebRTC başka bir yol arar. Örneğin bu, ağ ayarları STUN sunucusunun IP adresini bildirmesini engellediğinde olur. WebRTC standardı, bu durumda konuşmanın gerçekleşeceğini, ancak TURN sunucusunun ara dahil edilmesiyle (NAT Etrafında Aktarma Kullanarak Geçiş) şart koşar. Böylece, netscan.co web sitesinde, WebRTC'nin bilgisayarınızda uygulanıp uygulanmadığını ve Web'e erişiminizle kontrol edebilirsiniz.

bağlantı nasıl yapılır

Öncelikle bir görüşme kaydetmeniz gerekir (1). WebRTC hizmeti, muhataplara gönderilmesi gereken bir bağlantı sağlar. Tarayıcı, STUNserver'ı kullanarak kendi IP adresini bulur (2), bunu hizmete gönderir ve doğrudan bağlantı kurmak için ortağın IP'sini alır (3). STUN başarısız olursa, görüşme TURNserver (4) kullanılarak yeniden yönlendirilir.

Tarayıcıda WebRTC teknolojisini kullanan iletişim, JavaScript kodu kullanılarak başlatılır. Bundan sonra, iletişimden üç motor sorumludur: ses ve video motorları, web kamerası ve mikrofondan multimedya verilerini toplar ve aktarım motoru, bilgileri birleştirir ve Güvenli Gerçek Zamanlı Protokolü (SRTP) kullanarak akışı şifrelenmiş biçimde gönderir.

Hangi tarayıcılar WebRTC ile çalışır?

Chrome ve Firefox, talky.io gibi hizmetleri kullanan bir WebRTC motoruyla donatılmıştır. Mozilla tarayıcısı doğrudan kendi istemcisiyle çalışabilir.

Google ve Mozilla, gerçek zamanlı iletişim fikrini geliştirmeye devam ediyor: Chrome, birden fazla katılımcının yer aldığı bir WebRTC konferansına ev sahipliği yapabilir ve Firefox'taki yeni Hello istemcisi, telekomünikasyon devi Telefonica'nın bir yan kuruluşunun yardımıyla geliştirildi. Apple şimdilik kenarda kalıyor, henüz WebRTC'yi Safari'de beklememelisiniz. Ancak, Safari için pek çok alternatif iOS uygulaması ve eklentisi var.

Microsoft biraz farklı bir yol izliyor. Rekabetçi Skype hizmetinin sahibi olarak bu şirket, WebRTC'ye o kadar kolay teslim olmayacak. Bunun yerine Microsoft, Internet Explorer için ORTC (Object Real-Time Communications) adlı bir teknoloji geliştiriyor.

Sunucuyla bağlantı kurmak için farklı codec'ler ve protokoller gibi WebRTC'den farklılıklar küçüktür ve zaman içinde büyük olasılıkla bu farklılıkları içerecek olan WebRTC standardına ek olacaktır. Böylece, her zamanki gibi sadece Apple geride kalır.

Fotoğraf:Üretim şirketleri; goodluz/Photolia.com