Teknik Eğitim

m3u8 nedir? Video sitelerinin kullandığı HLS akış teknolojisi hakkında kapsamlı rehber

m3u8 dosya formatı ve HLS akış protokolü hakkında kapsamlı bir rehber. Video dilimlemenin, uyarlanabilir bit hızı geçişinin nasıl çalıştığını ve YouTube gibi büyük video sitelerinin sorunsuz oynatma için HLS teknolojisini nasıl kullandığını öğrenin.

31 Ara 2025·8 dk okuma

m3u8 nedir? Video sitelerinin kullandığı HLS akış teknolojisi hakkında kapsamlı bir rehber

m3u8 dosyası nedir?

Bilibili’de canlı yayın izlerken, TikTok’ta kısa videoları kaydırırken veya YouTube’da yüksek çözünürlüklü filmler izlerken, arka planda muhtemelen m3u8 formatı kullanılıyordur. Basitçe söylemek gerekirse, m3u8 bir video oynatma listesi dosyasıdır. Oynatıcıya hangi video segmentlerini hangi sırayla indirip oynatması gerektiğini söyleyen bir “menü” gibi davranır.

m3u8 dosyasının kendisi video içeriği barındırmaz, bunun yerine bir dizi video segmentinin URL adresini kaydetmek için bir metin formatı (UTF-8 kodlaması) kullanır. Bu tasarım, Apple tarafından 2009 yılında önerilen ve günümüzde video web siteleri için ana akım çözüm haline gelen HLS (HTTP Canlı Akış) akış protokolünün temel bir bileşenidir.

HLS protokolü nasıl çalışır? Canlı bir benzetme

Bir pizza sipariş ettiğinizi hayal edin, ancak pizza kuryenin tek seferde getiremeyeceği kadar büyük. Akıllıca olan yöntem nedir? Pizzayı küçük dilimlere bölmek ve parti parti teslim etmektir. Bir dilim gelir gelmez, tüm pizzanın gelmesini beklemeden hemen tadını çıkarmaya başlayabilirsiniz.

HLS video akış iletiminin prensibi buna benzerdir:

HLS Segmentasyon Prensibi: Videoyu pizza teslimatı gibi partiler halinde iletmek

1. Video Dilimleme Süreci

Sunucu, tam video dosyasını zamana göre birden fazla küçük segmente (genellikle segment başına 2-10 saniye) böler ve her segment bağımsız bir dosya olarak kaydedilir (yaygın formatlar .ts veya .mp4’tür). Bu, iki saatlik bir filmi 720 küçük parçaya bölmek gibidir.

2. Oynatma Listesi Oluşturma

Dilimleme tamamlandıktan sonra sunucu, tüm video segmentlerinin indirme adreslerini sırayla listeleyen bir .m3u8 oynatma listesi dosyası oluşturur. Bu “menü” oynatıcıya şunları söyler: “Önce 1. segmenti indir, sonra 2. segmenti…“

3. İndirirken Oynat

Oynata tıkladığınızda, oynatıcı önce m3u8 dosyasını okur ve ardından video segmentlerini sırayla indirir. Kilit nokta şudur: ilk birkaç segment indirildiği sürece video oynatılmaya başlayabilir ve sonraki segmentler oynatma sırasında indirilmeye devam eder. Bu yüzden video tamamen yüklenmeden izlemeye başlayabilirsiniz.

4. Akıllı Bit Hızı Değiştirme

Daha da akıllıca olanı, m3u8’in farklı çözünürlüklere (480p, 720p, 1080p gibi) karşılık gelen oynatma listesinin birden fazla sürümünü sağlayabilmesidir. Oynatıcı, ağ hızınıza göre otomatik olarak seçim yapar: Ağ hızlı olduğunda HD sürümü oynatır ve ağ yavaş olduğunda otomatik olarak standart çözünürlüğe düşerek donmadan akıcı bir oynatma sağlar.

Uyarlanabilir Bit Hızı Değiştirme: Video kalitesini ağ koşullarına göre otomatik ayarlama

m3u8 ve HLS neden bu kadar popüler? 5 Temel Avantaj

1. Rakipsiz Uyumluluk

