Synchronized Accessible Media Interchange
Microsoft’un 1998’den kalma Windows Media Player açıklamaları: her açıklamadan önce bir sync bulunan HTML ve sınıfları diller olan bir stil sayfası; böylece tek dosya birkaç dil taşıyabilir. Başka yerlerde pek görülmez, ama Kore’de hâlâ olağan altyazı dosyasıdır.
Kısaca
| Uzantı | .smi |
|---|---|
| Medya türü | Kayıtlı değil |
| Belirtim | Microsoft, Understanding SAMI 1.0 (2001, 2003’te güncellendi). Açık; lisans ücreti yok. |
| Zaman hassasiyeti | Milisaniye |
| Metin kodlaması | Belirtilmez. Eski Korece dosyaların çoğu CP949, yenileri UTF-8; Subtitld ikisini de algılar. |
| Biçimlendirme | HTML’nin satır içi etiketleri ve CSS: italik, kalın, altı çizili, üstü çizili, renk, yazı tipleri |
| Konumlandırma | Görüntüde yok: açıklamalar kendi alanlarında gösterilir |
| Konuşmacılar | Bir Source satırı (ID=Source), açıklamanın üstünde gösterilir |
| Diller | Tek dosyada birkaç tane, her biri için bir CSS sınıfı |
| Kapsayıcılarda | Yok. Videonun yanında, aynı adla bir dosya. |
Dosyanın yapısı
Dilleri adlandıran bir stil sayfası ve açıklamaların değiştiği her an için bir sync içeren bir HTML belgesi.
<SAMI><HEAD><STYLE><!-- .KRCC {lang:ko-KR;} .ENCC {lang:en-US;} --></STYLE></HEAD><BODY> <SYNC Start=23000> <P Class=KRCC>넌 정말 못됐어. <P Class=ENCC>You're a jerk. <SYNC Start=24500> <P Class=KRCC> <P Class=ENCC>
- 1 · Başlık
Stil sayfası: her dil için bir sınıf;
langdeğeri ve oynatıcıların gösterdiği birName. İlk sınıf, oynatıcıların başlangıçta kullandığı dildir. - 2 · Sync
Videonun başından itibaren milisaniye cinsinden an.
- 3 · Açıklamalar
Her dil için bir paragraf. Her biri, sınıfında bir sonraki, ona sahip olan sync’e kadar kalır;
onu boşaltır.
Zamanlama
Bir sync’in yalnızca bir başlangıcı vardır. Bir açıklama, aynı dildeki bir sonraki açıklama başladığında ya da boş bir açıklama geldiğinde biter; bu yüzden her ara için kendi sync’i gerekir.
Kapanış etiketleri isteğe bağlıdır. Microsoft’un kendi örneği ne <P>’yi ne de <SYNC>’i kapatır ve oynatıcılar her iki biçimi de okur. Windows Media Player etiketlerin büyük harfle yazılmasını isteyebilir; örnek de öyle yazar.
Stiller
SAMI’nin metni HTML’dir, stil sayfası ise CSS. Bir açıklama, önce P’nin stilini, sonra sınıfınınkini, sonra kendi style özniteliğini, en sonda da içindeki etiketleri alır.
| Yazılışı | Etki | Subtitld’de |
|---|---|---|
<I>, <EM> |
İtalik | Korunur |
<B>, <STRONG> |
Kalın | Korunur |
<U>, <S>, <STRIKE> |
Altı çizili, üstü çizili | Korunur |
<FONT color="#FFD700"> |
Metin rengi | Korunur |
color, font-style, font-weight, text-decoration |
Aynıları, stil sayfasından ya da bir style’dan |
Korunur |
<BR> |
Satır sonu | Korunur |
<FONT face>, font-size, margin |
Yazı tipi, boyut, aralık | Korunmaz |
<RUBY>…<RT> |
Metnin üstünde okunuş | Metin korunur, okunuşu korunmaz |
Diller
Her sınıf bir dildir. Oynatıcılar onları Name değerleriyle sunar, aksi söylenene kadar tanımlanan ilk dili gösterir ve sınıfsız bir paragrafı dil ne olursa olsun gösterir. Korece bir dosya, Korece’nin yanında İngilizce de taşıyabilir; izleyici seçer.
Subtitld birden fazla dil içeren bir dosyayı açtığında, ilk dil altyazıların dilidir ve diğer her biri, en çok üst üste geldiği altyazıya bağlı bir çeviridir. Orijinali ve bir çeviriyi dışa aktarmak, bunları iki dil olarak geri yazar; çevirinin altyazıları yalnızca olduğu yerlerde bulunur.
Konuşmacılar
<SYNC Start=23000>
<P Class=ENCC ID=Source>Celia
<P Class=ENCC>You're a jerk.
ID=Source taşıyan bir paragraf bir açıklama değildir. Kimin konuştuğunu, açıklamanın bir satır üstünde belirtir ve başka biri onun yerini alana kadar kalır. Subtitld bunu üzerinde durduğu her açıklamanın konuşmacısı olarak okur ve istendiğinde konuşmacıları bu biçimde yazar.
Oynatıcılar burada farklıdır. FFmpeg ve onun üzerine kurulu oynatıcılar Source satırını açıklamanın üstünde italik gösterir. MPlayer ise onu açıklamanın ilk satırına karıştırır. Adların metnin önüne yazılması (Celia: …) her yerde aynı okunur.
Subtitld’de SAMI
- Her altyazının metni ve satır sonları
- İtalik, kalın, altı çizili, üstü çizili ve renk
- Çeviriler, kendi dilleri olarak
- Konuşmacılar, Source satırları olarak
- Başlangıç ve bitiş, milisaniyeye kadar, sırayla
- Bir altyazının nerede durduğu: SAMI’nin görüntüde bir yeri yok
- Yazı tipleri, boyutlar ve kenar boşlukları
- Ruby okunuşları
- Dublajlar, konuşmacıların yüzleri ve renkleri
Subtitld’e ait olanı korumak için bir .usfx projesi kaydedin.
SAMI dosyası açmak
Subtitld .smi ve .sami dosyalarını açar ve:
- SAMI’yi tarayıcıların HTML’i okuduğu gibi okur: etiketler büyük harfli ya da değil, kapalı ya da değil, öznitelikler tırnaklı ya da değil, syncler sırası karışık, paragraf dışı metin;
- her dili alır: ilki altyazıların, diğerleri çevirilerinin olarak;
- italik, kalın, altı çizili, üstü çizili ve rengi hem etiketlerden hem stil sayfasından korur;
- Source satırlarını dublaj için hazır konuşmacılar olarak alır;
- son açıklamayı, dosyanın
Metricsdeğerlerinin videonun bittiğini söylediği yerde ya da dört saniye sonra bitirir; - CP949 dâhil her kodlamayı çözer.
SAMI dışa aktarmak
Dışa aktar, ardından Altyazılar ve SAMI seçildiğinde şunlar sunulur:
- MetinOrijinal, bir çeviri ya da iki dil olarak ikisi.
- Konuşmacı adlarıDışarıda bırakılır, metnin önüne yazılır (Thom: …) ya da SAMI’nin kendi yolu olan Source satırları olarak yazılır.
- BiçimlendirmeKorunur ya da kaldırılır.
- Zamanları kaydırHer altyazı aynı miktarda önceye ya da sonraya alınır.
- KodlamaUTF-8, bayt sıra işaretli ya da değil; UTF-16; Windows-1252; ya da eski Korece oynatıcılar için CP949.
- Satır sonlarıLinux ve macOS, ya da Windows.
Dosya, Microsoft’un örneğinin yazdığı gibi SAMI 1.0’dır; etiketleri büyük harfle: her dil için bir sınıf, her altyazının başladığı yerde bir sync ve bittiği yerde boş bir sync, biçimlendirme ise <I>, <B>, <U>, <S> ve <FONT color> olarak.
Dosyaya videonun adını verin: tears-of-steel.mp4 yanında tears-of-steel.smi. Windows Media Player bir .smi’yi bu şekilde bulur (.sami’yi bulmaz); çoğu oynatıcı da öyle yapar.
Bilgi köşesi
Microsoft, SAMI’yi 1998 yazında erişilebilirlik çalışmalarının bir parçası olarak yayımladı: PC’de açıklamalar, işitme engelliler için.
Microsoft’un belirtimi bir açıklamayı kesilmeyen boşlukla boşaltır. FFmpeg, içinde bu olan her sync’i atar; bu yüzden başka bir dilin devam ettiği yerde Subtitld bunun yerine boş bir paragraf yazar.
Birçok Korece dosya sınıfını dili değil ülkeyi adlandırarak yazar: Microsoft’un örneklerinde ENUSCC varken KRCC.
İlgili biçimler
Videoyla birlikte Subtitld'de açın ve dalga biçimi üzerinde yeniden zamanlayın.