Try Live Demo

WebRTC ve WebRTC Sunucuları

İletişim teknolojileri geliştikçe, internet üzerinde canlı video yayınlamak da gitgide yaygınlaşıyor. İnternet üzerinden yayın yapmakla ilgilenen bir kişi mutlaka WebRTC teknolojisiyle karşılaşacaktır. Çoğu zaman WebRTC’nin yanında WebRTC sunucuları da önemli bir konu olarak karşımıza çıkıyor. Bu yazımızda teknik detaya girmeden WebRTC teknolojisi ve WebRTC sunuculardan bahsedeceğiz.

WebRTC Teknolojisi

WebRTC, basit bir API ile internet tarayıcıları ve mobil uygulamalar için Gerçek-Zamanlı İletişim (RTC) yeteneği sağlayan açık kaynak bir projedir. Yani WebRTC, Web sayfaları içerisinde sesli ve görüntülü iletişimi mümkün kılar. WebRTC özellikle bu amaç için tasarlanmıştır.

WebRTC, tarayıcı ve cihazlar arasında doğrudan gerçek zamanlı medya iletişimi sağlar ve bunu yaparken herhangi bir eklenti (plugin) yüklemenizi de gerektirmez.

WebRTC eşler arasında (peer to peer) çok az gecikmeli iletişim sağlayan bir protokol sunar. Bunu da daha önce dediğimiz gibi eklenti gerektirmeden web tarayıcısı üzerinden sağlamaktadır. Şu anda yaygın olarak kullanılan tarayıcılar (Chrome, Firefox, Safari, Edge, Opera) tarafından desteklenmektedir.

peer2peer 2

WebRTC ile tarayıcı üzerinden birebir iletişim kurulabilir

Neden WebRTC?

WebRTC JavaScript ile tarayıcılar vasıtasıyla hem bilgisayar hem de mobil cihazlarda çalışabliyor. Bunun yanında hem Android hem de iOS için yerel (native) kaynak kodları da mevcut. Gerek tarayıcılar için gerekse mobil platformlar için WebRTC içersisnde kamera ve mikrofondan görüntü ve sesi alma ve oynatma gibi yetenklere sahip. Bu da görüntülü iletişimi mümkün kılıyor. Ayrıca video ve ses dışında veri transferi de sağlıyor. Mesela oyun verileri WebRTC ile aktarılabiliyor.

Aslında video veya canlı yayın için RTMP, HLS ve MPEG_DASH gibi farklı protokoller de var. Ama WebRTC’yi gelecek vadeden bir protokol yapan aşağıdaki kilit özellikleri var:

  • Çok az gecikmeli yayın
  • Eklenti olmaksızın tarayıcıda çalışma
  • Android ve iOS için mobil platform desteği

WebRTC Sunucuları

WebRTC’nin eşler arası iletişim konusunda gerekli ve yeterli özellikleri barındırmasına rağmen daha karmaşık projeler için farklı ihtiyaçlar da gerekebilir. Mesela çevrimiçi (online) eğitim için bir uygulama yapılacasa burada birebir değil birden fazla katılımılı bir iletişim kurulumalıdır. Bu tür gerekleri karşılamak için WebRTC sunuculara ihtiyaç duyulur. İyi bir WebRTC sunucusu aşağıdaki yetenekleri sağlamalıdır:

  • Eşler (peers) arasında iletişim hattının kurulması (WebRTC literatüründe buna sinyalleşme deniyor)
  • Düşük kaliteli bağlantılarda da iletişimin ayakta kalması. Uyumlanabilir görüntü kalitesi bunun için br çözümdür.
  • Bire bir veya çoklu iletişim sağlaması.
  • Yüksek sayıda izleyiciler için ölçeklenebilir olması.
  • Video görüşmesini kaydedebilme gibi fazladan yeteneklere sahip olması.
  • Sinyalleşme için Javascript, Android ve iOS SDK’sı bulunması.
    one2many 2

    Kapsamlı projelerde WebRTC Sunucu kaçınılmazdır

Bir WebRTC Sunucu Olarak Ant Media Server

Ant Media Server RTMP, HLS gibi bir çok önemli yayın protokolünü desteklediği gibi tabi ki WebRTC’yi de desteklemektedir. Ant Media Server WebRTC konusunda dünyadaki en iyi sunuculardan biridir. Yukarıda saydığımız bütün özellilklere sahiptir. Ant Media Server WebRTC yayınlarında ~0.2 saniye mertebesinde az gecikme sağlamaktadır. Eğer gerçek zamanlı yayın konusunu tecrübe etmek isterseniz Ant Media ile bunu test edebilirsiniz.

Kategoriler: Makale

chatsimple