HLS, standart HTTP protokolüne dayalı olarak iletilir, bu da şu anlama gelir:

  • Özel bağlantı noktaları veya sunucu yapılandırmaları gerekmez
  • Neredeyse tüm güvenlik duvarlarını geçebilir
  • Hızlandırma için çeşitli CDN’lerle (İçerik Dağıtım Ağları) kolayca entegre olur

Daha da önemlisi, iPhone ve iPad yerel olarak yalnızca HLS’yi destekler. Video web siteniz Apple kullanıcılarını kapsamak istiyorsa, m3u8 neredeyse tek seçenektir.

2. Uyarlanabilir Bit Hızı Akışı

Daha önce bahsedilen çoklu çözünürlük otomatik değiştirme işlevi teknik olarak ABR (Uyarlanabilir Bit Hızı Akışı) olarak adlandırılır. Bu, kullanıcıların farklı ağ ortamlarında en iyi deneyimi elde etmelerini sağlar:

  • Hızlı trende sinyal kararsız olduğunda otomatik olarak akıcı moda düşer
  • Evde WiFi’ye bağlandıktan sonra otomatik olarak Ultra HD’ye yükseltir
  • Tüm süreç boyunca manuel ayarlama gerekmez ve arabelleğe alma nedeniyle oynatma kesintiye uğramaz

3. Büyük Ölçekli Dağıtım Yeteneği

HLS, HTTP protokolünü kullandığından, mevcut CDN altyapısından tam olarak yararlanabilir. YouTube ve Bilibili gibi büyük platformlar, video segmentlerini dünya genelindeki sunucu düğümlerinde önbelleğe alarak kullanıcıların en yakın düğümden indirmesine olanak tanır, bu da hızı önemli ölçüde artırır ve maliyetleri düşürür.

4. Daha Esnek İçerik Koruması

m3u8 birden fazla şifreleme yöntemini destekler:

  • AES-128 Şifreleme: Her video segmentini şifreler, oynatmak için bir anahtar gerektirir
  • DRM Dijital Haklar Yönetimi: Apple’ın FairPlay’i, Google’ın Widevine’ı vb.
  • URL İmza Doğrulaması: Oynatma bağlantılarına zaman geçerliliği ve kullanıcı kimlik doğrulaması ekler

Bu önlemler korsanlığı zorlaştırır ve içerik oluşturucuların telif haklarını korur.

5. Hem Canlı hem de İsteğe Bağlı İçin Uygun

HLS sadece filmler ve diziler gibi isteğe bağlı içerikler için uygun olmakla kalmaz, aynı zamanda canlı yayın senaryolarında da yaygın olarak kullanılır:

  • İsteğe Bağlı Mod: m3u8 tüm segmentleri listeler, kullanıcıların ilerleme çubuğunu istedikleri gibi sürüklemelerine olanak tanır
  • Canlı Mod: m3u8 sürekli güncellenir, yalnızca en son birkaç segmenti listeleyerek kayan bir pencere oluşturur

Bilibili’nin canlı yayınları ve TikTok’un gerçek zamanlı etkileşimi arkasında HLS teknolojisi vardır.

Gerçek Vakalar: Büyük platformlar HLS’yi nasıl kullanıyor?

Ana akım video platformlarının akış teknolojisi uygulamaları

Bilibili’nin Çift Protokol Stratejisi

Bilibili çok akıllıca bir yaklaşım benimsedi:

  • PC Canlı Yayını: 1-3 saniyelik ultra düşük gecikme elde etmek için HTTP-FLV protokolünü kullanır
  • Mobil Canlı Yayın: Daha iyi uyumluluk için HLS kullanır (özellikle iPhone)
  • İsteğe Bağlı Video: Tarayıcının en uygun çözümü otomatik olarak seçmesine olanak tanıyan hem DASH hem de HLS formatlarını sağlar

Bu çoklu protokol bir arada var olma mimarisi, geniş cihaz uyumluluğu sağlarken düşük gecikme ihtiyaçlarını karşılar.

YouTube’un Küresel Kapsama Planı

