
Canlı yayın nedir?
Yayın, birinin internet üzerinden video izlerken kullandığı veri iletim yöntemidir. Genellikle uzak bir depolama konumundan, video dosyasını parça parça iletmenin bir yoludur. Dosyanın birkaç saniyelik bölümünü internet üzerinden ileterek, istemci cihazların oynatmaya başlamadan önce videonun tamamını indirmesine gerek kalmaz.
Canlı yayın, yayınlanan videonun önceden kaydedilip depolanmadan, gerçek zamanlı olarak internet üzerinden gönderilmesidir. Günümüzde TV yayınları, video oyun yayınları ve sosyal medya videoları canlı olarak yayınlanabilir.
Normal yayın ile canlı yayın arasındaki farkı, ezberlenmiş bir monologu okuyan bir oyuncu ile doğaçlama bir konuşma yapan bir oyuncu arasındaki fark olarak düşünün. İlkinde, içerik önceden oluşturulur, depolanır ve ardından izleyiciye iletilir. İkincisinde ise, izleyici içeriği oyuncunun onu oluşturduğu anda alır – tıpkı canlı yayında olduğu gibi.
Canlı yayın terimi genellikle yayın canlı akışlarını ifade eder: birden fazla kullanıcıya aynı anda giden bire çoklu bağlantılar. Skype, FaceTime ve Google Hangouts Meet gibi video konferans teknolojileri, çoklu katılımcılı canlı yayınlarda kullanılan protokoller yerine gerçek zamanlı iletişim (RTC) protokolleri üzerinde çalışır.
Canlı yayın teknik düzeyde nasıl çalışır?
Canlı yayının perde arkasında gerçekleşen ana adımlar şunlardır:
Sıkıştırma
Kodlama
Segmentasyon
İçerik dağıtım ağı (CDN) dağıtımı
CDN önbellekleme
Kod çözme
Video oynatma
Video yakalama
Canlı yayın, ham video verileriyle başlar: bir kamera tarafından yakalanan görsel bilgiler. Kameranın bağlı olduğu bilgisayar cihazında, bu görsel bilgiler dijital veri olarak temsil edilir – başka bir deyişle, en derin düzeyde 1'ler ve 0'lar.
Sıkıştırma ve kodlama
Ardından, segmentlenmiş video verileri sıkıştırılır ve kodlanır. Veriler, gereksiz görsel bilgiler kaldırılarak sıkıştırılır. Örneğin, videonun ilk karesinde gri bir arka plana karşı konuşan bir kişi gösteriliyorsa, aynı arka plana sahip sonraki kareler için gri arka planın tekrar oluşturulmasına gerek yoktur.Video sıkıştırmayı, oturma odasına yeni bir mobilya parçası eklemek gibi düşünün. Yeni bir sandalye veya sehpa eklendiğinde her seferinde tamamen yeni mobilya satın almak gerekmez. Bunun yerine, oda düzenini kabaca aynı tutmak ve her seferinde yalnızca bir parçayı değiştirmek, gerektiğinde daha büyük düzenlemeler yapmak mümkündür. Benzer şekilde, bir video akışının her karesinin tamamen işlenmesi gerekmez; yalnızca kareler arasında değişen kısımlar, örneğin bir kişinin ağzının hareketi gibi, işlenmelidir.
"Kodlama", verilerin yeni bir biçime dönüştürülmesi sürecini ifade eder. Canlı yayın video verileri, çok çeşitli cihazların tanıdığı yorumlanabilir bir dijital biçime kodlanır. Yaygın video kodlama standartları şunlardır:
H.264
H.265
VP9
AV1
Bölümlendirme
Video, çok fazla dijital bilgi içerir; bu nedenle bir video dosyasını indirmek, kısa bir PDF veya bir resim indirmekten daha uzun sürer. Tüm video verilerini internet üzerinden aynı anda göndermek pratik olmayacağından, akış halindeki videolar birkaç saniyelik daha küçük bölümlere ayrılır.
CDN dağıtımı ve önbellekleme
Canlı yayın bölümlendirildikten, sıkıştırıldıktan ve kodlandıktan sonra (ki bunların hepsi sadece birkaç saniye sürer), onu izlemek isteyen onlarca veya milyonlarca izleyiciye sunulması gerekir. Akışı farklı konumlardaki birden fazla izleyiciye sunarken minimum gecikmeyle yüksek kaliteyi korumak için, bir CDN tarafından dağıtılmalıdır.CDN, bir kaynak sunucu adına içeriği önbelleğe alan ve sunan dağıtılmış bir sunucu ağıdır. CDN kullanmak daha hızlı performans sağlar, çünkü kullanıcı istekleri artık kaynak sunucuya kadar gitmek zorunda kalmaz, bunun yerine yakındaki bir CDN sunucusu tarafından işlenebilir. İstekleri bu şekilde işlemek ve içeriği sunmak, kaynak sunucunun iş yükünü de azaltır. Son olarak, CDN'ler sunucuları tek bir coğrafi alanda kümelenmek yerine dünyanın her yerinde bulunduğundan, içeriği dünyanın dört bir yanındaki kullanıcılara verimli bir şekilde sunmayı mümkün kılar.
Bir CDN ayrıca canlı yayın akışının her bölümünü önbelleğe alır (geçici olarak kaydeder), böylece çoğu izleyici canlı yayını kaynak sunucudan değil, CDN önbelleğinden alır. Bu, önbelleğe alınan veriler birkaç saniye geride olsa bile, kaynak sunucuya gidiş-dönüş süresini (RTT) azalttığı için canlı yayını gerçek zamana daha yakın hale getirir.
Kod çözme ve video oynatma
CDN, canlı yayını izleyen tüm kullanıcılara gönderir. Her kullanıcının cihazı, bölümlere ayrılmış video verilerini alır, kod çözer ve sıkıştırılmış halini açar. Son olarak, kullanıcının cihazındaki bir medya oynatıcı (özel bir uygulama veya tarayıcı içindeki bir video oynatıcı) verileri görsel bilgi olarak yorumlar ve video oynatılır.Bir örnek
Diyelim ki Alice akıllı telefonunda canlı yayın başlatıyor ve ülkenin diğer ucunda yaşayan Bob, Alice'in birkaç düzine arkadaşıyla birlikte kendi akıllı telefonundan canlı yayını izliyor. Alice, akıllı telefon kamerasını kendine çevirerek ve "Merhaba dünya!" diyerek canlı yayına başlıyor. Bu "Merhaba dünya" videosunun Bob'a ve yayını izleyen diğer herkese ulaşması için ne olması gerekiyor?
Öncelikle, Alice'in akıllı telefonu bu küçük video parçasını kodlayıp sıkıştıracak. Eğer Alice canlı yayını mutfağında çekiyorsa, mutfak duvarı videonun ilk karesi olarak kaydedilir ve arka plan değişmediği için sonraki karelerde bu görüntü yer almaz.
Şimdi Alice'in kullandığı uygulama, "Merhaba dünya" demesinin kodlanmış, sıkıştırılmış versiyonunu uygulamanın CDN'sine gönderecek. Neyse ki Bob için, CDN sunucularından biri evinden sadece birkaç kilometre uzakta, bu nedenle akıllı telefonunun canlı yayının ilk bölümü için yaptığı istek neredeyse anında yanıtlanıyor. Diğer canlı yayın izleyicileri, coğrafi konumlarına bağlı olarak Bob'tan daha fazla veya daha az gecikme yaşayabilirler.
Bob'un telefonu video segmentini çözüyor ve sıkıştırılmış verileri yeniden oluşturuyor, böylece Alice'in mutfak duvarı her karede görünüyor. Ve sonunda, Alice ülkenin diğer ucundaki mutfağında "Merhaba dünya" dedikten sadece birkaç saniye sonra, yüzü Bob'un akıllı telefonunda beliriyor ve Bob onun selamını görüyor ve duyuyor.
Canlı yayın için CDN neden önemlidir?
Bant genişliği: Bir ağdaki herhangi bir noktadan aynı anda yalnızca belirli miktarda veri geçebilir; bu ölçüm "bant genişliği" olarak bilinir. Bir veri akışı, ağda veri miktarının kapasiteyi aştığı bir noktaya ulaşırsa, buna "tıkanma noktası" denir çünkü veri iletimi tıkanır ve yavaşlar. Tıkanma noktası, çok fazla arabanın tek şeritli bir yolu kullanmaya çalıştığında meydana gelebilecek trafik yavaşlamalarına benzer.
Eğer bir yayının tüm izleyicileri yayın verilerini yayının kaynak noktasından alıyorsa, kaynak sunucu ve çevresindeki ağ altyapısı bir darboğaz haline gelir ve yayın yavaşlar. Ancak yayın dağıtımının ana yükü bir CDN'ye (İçerik Dağıtım Ağı) taşınırsa, darboğaz ortadan kalkar.
Küresel içerik dağıtımı: CDN'ler dünyanın her yerine dağıtıldığı için, küresel bir izleyici kitlesine içerik sunabilirler. New York'taki bir kaynak sunucu, Milano'daki bir izleyici kitlesine etkili bir şekilde içerik sunamaz ve bu durum özellikle video gibi ağır içeriklerde geçerlidir. Ancak bir CDN, ağındaki herhangi bir noktadan içeriği iletebilir ve sunabilir, böylece Milano'da New York'tan canlı yayın izleyen bir kişi, yayının New York'tan yüklenmesini beklemek yerine Milano'daki bir sunucudan yayını alabilir.
Gecikme ve RTT (Gidiş-Dönüş Süresi) azaltımı: Bir CDN ile küresel olarak içerik dağıtımı, RTT'yi (gidiş-dönüş süresi) azaltarak canlı yayın izleyicileri için gecikmeyi azaltır. İstek-yanıt gidiş-dönüş süresi hem mesafe hem de zaman açısından daha kısadır,
çünkü bir izleyicinin canlı yayın isteği artık yayının orijinal kaynağına gitmek zorunda kalmaz ve yayın verilerinin de artık kaynaktan gitmesi gerekmez. Bu, gecikmeleri azaltır ve canlı yayının "canlı" kalmasına yardımcı olur.
İş yükü: Kullanıcıların veri isteklerine yanıt vermek, bir sunucuya bir miktar işlem gücü maliyeti getirir. Birçok kullanıcının video verisi isteğine yanıt vermek, tek bir sunucuyu aşırı yükleyebilir. Bir CDN, kaynak sunucunun iş yükünün büyük bir kısmını üstlenebilen ve onu çalışır durumda tutabilen düzinelerce veya yüzlerce sunucu kullanır.
Önbellekleme: Bir CDN, canlı yayın akışının her video bölümünü önbelleğe alır. CDN daha sonra verileri kaynak sunucudan almak yerine, bölümleri önbellekten sunabilir.
Canlı bir akışı önbellekten sunmak çelişkili gibi görünüyor: Akış canlıysa, onu kaydedip birkaç saniye sonra sunmak nasıl daha hızlı olabilir? Önbelleğe alınmış bir canlı akışın gerçek zamanın gerisinde kalacağı doğru olsa da, bu yine de kaynak sunucuya kadar gitmekten daha hızlıdır. Gidiş-dönüş o kadar uzun sürerdi ki, akış daha da geride kalırdı. CDN önbellekleme ile kullanıcılar minimum gecikme süresi yaşarlar.


