E-Bülten’e kayıt olun

E-Posta:



Video Konferans için Açık Kaynak Çözüm: Jitsi Meet

Jitsi Meet

Video Konferans için Açık Kaynak Çözüm: Jitsi Meet

Pandemiyle birlikte pek çok firma, açık kaynak video konferans çözümleri için kapımızı çaldı. Bu süreçte kullandığımız çözümlerden biri, Jitsi Meet idi.

Pandeminin hayatımızı şekillendirdiği alanlardan birisi de, herhangi bir şeyi uzaktan yapabilmenin algıda yarattığı kırılma oldu. Bu kırılım, video konferans araçlarına olan talebin, astronomik şekilde artışını beraberinde getirdi. Gitgide daha çok sayıda video görüşmesinde buluşunumuz, kendi içinde yeni sorunlara ve yeni inovasyonlara meydan verdi. Elbette ki bütün bunların müşterilerimizden gelen taleplere yansıması kaçınılmaz oldu.

Bir müşterimiz, spor derslerinin birebir veya grup halinde uzaktan yapılabildiği, bir pazar yeri uygulaması fikri ile geldiğinde, ekipçe uygulamanın en kritik özelliği olan video görüşme fonksiyonunu nasıl gerçekleyeceğimizi düşünmeye başladık. Araştırmalarımız, özgür ve açık kaynak kodlu yazılımlar arasında iki aracın öne çıktığını gösterdi: Jitsi Meet ve BigBlueButton.

Jitsi Meet, geliştirilmeye 2003 yılında başlanmış; WebRTC tabanlı, iOS ve Android istemcileri olan uçtan uca bir video konferans uygulaması. Uygulama, ses ve görüntü aktarımının yanı sıra ekran paylaşma, lobi odası, görüşme içi mesajlaşma, görüşme kaydı gibi özellikler de sunuyor. Ücretsiz ve genel kullanıma açık haline, şu anki sahibi 8×8’in barındırdığı, meet.jit.si adresinden ulaşılabilir.

BigBlueButton ise, eğitim çözümleri sunma konusunda deneyimimizden ötürü halihazırda tanışıklığımız olan bir araçtı. Sunum alanı, beyaz tahta, ara oda (breakout rooms) özellikleriyle BigBlueButton, daha çok eğitim odaklı dersler, sunumlar ve sempozyumlar için öne çıkan bir araç. Mobil öncelikli bir HTML5 istemcisi olmasına karşın, native taraf için özel bir çözümü bulunmamakta.

Hem mobil bir uygulama geliştiriyor oluşumuz hem de yapılacak görüşmenin tabiatı nedeniyle, Jitsi Meet bize en doğru çözüm olarak göründü. Yine de değerlendirmemiz gerektiğini düşündüğümüz başka noktalar da vardı.

 

Geliştirme kolaylığı

Çalışacağınız bir aracı seçerken, onun halihazırda kullandığınız diğer araçlarla uyumluluğu önemli bir kriterdir. Biz modern JavaScript’i seven, mobil uygulama geliştirirken React Native kullanmayı tercih eden bir ekibiz. Jitsi Meet’in native component’lerinin ve iş akışının ciddi bir bölümünün React Native ekseninde geliştirilmiş olması, bu bakımdan çok büyük bir artıydı. Kurdukları yapı, bu ortak kod tabanından Native SDK’lar üretiyor olsa da, doğrudan bir React Native API’ı sunmuyor. Bu nedenle, topluluğun geliştirdiği bir araçtan yola çıkarak bir client wrapper’ı kullanmaya karar verdik. Küçük bir API katmanı ile çok sayıda isteri karşılayabilmemiz, Jitsi’nin olgun ve iyi geliştirilmiş bir araç olduğunu bu anlamda bize gösterdi.

 

Jitse Meet ve güvenlik

Müşterimizin ürününde, video görüşmesi çok kritik bir öneme sahip olduğundan, burasının güvenliği bizim için ayrıca önemli bir mesele haline geldi. Jitsi Meet, kısa ömürlü ve görüşme anında yaratılan odaları, JWT ve E2EE desteği ile görüşme güvenliği konusunda önde bir araç. Jitsi’nin XMPP sunucusu olarak kullandığı Prosody’e yazabileceğiniz eklentiler sayesinde, görüşme içi moderasyon mantığını da özelleştirebiliyorsunuz. Biz de, bu özellikleri diğer genel güvenlik yaklaşımları ile harmanlayarak yola çıkmaya hazır bir hale geldik.

 

Jitsi Meet ve ölçeklendirme

Jitsi Meet, varsayılan ayarlarıyla 15 katılımcıya kadar sorunsuz çalışıyor. Daha yüksek sayıda katılımcıyı karşılamak için, duruma göre, hem sunucu hem de istemci tarafında çeşitli ayarlamalar yapmak gerekiyor. BigBlueButton‘ın aksine hem kaynak tüketiminin daha az oluşu hem de ölçeklendirme için harici bir orkestrasyon aracına ihtiyaç duymayışı, Jitsi Meet’i bu konuda görece daha kolay çalışılır bir araç yapıyor. Sunucu tarafında, artan video ve ses trafiğini yönlendirebilmesi için videobridge’i doğru portları dinleyecek şekilde yatay büyütmek gerekiyor. İstemci tarafındaki yüksek CPU kullanımı oluştuğu durumlardaysa, darboğazı çözümlemek için ses seviyesini düzenleme özelliğini kapatmak iyi bir başlangıç olabilir. Her ne kadar biz henüz deneyimlememiş olsak da, topluluk forumlarında 120 kişiyle iyi bir görüşme yapılabildiğine dair bulgular var. Bu konuyla ilgili olarak, Jitsi geliştiricilerinin, ölçeklendirme setup’ı testleri için geliştirdikleri jitsi-meet-torture aracına göz atmanızı tavsiye ederim.

Her ne kadar istemciyi özelleştirme noktasında bazı engeller çıkarması ve kendi içindeki bağımlılık yönetimine yaklaşımı nedeniyle kriptik hatalara sebebiyet verebilmesi gibi negatif yönleri olsa da, Jitsi Meet’in açık kaynak camiasındaki en iyi araçlardan birisi olduğunu söyleyebiliriz.

Hoşça kalın!

Hakan Özdemir

Bilmediği herhangi bir teknolojiyi Hakan'ın eline tutuşturabilirsiniz. Kısa süre içinde o yazılım dilini/aracını öğrenip, kullanmaya başlayabilir. Ona yaptıramayacağınız tek şey, blog yazısı yazdırmak. Yılda bir yazıya bile zor katlanıyor...

1 Yorum

Yorum Yaz

Yorum
İsim
E-Posta
Website