YouTube temel olarak MPEG-DASH protokolünü (HLS’ye benzer açık bir standart) kullanır, ancak Apple cihazlarını desteklemek için aynı zamanda HLS formatı da sağlar:

  • Safari tarayıcıları ve iOS cihazları otomatik olarak m3u8 bağlantılarını alır
  • Diğer tarayıcılar daha yüksek esneklik elde etmek için DASH formatını kullanır (4K, çoklu ses parçaları gibi)

Twitch’in Düşük Gecikmeli Canlı Yayın Optimizasyonu

Oyun yayın platformu Twitch, HLS gecikmesini uç sınırlara kadar optimize etti:

  • Video segmentlerini 2 saniyeye kısalttı (yaygın olan 6-10 saniye yerine)
  • Oynatıcı yalnızca 1 segmenti arabelleğe aldıktan sonra oynatmaya başlar
  • Yaklaşık 5 saniyelik uçtan uca gecikme elde ederek izleyicilerin yayıncılarla neredeyse gerçek zamanlı etkileşime girmesini sağladı

TikTok’un Anında Oynatma Deneyimi

TikTok, HLS’yi diğer teknolojilerle birleştirerek “sıfır ilk kare” deneyimi gerçekleştirdi:

  • Bir sonraki videonun ilk birkaç segmentini önceden yükler
  • En yakın düğümden veri almak için akıllı zamanlama algoritmaları kullanır
  • Video başlatma süresini 100-300 milisaniyeye sıkıştırır

m3u8 vs diğer video formatları: Hangisini seçmeli?

MP4 Doğrudan Bağlantı ile Karşılaştırma

Özellik m3u8/HLS MP4 Aşamalı İndirme
Bit Hızı Uyarlanabilirliği ✅ Çoklu çözünürlük otomatik geçiş ❌ Manuel seçim veya birden fazla bağlantı gerekli
Uygulama Karmaşıklığı Yüksek (dilimleme, oynatıcı desteği gerektirir) Minimum (tek bir dosya bağlantısı)
Uygulanabilir Senaryo Uzun videolar, canlı yayın, kararsız ağ Kısa videolar, kararlı bant genişliği
Hotlink Koruması ✅ Şifreleme, imzaları destekler ⚠️ Koruması daha zor

Öneri: 15 saniyenin altındaki kısa videolar için MP4 yeterlidir; uzun videolar ve canlı yayın için HLS şarttır.

RTMP/FLV ile Karşılaştırma

Özellik m3u8/HLS RTMP/HTTP-FLV
Gecikme Yüksek (10-30sn, 2-5sn’ye optimize edilebilir) Çok Düşük (1-3sn)
Tarayıcı Uyumluluğu ✅ Safari’de yerel, diğerleri JS kütüphanesi gerektirir ⚠️ Özel oynatıcı gerektirir (flv.js gibi)
Güvenlik Duvarı Geçişi ✅ HTTP tabanlı, engelsiz ⚠️ Özel portlar kullanır, engellenebilir
Uygulanabilir Senaryo İsteğe bağlı, gecikmeye duyarlı olmayan canlı yayın Gerçek zamanlı etkileşim gerektiren canlı yayın

Öneri: Güçlü etkileşim ihtiyaçları için FLV kullanın, diğer durumlar için HLS’ye öncelik verin.

Sıkça Sorulan Sorular (SSS)

S1: Neden bazı videolar m3u8 kullanırken diğerleri MP4 kullanıyor?

Cevap: İçerik türüne ve gereksinimlere bağlıdır. m3u8, bit hızı uyarlaması gerektiren, uzun süreli veya telif hakkı korumasına ihtiyaç duyan içerikler için uygundur; MP4, kısa videolar ve son derece yüksek uyumluluk gerektiren senaryolar (ekstra oynatıcı desteği gerekmez) için uygundur.

S2: HLS canlı yayın gecikmesi yüksekse ne yapılmalı?

Cevap: Aşağıdaki yollarla optimize edilebilir:

  • Video segment süresini kısaltmak (örneğin 10 saniyeden 2 saniyeye)
  • Oynatıcı arabellek segment sayısını azaltmak
  • Düşük Gecikmeli HLS (LL-HLS) uzantısını benimsemek
  • Aşırı düşük gecikme ihtiyaçları (<1sn) için WebRTC veya HTTP-FLV’yi düşünün

