Altyazı Formatları Nedir? SRT, WebVTT, ASS ve Gömülü Altyazı Rehberi
Kısa cevap: Altyazı formatları, konuşma metnini zaman bilgisiyle birlikte saklayan dosya türleridir. SRT en basit ve en yaygın olanıdır, WebVTT web ve HLS için tasarlanmıştır, ASS/SSA ise renk, konum ve efekt gibi gelişmiş biçimlendirme sunar. Altyazı ayrı dosya olabilir ya da MKV gibi bir kapsayıcıya gömülebilir. Türkçe karakter bozuluyorsa dosyayı UTF-8 olarak kaydedin.
Öne çıkanlar
- SRT düz metin ve zaman damgasından oluşan en yaygın biçimdir; WebVTT web videosu için, ASS/SSA ise gelişmiş biçimlendirme için kullanılır.
- Altyazı ayrı dosya (harici) ya da MKV gibi bir kapsayıcının içinde (gömülü) olabilir; filme yakılmış altyazı ise kapatılamaz.
- PGS ve VobSub gibi resim tabanlı altyazılar metin değildir; düzenlenemez ve dönüştürmek için OCR gerekir.
- Türkçe karakterlerin bozulması neredeyse her zaman karakter kodlaması sorunudur; dosyayı UTF-8 olarak kaydetmek çözer.
- Altyazı kayması sabit bir fark ya da kare hızı uyuşmazlığıdır; ikisi farklı yöntemle düzeltilir.
Altyazı formatları, ilk bakışta sadece ".srt" ya da ".vtt" gibi uzantı karmaşası gibi görünür. Ama bir altyazı dosyasının neden bir oynatıcıda görünüp ötekinde görünmediğini, Türkçe karakterlerin neden "þ" ve "ð" gibi harflere dönüştüğünü ya da altyazının neden kaydığını anlamak için bu biçimlerin farkını bilmek yeterlidir. Bu rehberde en yaygın altyazı biçimlerini, harici ile gömülü altyazı arasındaki farkı ve en sık yaşanan sorunların çözümünü anlatıyoruz. Yazı genel bir rehberdir; belirli bir oynatıcının özelliklerini değil, biçimlerin kendisini ele alır.
Altyazı formatları nedir?
Altyazı formatı, konuşulan metni "hangi saniyede ekrana gelsin, hangisinde kaybolsun" bilgisiyle birlikte saklayan dosya düzenidir. Çoğu biçim düz metin dosyasıdır, yani bir not defteriyle açıp okuyabilirsiniz. Bazıları ise (PGS ve VobSub gibi) metin değil, sahne sahne hazırlanmış resimlerdir.
İki ayrım işinizi kolaylaştırır. Birincisi, altyazı (subtitle) izleyicinin sesi duyduğunu ama dili anlamadığını varsayar ve çeviri sunar; kapalı altyazı (caption) ise duymayanlar için konuşmacı adı ve ses efektlerini de yazar. İkincisi, altyazının yumuşak (soft) olup olmadığı: ayrı dosya ya da videoya gömülü iz olarak durup açıp kapatılabilen altyazılar yumuşaktır; görüntünün üzerine yakılmış altyazı ise (hardsub) kapatılamaz.
SRT (SubRip) altyazı formatı nedir?
SRT, adını SubRip programından alan ve bugün en yaygın olan düz metin altyazı biçimidir. Her altyazı bloğu bir sıra numarası, bir zaman aralığı ve bir ya da iki satır metinden oluşur; bloklar boş satırla ayrılır. Zaman damgasında milisaniye virgülle yazılır.
1
00:00:01,000 --> 00:00:03,500
Günaydın, bugün hava çok güzel.
2
00:00:04,000 --> 00:00:06,000
<i>Gerçekten öyle.</i>
SRT'nin gücü sadeliğidir: neredeyse her oynatıcı, televizyon ve düzenleme programı onu tanır. Zayıf yanı, resmî bir standardının olmaması ve biçimlendirmenin çok sınırlı kalmasıdır (kalın, italik, bazen renk). Üstelik dosya içinde hangi karakter kodlamasının kullanıldığı yazmaz; bu da Türkçe karakter sorununun ana kaynağıdır. Ayrıntı için SubRip sayfasına bakabilirsiniz.
WebVTT (VTT) altyazı formatı nedir?
WebVTT (Web Video Text Tracks), web videosu için W3C tarafından tanımlanmış bir altyazı biçimidir; uzantısı .vtt, dosyanın ilk satırı ise WEBVTT yazar. SRT'ye çok benzer, ama milisaniye noktayla yazılır, saat kısmı isteğe bağlıdır ve altyazının ekrandaki konumunu, hizasını, konuşmacıyı ve CSS ile stil vermeyi destekler. Biçimin tam tanımı W3C WebVTT belirtiminde yer alır. Belirtim dosyanın UTF-8 olmasını şart koşar.
WEBVTT
00:01.000 --> 00:03.500
Günaydın, bugün hava çok güzel.
00:04.000 --> 00:06.000 align:start
<v Ayşe>Gerçekten öyle.</v>
Tarayıcılar HTML5 video etiketi içinde altyazıyı yalnızca WebVTT olarak gösterir; SRT'yi doğrudan okumazlar. Şu satır bir videoya Türkçe altyazı ekler:
<track kind="subtitles" src="altyazi.vtt" srclang="tr" label="Türkçe">
WebVTT, akış dünyasında da yaygındır: HLS yayınları altyazıyı kısa WebVTT parçaları olarak taşıyabilir. HLS'in genel mantığını HLS nedir yazımızda anlattık.
ASS ve SSA altyazı formatı nedir?
SSA (SubStation Alpha) ve gelişmiş sürümü ASS (Advanced SubStation Alpha), yazı tipi, renk, kenarlık, konum, döndürme ve animasyon gibi zengin biçimlendirme sunan metin tabanlı altyazı biçimleridir. Dosya [Script Info], [V4+ Styles] ve [Events] gibi bölümlere ayrılır; stil bir kez tanımlanır, her satır o stile atıf yapar. Yaygın olarak anime çevirilerinde, şarkı sözü efektlerinde ve sahne üstü yazılarda karşınıza çıkar. Zaman damgasında saniyenin yüzde biri kullanılır.
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,Günaydın, bugün hava çok güzel.
Dialogue: 0,0:00:04.00,0:00:06.00,Default,,0,0,0,,{\i1}Gerçekten öyle.{\i0}
ASS'in sorunu desteğin değişkenliğidir. Her oynatıcı bu zengin özellikleri tam göstermez; bazıları yalnızca düz metni gösterir, stilleri yok sayar. Özel yazı tipleri kullanılıyorsa, yazı tiplerinin MKV içine ek olarak konması gerekir. Ayrıntı için SubStation Alpha sayfasına bakabilirsiniz.
Altyazı formatları karşılaştırma tablosu
Altyazı formatları üç ailede toplanır: sade metin (SRT), web odaklı metin (WebVTT, TTML) ve zengin ya da görüntü tabanlı olanlar (ASS, PGS, VobSub).
| Biçim | Uzantı | Tür | Biçimlendirme | Tipik kullanım |
|---|---|---|---|---|
| SubRip (SRT) | .srt | Metin | Çok sınırlı | En yaygın harici altyazı |
| WebVTT | .vtt | Metin | Orta: konum, hiza, CSS | Web videosu, HLS |
| ASS / SSA | .ass, .ssa | Metin | Zengin: yazı tipi, renk, animasyon | Stilli altyazı, MKV |
| MicroDVD | .sub | Metin (kare numarasına bağlı) | Sınırlı | Eski arşivler |
| TTML / IMSC | .ttml, .xml | Metin (XML) | Zengin | Yayın hizmetleri, profesyonel dağıtım |
| mov_text | MP4 içinde | Metin | Basit | MP4 gömülü altyazı |
| PGS | .sup | Resim | Sabit (resimdir) | Blu-ray |
| VobSub | .idx + .sub | Resim | Sabit (resimdir) | DVD |
| Kapalı altyazı (CEA-608/708) | Yayın akışının içinde | Metin | Sınırlı | Yayın televizyonu |
Gömülü altyazı ile harici altyazı arasındaki fark nedir?
Harici altyazı videodan ayrı bir dosyadır; gömülü altyazı ise video kapsayıcısının içinde bir izdir. Harici altyazıyı değiştirmek kolaydır: dosyayı düzenler, aynı klasörde videoyla aynı adı verirsiniz (film.mkv için film.srt ya da film.tr.srt). Çoğu oynatıcı bu adlandırma düzenini tanır. Gömülü altyazı ise dosya taşındığında kaybolmaz ve tek dosyada birden çok dil taşıyabilir.
Kapsayıcıya göre durum değişir. MKV, SRT, ASS, PGS ve VobSub dahil neredeyse her altyazıyı taşır. MP4 ise esas olarak basit metin altyazıyı (mov_text) destekler; ASS stilleri ya da PGS resimleri MP4'e olduğu gibi geçmez. Bu fark, iki biçim arasındaki seçimin önemli bir parçasıdır; MP4 ile MKV farkı yazımıza bakabilirsiniz. MKV dosyalarıyla ilgili pratik sorunlar için MKV dosyası nasıl açılır rehberi yardımcı olur.
Altyazıda Türkçe karakterler neden bozulur?
Türkçe karakter sorunu, altyazı dosyasının bir karakter kodlamasıyla kaydedilip oynatıcının başka bir kodlamayla okumasından kaynaklanır. SRT dosyasında kodlama bilgisi yazmaz; eski Türkçe altyazılar genellikle Windows-1254 ya da ISO-8859-9 ile kaydedilmiştir, yeni dosyalar ise UTF-8 ile. Oynatıcı yanlış tahmin ederse metin bozulur. İki tipik görünüm vardır:
- ş, ğ, ı yerine "þ", "ð", "ý" (ve İ yerine "Ý") görünüyor. Eski Türkçe kodlamayla kaydedilmiş dosya, Batı Avrupa kodlamasıyla okunuyor.
- "ü", "ç", "ı", "ö" gibi anlamsız öbekler görünüyor. UTF-8 dosya, tek baytlı bir kodlamayla okunuyor.
Çözüm, dosyayı UTF-8 olarak yeniden kaydetmektir. Windows Not Defteri'nde dosyayı açıp Dosya, Farklı Kaydet'e girin ve kodlama olarak UTF-8'i seçin; ücretsiz Subtitle Edit programı da kodlamayı seçerek kaydetmenizi sağlar. Komut satırında şu komut eski bir dosyayı dönüştürür:
iconv -f WINDOWS-1254 -t UTF-8 eski.srt > yeni.srt
Bazı eski oynatıcılar UTF-8'i ancak dosyanın başında BOM adlı bir işaret varsa tanır. Sorun sürerse "UTF-8 (BOM ile)" seçeneğini deneyin. WebVTT'de ise UTF-8 zaten zorunludur.
Altyazı kayarsa ne yapmalısınız?
Altyazı kaymasının iki türü vardır ve çözümleri farklıdır. Altyazı baştan sona aynı miktarda erken ya da geç geliyorsa sabit bir gecikme vardır: tüm satırları aynı süre kadar ileri ya da geri kaydırın. Başta eşleşip sonda giderek açılıyorsa, altyazının hazırlandığı videonun kare hızı (örneğin 23,976 ile 25 kare/sn) sizdekinden farklıdır; zaman damgalarını orantılı olarak esnetmeniz gerekir. Subtitle Edit ve Aegisub gibi ücretsiz programlar iki işlemi de yapar. Ses tarafında benzer bir sorun yaşıyorsanız ses ve görüntü senkron sorunu yazısındaki nedenler de işe yarayabilir.
Altyazı formatları nasıl dönüştürülür?
Metin tabanlı altyazılar arasında dönüşüm kolaydır; ücretsiz FFmpeg birkaç satırla işi görür:
ffmpeg -i altyazi.srt altyazi.vtt
ffmpeg -i film.mkv -map 0:s:0 altyazi.srt
ffmpeg -i film.mp4 -i altyazi.srt -c copy -c:s mov_text film_altyazili.mp4
İlk komut SRT'yi WebVTT'ye çevirir. İkincisi MKV'deki ilk altyazı izini SRT olarak dışarı alır. Üçüncüsü bir SRT'yi MP4'e gömülü iz olarak ekler. İki sınır var: ASS'ten SRT'ye çevirirken stil ve efektler kaybolur, PGS ve VobSub gibi resim tabanlı altyazılar ise ancak OCR (görüntüden metin okuma) ile metne çevrilebilir; Subtitle Edit bu işlemi de yapar.
Altyazılar ve Alpa Player
Alpa Player, Alpa Yazılım tarafından geliştirilen ücretsiz bir medya oynatıcıdır; M3U ve M3U8 listelerini, HLS yayınlarını, MP4 ve MKV dosyalarını, RTSP akışlarını ve daha fazlasını oynatır. Altyazı desteği oynatıcıdan oynatıcıya ve motordan motora değişir; bu yazı belirli bir oynatıcının altyazı özelliklerini anlatmaz. Kullandığınız oynatıcıda hangi altyazı türlerinin gösterildiğini ayarlar menüsünden kontrol edin. Oynatıcı seçerken bakılacak diğer ölçütler için video oynatıcı özellikleri kontrol listemiz yol gösterir.
Android, Android TV, Samsung TV, LG TV, Fire TV ve Windows için Alpa Player'ı ücretsiz indirin; mağaza sürümleri yayın sürecindedir. Alpa Player içerik sağlamaz; altyazı dosyaları da birer telif konusu olabilir, bu yüzden yalnızca kullanma hakkınız olan altyazıları kullanın.
Sık sorulan sorular
En yaygın altyazı formatı hangisidir?
SRT (SubRip) en yaygın altyazı formatıdır. Düz metin, sıra numarası ve zaman aralığından oluşur; neredeyse her oynatıcı, televizyon ve düzenleme programı tarafından tanınır. Zayıf yanı biçimlendirmenin sınırlı olması ve karakter kodlamasının dosyada belirtilmemesidir.
SRT ile VTT arasındaki fark nedir?
İkisi de metin tabanlıdır. VTT (WebVTT) dosyası WEBVTT satırıyla başlar, milisaniyeyi noktayla yazar, konum ve hiza ayarlarını destekler ve UTF-8 olmak zorundadır. SRT ise numaralı bloklar kullanır, milisaniyeyi virgülle yazar ve biçimlendirmesi sınırlıdır. Tarayıcılar HTML5 videoda yalnızca VTT gösterir.
Altyazıdaki Türkçe karakterler neden bozuk görünüyor?
Dosya bir karakter kodlamasıyla kaydedilmiş, oynatıcı başka bir kodlamayla okuyordur. ş yerine "þ" ya da "ü" gibi öbekler görüyorsanız kodlama uyuşmuyordur. Dosyayı Not Defteri veya Subtitle Edit ile UTF-8 olarak yeniden kaydetmek sorunu çoğunlukla çözer.
Gömülü altyazıyı dışarı alabilir miyim?
Metin tabanlı gömülü altyazıyı (SRT, ASS, mov_text) FFmpeg ile ayrı dosyaya çıkarabilirsiniz. Örneğin ffmpeg -i film.mkv -map 0:s:0 altyazi.srt ilk altyazı izini SRT olarak kaydeder. Resim tabanlı altyazılar (PGS, VobSub) için önce OCR ile metne çevirmek gerekir.
Altyazı neden videoyla senkron değil?
İki olası neden vardır. Tüm satırlar aynı miktar geç ya da erken geliyorsa sabit bir gecikme vardır; zamanları kaydırarak düzeltilir. Fark videonun sonuna doğru açılıyorsa, altyazı farklı bir kare hızına göre hazırlanmıştır; zaman damgalarını esnetmek gerekir. Subtitle Edit ikisini de yapabilir.
Altyazı video dosyasının adıyla aynı olmak zorunda mı?
Harici altyazıyı otomatik bulan oynatıcılarda genellikle evet; dosyanın videoyla aynı klasörde ve aynı adı taşıması beklenir, örneğin film.mkv ve film.srt ya da dil kodlu film.tr.srt. Otomatik bulmayan oynatıcılarda altyazıyı menüden elle seçersiniz. Davranış oynatıcıdan oynatıcıya değişir.