Akış (streaming) nedir?

İlk web siteleri, belki bir veya iki resim içeren basit metin sayfalarıydı. Ancak bugün, yeterince hızlı bir internet bağlantısına sahip herkes, internet üzerinden yüksek çözünürlüklü filmler izleyebilir veya görüntülü görüşme yapabilir. Bu, akış (streaming) adı verilen bir teknoloji sayesinde mümkün olmaktadır.
Akış, ses veya video dosyalarının bir sunucudan bir istemciye sürekli olarak iletilmesidir. Daha basit bir ifadeyle, akış, tüketicilerin internete bağlı cihazlarda TV izlerken veya podcast dinlerken olan şeydir. Akışta, istemci cihazda oynatılan medya dosyası uzaktan depolanır ve internet üzerinden birkaç saniyelik aralıklarla iletilir.
Akış (streaming) ve indirme (downloading) arasındaki fark nedir?
Akış, gerçek zamanlıdır ve medya dosyalarını indirmekten daha verimlidir. Bir video dosyası indirildiğinde, dosyanın tamamının bir kopyası cihazın sabit diskine kaydedilir ve dosyanın tamamı indirilene kadar video oynatılamaz. Bunun yerine akış (streaming) yapılırsa, tarayıcı videoyu kopyalamadan ve kaydetmeden oynatır. Video, dosyanın tamamı bir kerede yüklenmek yerine, azar azar yüklenir ve tarayıcının yüklediği bilgiler yerel olarak kaydedilmez.Bir göl ve bir akarsu arasındaki farkı düşünün: Her ikisi de su içerir ve bir akarsu da bir göl kadar su içerebilir; fark, bir akarsuda suyun aynı anda aynı yerde olmamasıdır. İndirilen bir video dosyası, çok fazla sabit disk alanı kapladığı (ve bir gölü hareket ettirmek uzun zaman aldığı) için bir göle daha çok benzer. Akışlı video ise, videonun verilerinin sürekli ve hızlı bir şekilde kullanıcının tarayıcısına aktığı için bir akarsu veya nehre daha çok benzer.
Akış nasıl çalışır?
İnternet üzerinden gönderilen diğer veriler gibi, ses ve video verileri de veri paketlerine ayrılır. Her paket dosyanın küçük bir parçasını içerir ve istemci cihazdaki tarayıcıda bulunan bir ses veya video oynatıcı, veri paketlerinin akışını alır ve bunları video veya ses olarak yorumlar.
Akış, Kullanıcı Veri Paketi Protokolü (UDP) mi yoksa İletim Kontrol Protokolü (TCP) mü kullanır?
Bazı akış yöntemleri UDP, bazıları ise TCP kullanır. UDP ve TCP, veri paketlerini ağlar üzerinden taşımak için kullanılan taşıma protokolleridir. Her ikisi de İnternet Protokolü (IP) ile birlikte kullanılır. TCP, veri iletmeden önce özel bir bağlantı açar ve tüm veri paketlerinin sırayla ulaşmasını sağlar. TCP'nin aksine, UDP bunların hiçbirini yapmaz. Sonuç olarak, TCP daha güvenilirdir, ancak UDP üzerinden veri iletimi, TCP üzerinden iletim kadar uzun sürmez, ancak yol boyunca bazı paketler kaybolur.TCP, alıcının paketi imzalamasını gerektiren bir paket teslimat hizmeti gibiyse, UDP de kapıyı çalmadan paketleri ön verandaya bırakan bir teslimat hizmeti gibidir. TCP teslimat hizmeti daha az paket kaybeder, ancak UDP teslimat hizmeti daha hızlıdır, çünkü paketler evde kimse olmasa bile teslim edilebilir.
Akış için, bazı durumlarda hız güvenilirlikten çok daha önemlidir. Örneğin, bir video konferansında bulunan biri, her veri parçasının iletilmesini beklemek yerine, diğer konferans katılımcılarıyla gerçek zamanlı olarak etkileşim kurmayı tercih eder. Bu nedenle, birkaç veri paketinin kaybolması büyük bir sorun teşkil etmez ve UDP kullanılmalıdır.
Diğer durumlarda ise, akış için güvenilirlik daha önemlidir. Örneğin, hem HTTP canlı akış (HLS) hem de MPEG-DASH, taşıma için TCP kullanan akış protokolleridir. Birçok isteğe bağlı video hizmeti TCP kullanır.
Tamponlama nedir?

Akışlı medya oynatıcıları, bağlantı kısa süreliğine kesilse bile video veya sesin oynatılmaya devam edebilmesi için akışın birkaç saniyesini önceden yükler. Bu, tamponlama olarak bilinir. Tamponlama, videoların sorunsuz ve sürekli olarak oynatılmasını sağlar. Ancak, yavaş bağlantılarda veya ağda yüksek gecikme süresi varsa, bir videonun tamponlanması uzun sürebilir.
Akışın yavaşlamasına neden olan faktörler nelerdir?
Ağ tarafında:
Ağ gecikmesi: Kullanıcıların erişmeye çalıştığı içeriğin nerede depolandığı da dahil olmak üzere çeşitli faktörler gecikmeyi etkiler.Ağ tıkanıklığı: Ağ üzerinden çok fazla veri gönderilirse, bu akış performansını düşürebilir.
Kullanıcı tarafında:
WiFi sorunları: LAN yönlendiricisini yeniden başlatmak veya WiFi yerine Ethernet'e geçmek, akış performansını iyileştirmeye yardımcı olabilir.Yavaş çalışan istemci cihazları: Videoları oynatmak önemli miktarda işlem gücü gerektirir. Videoyu yayınlayan cihazda çok fazla başka işlem çalışıyorsa veya genel olarak yavaşsa, akış performansı etkilenebilir.
Yetersiz bant genişliği: Video akışı için ev ağlarının yaklaşık 4 Mbps bant genişliğine ihtiyacı vardır; yüksek çözünürlüklü video için muhtemelen daha fazlasına ihtiyaç duyacaklardır.