Cevap: Yaygın koruma önlemleri şunları içerir:

  • URL İmzası: Bağlantıya zaman geçerliliği ve kimlik doğrulama parametreleri ekleme
  • AES-128 Şifreleme: Video segmentlerini şifreleme, anahtarları güvenli kanallar aracılığıyla dağıtma
  • Referer Kontrolü: Oynatmayı yalnızca belirli web siteleriyle sınırlama
  • DRM Çözümleri: FairPlay, Widevine gibi ticari düzeyde koruma kullanma

S4: Sıradan kullanıcılar m3u8 dosyalarını doğrudan açabilir mi?

Cevap: Evet, ancak uygun bir oynatıcı gereklidir:

  • Mac/iPhone: Safari tarayıcısı yerel olarak destekler, oynatmak için bağlantıyı yapıştırmanız yeterlidir
  • Windows/Android: VLC, PotPlayer gibi HLS destekleyen oynatıcılar kullanılması gerekir
  • Tarayıcılar: Chrome/Edge vb., hls.js gibi JavaScript kütüphaneleri kullanmalıdır

S5: m3u8 çok sayıda küçük dosya üretir, bu sunucu üzerinde çok fazla baskı oluşturur mu?

Cevap: Gerçekten de çok sayıda küçük dosya üretir (bir film yüzlerce veya binlerce segmente sahip olabilir), ancak bu şu yollarla optimize edilebilir:

  • Yükü paylaşmak için CDN önbelleği kullanma
  • “Sözde dilimleme” gerçekleştirmek için Bayt Aralığı İstekleri (Range Request) benimseme
  • Birden fazla küçük segmenti daha büyük bloklarda birleştirme
  • Profesyonel akış sunucuları (Wowza, Nginx-RTMP gibi) kullanma

Özet: m3u8, modern video akışının temel taşıdır

Modern akış teknolojisi ekosisteminin panoraması

m3u8 ve HLS protokolleri, ihtiyaçları birden fazla boyutta mükemmel bir şekilde dengeledikleri için video web siteleri için ilk tercih haline gelmiştir:

Uyumluluk: Neredeyse tüm cihazları ve platformları kapsar
Kullanıcı Deneyimi: Uyarlanabilir bit hızı akıcı oynatma sağlar
Ölçeklenebilirlik: Küresel CDN dağıtımını kolayca gerçekleştirir
Esneklik: Hem isteğe bağlı hem de canlı yayını destekler
Güvenlik: Çok seviyeli içerik koruma mekanizmaları sağlar

HLS’nin yüksek gecikme ve küçük dosyaların parçalanması gibi eksiklikleri olsa da, teknolojik evrimle (Düşük Gecikmeli HLS, CMAF yakınsama formatı gibi) bu sorunlar kademeli olarak çözülmektedir.

İçerik oluşturucular ve geliştiriciler için m3u8/HLS’nin çalışma prensibini anlamak şunlara yardımcı olabilir:

  • İşinize en uygun video çözümünü seçmek
  • Oynatma deneyimini optimize etmek ve maliyetleri düşürmek
  • Video içeriği telif haklarını daha iyi korumak

Sıradan kullanıcılar için bunun arkasındaki teknolojiyi anlamak, oynatma sorunlarıyla karşılaştığınızda sorunu nasıl gidereceğinizi bilmenizi ve ayrıca video web sitelerinin sorunsuz bir deneyim için gösterdiği teknik çabaları daha iyi takdir etmenizi sağlar.

Bir dahaki sefere Bilibili canlı yayınını sorunsuz bir şekilde izlediğinizde veya TikTok videolarını kaydırdığınızda, şunu düşünebilirsiniz: Arkasında, m3u8 oynatma listesinin komutası altında ekranınıza düzenli bir şekilde teslim edilen binlerce küçük .ts segmenti olabilir. İşte modern akış teknolojisinin cazibesi budur!

Yazar: M3U8Player Team

İlgili Makaleler

M3U8 yayını hakkında sizin için seçilen diğer makaleler