Subtitld projesi
Subtitld'nin kendi dosyası: başında altyazıların, çevirilerinin, konuşmacıların ve dublajların USF belgesi bulunan bir ZIP paketi; içindeki her şeyin bir manifesti, kaldığınız yerin bir resmi ve isterseniz video ile sesi. Taşımak, yedeklemek ya da teslim etmek için tek bir dosya; her parçası standart araçlarla okunabilir.
Kısaca
| Uzantı | .usfx |
|---|---|
| Ortam türü | application/x-usfx, bir tür application/zip. Apple sistemlerinde org.subtitld.usfx. |
| Belirtim | Bu sayfa. Paket, PKWARE'ın ZIP'idir (APPNOTE.TXT); belge, Subtitld'nin öğeleriyle USF 1.0'dır. |
| Paket | ZIP; üyeleri Deflate (RFC 1951) ile sıkıştırılır ve CRC-32 ile denetlenir; 2 GiB'ı aşan dosyalar için Zip64 |
| İlk üye | subtitles.usf: adı, Subtitld'nin kaydettiği her projede 30. bayttadır |
| Zaman hassasiyeti | Altyazılar: milisaniye. Dublajlar: tam saniyeler, gerektiği kadar ondalıkla. |
| Metin kodlaması | UTF-8, hem XML'de hem üye adlarında |
| Biçimlendirme | USF'ninki: italik, kalın, altı çizili, üstü çizili, renk ve dokuz yer |
| Konuşmacılar | Her birinin bir adı, bir rengi, bir resmi ve bir sesi |
| Diller | Özgün dil ve her çeviri, her biri bir blok, ISO 639-2 koduyla ve adıyla |
| İçerdiği ortam | Dublajlar ve konuşmacıların resimleri; istendiğinde video, sesi, ayrılmış vokalleri ve arka planı ve zaman çizelgesinin dalga formu |
Dosyanın yapısı
Bir .usfx bir ZIP'tir. Her arşiv aracı onu açar; araç ısrar ederse uzantısını .zip yapmanız yeter.
Tears of Steel.usfx subtitles.usf manifest.xml thumbnail.png assets/speakers/Celia.png assets/dubs/77a03e27.wav assets/video/Tears_of_Steel.mkv assets/waveform.npy assets/audio/vocals.flac
- 1 · Belge
Projenin kendisi, USF olarak: her altyazı, çeviri, konuşmacı ve dublaj. Her zaman vardır, her zaman ilk sıradadır.
- 2 · Manifest
Dosyayı neyin yazdığı, videonun nerede olduğu, sesin nasıl karıştırıldığı ve diğer her üyenin ortam türü.
- 3 · Resim
Dosya yöneticilerinin projeden gösterdiği: kaldığınız kare, altyazısı ve oradaki zaman çizelgesi.
- 4 · Varlıklar
Her dublajın sesi ve konuşmacıların yüzleri; video, sesi ve dalga formu yalnızca siz isterseniz.
Belge ne olacağını söyler; varlıklar onun çaldıklarıdır. subtitles.usf içindeki bir dublaj, klibini paketteki yoluyla adlandırır, assets/dubs/77a03e27.wav; böylece paket başka bir klasöre, diske ya da bilgisayara taşınsa da eksiksiz kalır.
Üyeler
| Yol | İçerdiği | Sıkıştırma | Ne zaman yazılır |
|---|---|---|---|
subtitles.usf |
Belge: altyazılar, çeviriler, konuşmacılar, sesler, dublajlar | Deflate | Her zaman, ilk |
manifest.xml |
Manifest | Deflate | Her zaman, ikinci |
thumbnail.png |
Projenin 512 × 384 boyutlu PNG kartı | Stored | Yapılacak bir resim olduğunda |
assets/speakers/<speaker>.png |
Bir konuşmacının resmi, kenar başına en çok 256 piksel | Deflate | Siz kapatmadıkça |
assets/dubs/<uid>.<ext> |
Bir dublaj çekiminin sesi, çekimin kimliğiyle adlandırılmış | Deflate | Her zaman, sesi olan her çekim için |
assets/dubs/<uid>__<n>__<file> |
Bir çekimin bölünmüş ya da uzatılmış parçası ve uzatıldığı el değmemiş kaynak | Deflate | Bir çekim bölündüğünde ya da uzatıldığında |
assets/video/<file> |
Video | Deflate | Siz istediğinizde |
assets/waveform.npy |
Zaman çizelgesinin dalga formu tepeleri, bir NumPy dizisi | Deflate | Siz istediğinizde |
assets/audio/original.flac |
Videonun sesi | Deflate | Siz istediğinizde |
assets/audio/vocals.flac, background.flac |
Vokallere ve geri kalanına ayrılmış ses | Deflate | Siz istediğinizde |
assets/ içindeki adlar harflerden, rakamlardan, -, _ ve . karakterlerinden oluşur; başka her şey _ olur, yani Tears of Steel.mkv, Tears_of_Steel.mkv olarak saklanır. ASCII dışındaki harfler korunur; APPNOTE'un istediği gibi ad UTF-8 olarak yazılır ve öyle işaretlenir (ZIP başlığının 11. biti).
Resim neden sıkıştırılmadan saklanır? PNG zaten sıkıştırılmıştır; Deflate yalnızca zaman kaybettirir. Sıkıştırılmadan saklandığında baytları dosyada tam bir PNG olarak durur ve bir küçük resim oluşturucu hiçbir şey açmadan onları okur.
İlk baytlar
Her proje aynı şekilde başlar: bir ZIP yerel dosya başlığı, ardından ilk üyesinin adı.
50 4B 03 04 14 00 00 00 08 00 4E 70 51 5D 64 CE 1E 0B 6F 3B 00 00 7F E2 00 00 0D 00 00 00 73 75 62 74 69 74 6C 65 73 2E 75 73 66
- 1 · İmza
PK\3\4, 0 ile 3 arasındaki baytlar: bir ZIP üyesi burada başlar. - 2 · Başlık
Açmak için gereken sürüm 2.0; bayrak yok; yöntem 8, Deflate; MS-DOS biçiminde saat ve tarih (burada 17 Ekim 2026, 14:02:28); CRC-32; sıkıştırılmış ve sıkıştırılmamış boyutlar (15.215 ve 57.983 bayt).
- 3 · Ad uzunluğu
13, ek alan yok.
- 4 · Ad
subtitles.usf, 30. bayttan itibaren.
Üye sıkıştırılmış olsa bile ad hiçbir zaman sıkıştırılmaz. Bu da onu bir imza yapar: 30. bayttaki adı subtitles.usf olan bir ZIP, bir Subtitld projesidir. Haiku'nun Tracker'ı projeleri diğer arşivlerden tam olarak bu kuralla ayırır, 0.60 ("PK\003\004") [30] ("subtitles.usf" | "manifest.xml"), ve bu kural düz ZIP kuralından önce gelir. ODF ve EPUB da adı mimetype olan bir ilk üyeyle aynısını yapar.
Bir video, ZIP'in özgün 4 GiB sınırından büyük olabilir. Subtitld 2 GiB'tan itibaren Zip64'ün ek alanlarını ve son kayıtlarını yazar (APPNOTE bölüm 4.5); 65.535 üyeyi aştığında da öyle yapar. Subtitld, Windows küçük resim işleyicisi ve güncel her unzip bunları okur.
Manifest
<?xml version="1.0" encoding="UTF-8"?>
<manifest version="1.0">
<format>USFX</format>
<generator>Subtitld</generator>
<source path="/home/ana/Videos/Tears of Steel.mkv"
basename="Tears of Steel.mkv"/>
<voicemix volume="0.5000"/>
<entry path="subtitles.usf" type="application/x-usf+xml"/>
<entry path="thumbnail.png" type="image/png"/>
<entry path="assets/speakers/Celia.png" type="image/png"/>
<entry path="assets/dubs/77a03e27.wav" type="audio/wav"/>
</manifest>
| Öğe | İçerdiği |
|---|---|
<manifest version> |
Manifestin sürümü, 1.0 |
<format>, <generator> |
USFX ve dosyayı yazan: Subtitld |
<source path basename> |
Proje kaydedildiğinde videonun tam yolu ve yalnızca dosya adı |
<voicemix volume> |
Müzik/Vokal kaydırıcısının konumu: 0 yalnızca arka plan, 0.5 sesin olduğu gibi hâli, 1 yalnızca vokaller; dublajlar arka planla birlikte kısılır |
<entry path type> |
Manifestin kendisi dışında her üye için bir tane, her biri ortam türüyle |
Türler şunlardır: application/x-usf+xml, image/png, audio/wav, audio/flac, audio/mpeg, video/mp4, video/x-matroska, video/quicktime, video/webm, video/ogg, dalga formu ve geri kalan her şey için de application/octet-stream.
Videonun yolu dosyayla birlikte gider. <source path>, projeyi kaydeden bilgisayarda videonun bulunduğu yerdir; klasörler ve kullanıcı adı dahil. Bir projeyi paylaşmadan önce bunu aklınızda tutun. Yol hiçbir yere çıkmıyorsa Subtitld videoyu adıyla projenin klasöründe arar.
Belge
subtitles.usf bir Universal Subtitle Format dosyasıdır, UTF-8'dir, Subtitld'nin tek başına yazdığı gibidir ve bir projenin ihtiyaç duyduğu şeyler USF'nin kendi üslubuyla eklenmiştir: USF'de karşılığı olmayan yerlerde öğeler ve öznitelikler. Bilmediğini atlayan bir USF okuyucusu altyazılarını okur.
<USFSubtitles version="1.0"
xmlns:subtitldcc="https://subtitld.cc/ns/usf/1">
<metadata>
<title>Tears of Steel</title>
<author><name>Subtitld</name></author>
<language code="eng">English</language>
<subtitldcc:origin share-id="Xk3pQ9aZ2bT" version="3"/>
</metadata>
<styles>
<style name="Celia">
<fontstyle color="#e5484d"/>
<dubbing engine="edge-tts" voice="en-GB-SoniaNeural"
rate="0" pitch="0" fit_to_subtitle="true"/>
</style>
</styles>
<subtitles>
<language code="eng">English</language>
<subtitle start="00:00:23.000" stop="00:00:24.500">
<text speaker="Celia" style="Celia">You're a jerk, Thom.</text>
<dubbing uid="77a03e27" engine="edge-tts"
voice="en-GB-SoniaNeural" rate="0" pitch="0"
path="assets/dubs/77a03e27.wav"
start="23.0" end="24.5"/>
</subtitle>
</subtitles>
<subtitles>
<language code="por">Portuguese (Brazil)</language>
<subtitle start="00:00:23.000" stop="00:00:24.500">
<text speaker="Celia" style="Celia">Você é um idiota, Thom.</text>
</subtitle>
</subtitles>
</USFSubtitles>
Subtitld'nin USF'ye ekledikleri
| Nerede | Öğe ya da öznitelik | İçerdiği |
|---|---|---|
<metadata> |
<subtitldcc:origin share-id version> |
Projenin geldiği subtitld.cc altyazısı; böylece değişiklikler onun bir sonraki sürümü olarak yayımlanabilir. Kendi ad alanında, https://subtitld.cc/ns/usf/1, yalnızca böyle bir altyazı varsa yazılır. |
<styles> |
<style name> |
Her konuşmacı için bir tane, onun adıyla. Bir oynatıcıda her altyazının stilini değiştireceği için Default stili yoktur. |
<style> |
<fontstyle color> |
Konuşmacının rengi, #RRGGBB |
<style> |
<dubbing engine voice rate pitch fit_to_subtitle> |
Konuşmacının sesi: motor, ses, −100 ile 100 arasında hız ve perde, dublajların altyazılarının süresine uydurulup uydurulmadığı |
<text> |
speaker, style |
Kimin söylediği ve onun stili |
<text> |
alignment |
USF'nin dokuz yerinden biri, TopLeft ile BottomRight arası; alt orta için hiçbiri |
<subtitle> |
<dubbing> |
Altyazının dublajının bir çekimi, her biri için bir öğe |
<dubbing> |
uid engine voice rate pitch |
Çekimin kimliği ve yapıldığı ses |
<dubbing> |
path, raw_path |
Paketteki sesi ve uzatılmış bir çekimin yapıldığı kaynak |
<dubbing> |
start, end |
Zaman çizelgesinde çaldığı yer, saniye cinsinden |
<dubbing> |
<subclip type path raw_path start end offset rate> |
Bölünmüş ya da uzatılmış bir çekimin parçaları |
Düz bir .usf dosyasında konuşmacıların resimleri ve dublajların sesi XML'in içinde, <avatar> ve <data> içinde base64 olarak taşınabilir. Bir .usfx bunu asla yapmaz: bunlar kendi başlarına üyelerdir, base64'e göre dörtte bir daha küçüktür ve XML ayrıştırılmadan okunur.
Zamanlar
Bir altyazının start ve stop değerleri, en yakın milisaniyeye yuvarlanmış USF zamanlarıdır. Bir dublajın zamanları tam yazılmış düz saniyelerdir, 18.01579117916244: aynı 64 bitlik sayı olarak geri okunan en kısa ondalık; böylece sürüklenerek yerleştirilmiş bir klip tam olarak bıraktığı yere döner.
Eski Subtitld sürümleri zamanları bir milisaniye erken, sıfırdaki bir başlangıcı da 23:59:59.999 olarak yazıyordu. Subtitld bu değeri sıfır olarak okur ve milisaniyeyi olduğu gibi bırakır.
Çekimler ve alt klipler
Bir altyazının birkaç çekimi olabilir. İlk <dubbing> çalınandır; diğerleri alternatiflerdir, siz birini seçene kadar sessizdir ve seçilen öne geçer.
Bölünmüş ya da uzatılmış bir çekim, bir ses düzenleyicideki klipler gibi yerleştirilmiş bir <subclip> listesi tutar:
| Öznitelik | Anlamı |
|---|---|
start, end |
Kaynak dosyanın çalınan kısmı, dosyanın başından saniye cinsinden |
offset |
O kısmın başladığı yer, çekimin start değerinden saniye cinsinden |
rate |
Uzatıldığı hız: 20, %120 demektir |
path, raw_path |
Çalınan ses ve uzatıldığı el değmemiş ses |
Bir alt klip, çekimin start değerine offset eklenerek bulunan yerden, end eksi start saniye boyunca çalar. Boşluklar sessizliktir; çakışmalar karıştırılır. Kaynaklar asla değiştirilmez; böylece her bölme ve uzatma geri alınabilir ve bir uzatma her zaman raw_path üzerinden yeniden yapılır, asla bir uzatmanın uzatmasından değil.
Çeviriler
Her dilin kendi <subtitles> bloğu vardır; ISO 639-2 koduyla ve öğenin içinde dilin adıyla adlandırılır, bu da Brezilya Portekizcesini Portekiz Portekizcesinden ayırır. Her blok her altyazıyı aynı zamanlarda tutar; dublajları yalnızca ilki tutar. Subtitld bir çeviriyi altyazısıyla başlangıç zamanına göre ya da en çok çakıştığı altyazıya göre eşleştirir; bu yüzden başka araçların yazdığı blokların hizalı olması gerekmez.
Proje açmak
Büyük projeler hemen açılır: Subtitld önce düzenleyicinin ihtiyaç duyduğunu, geri kalanını siz çalışırken okur.
subtitles.usf, altyazılar, konuşmacılar ve sesler için okunurmanifest.xml, video ve karışım içinassets/speakers/, yüzler, ana iş parçacığı dışında çözülür- Pakete eklenmiş bir video, bir kez çıkarılır
- Önce dublajlar, onları çalabilmeniz için
- Ardından dalga formu
- En son ayrılmış ses
Zaman çizelgesindeki her dublaj, sesi gelene kadar taralı görünür, sonra çalar.
Üyeler projenin yanına değil, Subtitld'nin kendi klasörlerine çıkarılır: belge, yüzler ve dublajlar, adı projenin yolunun MD5'i olan bir önbellek klasörüne. Siz çalışırken gelenler 1 MiB'lık parçalar hâlinde geçici bir dosyaya akar ve tamamlanınca yeniden adlandırılarak yerine konur; böylece yarıda kalan bir çökme yarım yazılmış hiçbir şey bırakmaz. Aynı proje bir dahaki açılışında, orada zaten bulunan bir dosya ancak boyutu üyeninkiyle tam olarak aynıysa yeniden kullanılır; değilse yeniden çıkarılır.
Video şu sırayla aranır:
- paketin içindeki,
assets/video/içinde bir video; - hâlâ oradaysa
<source path>içindeki yol; - projenin klasöründe,
<source basename>içindeki adı taşıyan bir dosya; - hiçbiri yoksa Subtitld onu sorar.
ZIP olmayan, kesik ya da bir CRC denetiminden geçemeyen bir dosya hiçbir şey açmaz: Subtitld bunu söyler ve dosyayı son kullanılanlar listesinden çıkarır. Eski projeler de açılır: manifesti olmayan ya da USF'si ZIP'in kökünde başka bir adla duran projeler.
Proje kaydetmek
Kaydet, elinizdeki projeyi asla riske atmaz.
- Bir anlık görüntü. Proje, kaydettiğiniz andaki hâliyle kopyalanır; böylece yazılırken düzenlemeye devam edebilirsiniz. Kaydetmeler, otomatik kaydetmeler ve yedekler sırayla çalışır: aynı anda yalnızca biri yazar.
- Yeni bir dosya. Paket, projenin yanına
<project>.usfx.tmpolarak yazılır. - Eksik yok. Sesi henüz önbellekte olmayan, hâlâ gelmekte olan ya da temizlenmiş bir dublaj, değiştirilmek üzere olan dosyadan kopyalanır. Videosuz kaydedilen bir proje, sahip olduğu resmi korur.
- Denetlenir. Yeni dosya yeniden açılır ve her üyenin CRC-32'si doğrulanır.
- Değiştirilir. Ancak o zaman tek bir yeniden adlandırmayla (
os.replace) projenin yerini alır: projenin adı hiçbir zaman yarım bir proje taşımaz.
Herhangi bir adım başarısız olursa geçici dosya silinir, diskteki proje sizin sahip olduğunuz projedir ve düzenlemeleriniz Subtitld'de hâlâ açıktır. Bir projenin dublajları hâlâ gelirken Kaydet onları bekler.
İçine neler girer
Genel ayarlar, ardından USFX, kaydettiğiniz her proje için bir projenin başka neler taşıyacağını seçer:
- Konuşmacı portre görselleriKonuşmacıların yüzleri. Açık.
- Zaman çizelgesi dalga formu önbelleğiDalga formu; böylece proje başka bir bilgisayarda onu yeniden hesaplamadan açılır. Kapalı.
- Özgün ses parçasıVideonun sesi, FLAC olarak. Kapalı.
- İşlenmiş ses (vokal + arka plan)Vokallere ve geri kalanına ayrılmış ses, FLAC olarak; böylece ayırmanın yeniden çalışması gerekmez. Kapalı.
- Özgün video dosyasıVideonun kendisi: her şeyi içeren tek bir dosya, video kadar büyük, hatta daha büyük. Kapalı.
Her biri, Subtitld'nin koyacak bir şeyi olduğunda girer: örneğin ayrılmış ses, ancak ayırma çalıştıktan sonra. Altyazılar, çeviriler, konuşmacılar, sesler ve her dublaj her zaman içeridedir. Deflate bir dublajın WAV'ından yaklaşık altıda bir kırpar; bir video ve FLAC neredeyse hiç küçülmez.
Otomatik kaydetme ve yedekler
- Proje dosyasını otomatik kaydet
.usfxdosyanızın kendisini, Kaydet gibi, aynı güvenli yolla yazar. USFX olarak kaydedilmiş bir proje için. - Otomatik yedeklerSaklanacak değişiklikler olduğunda, kendi dosyanızdan ayrı olarak Subtitld'nin yedek klasöründe
<project>_<YYYYMMDDHHMMSS>.usfxadlı eksiksiz bir.usfx. En çok şu kadar sakla değerini (siz seçmedikçe 20) aşınca en eskileri silinir.
Dosya yöneticilerinde
Küçük resim, Subtitld görünümünde bir karttır: projenin bırakıldığı yerdeki video karesi, üzerindeki altyazı ve altında oynatma kafası çevresindeki on iki saniyelik zaman çizelgesi; dalga formu ve konuşmacılarının renklerinde altyazılar. 512 × 384 boyutunda 4:3; böylece bir dosya yöneticisinin kare hücresini geniş bir kareden daha iyi doldurur. Video yoksa karenin yerinde Subtitld'nin işareti durur.
| Sistem | Tür | Sağladığı |
|---|---|---|
| Linux | shared-mime-info'da application/x-usfx, bir tür application/zip, *.usfx ile eşleşir |
Kendine ait bir simge; AUR paketiyle, bir freedesktop.org küçük resim oluşturucusu olan subtitld-thumbnailer ile küçük resimler |
| Windows | Yükleyicide ve MSIX paketinde bir dosya türü | Bir simge; ZIP'in merkezi dizinini Zip64 dahil kendisi okuyan ve PNG'yi Explorer'ın istediği boyutta WIC ile çözen bir kabuk küçük resim sağlayıcısı (UsfxThumbnail.dll, IThumbnailProvider) |
| macOS | public.zip-archive ile uyumlu org.subtitld.usfx türü |
Kendine ait bir simge |
| Haiku | Yukarıdaki algılama kuralıyla application/x-usfx |
Bir simge ve projeyi ZIP'ten ayıran bir Tracker |
Çift tıklandığında bir proje dördünde de Subtitld'de açılır. İki küçük resim oluşturucu da yalnızca thumbnail.png dosyasını okur, 8 MiB'ı aşanı reddeder ve PNG'nin imzasıyla, 89 50 4E 47 0D 0A 1A 0A, başlamayan hiçbir şeyi almaz. Windows'taki onu yalnızca Subtitld'nin yazdığı gibi sıkıştırılmadan saklanmışsa alır. Linux'taki yalnızca Python'un standart kitaplığını kullanır, çünkü dosya yöneticileri küçük resim oluşturucuları korumalı alanda ve aynı anda çok sayıda çalıştırır.
Bir .usfx'i kendiniz okumak
Bir projedeki hiçbir şey yalnızca Subtitld'ye ait değildir. İçine bakmak için:
unzip -l "Tears of Steel.usfx"
unzip -p "Tears of Steel.usfx" manifest.xml
Altyazılarını her dilde, Python'un standart kitaplığıyla okumak için:
import zipfile
import xml.etree.ElementTree as ET
def text_of(element):
"""A <text>'s words, <br/> as a line break."""
parts = [element.text or '']
for child in element:
parts.append('\n' if child.tag == 'br' else text_of(child))
parts.append(child.tail or '')
return ''.join(parts)
with zipfile.ZipFile('Tears of Steel.usfx') as usfx:
usf = ET.fromstring(usfx.read('subtitles.usf'))
for block in usf.iter('subtitles'):
language = block.find('language')
if language is not None:
print('#', language.get('code'), language.text)
for subtitle in block.iter('subtitle'):
text = subtitle.find('text')
print(subtitle.get('start'), subtitle.get('stop'),
text.get('speaker'), text_of(text))
Başka birinden gelen bir projeyi, yazmadığınız her XML'de olduğu gibi xml.etree yerine defusedxml ile ayrıştırın.
Bir tane yapmak
Subtitld'nin açtığı en küçük proje, bir subtitles.usf içeren bir ZIP'tir. Manifest yoksa Subtitld videoyu sorar. Dosya yöneticilerinin de tanıdığı bir proje yapmak için Subtitld'nin yazdığını izleyin:
- önce
subtitles.usf, sonramanifest.xml; - her üye Deflate ile sıkıştırılmış, sıkıştırılmadan saklanan
thumbnail.pngdışında; - dublajlar
assets/dubs/altında, belgede paketteki yollarıyla adlandırılmış; - her yerde UTF-8.
Subtitld bildiğini korur. Bir kaydetme, bu sayfadaki üyeleri ve Subtitld'nin eski belgeden anladıklarından yapılmış bir belge yazar. Başka bir aracın pakete eklediği bir dosya ya da USF'deki kendine ait bir öğe, Subtitld projeyi kaydettiğinde kaybolur. Kendi verilerinizi onun yanında tutun.
Nasıl karşılaştırılır
USFX, ofis paketlerinin ve e-kitapların belge paketleri gibi kurulmuştur: bir ZIP, XML'de bir ana belge, bir envanter ve yanlarında ortam dosyaları.
ODF (.odt) |
EPUB | Office Open XML (.docx) |
USFX | |
|---|---|---|---|---|
| Standart | OASIS ODF 1.3, Bölüm 2 | W3C EPUB 3.3, OCF'si | ECMA-376 Bölüm 2, OPC | Bu sayfa |
| Bir araç onu nasıl tanır | Sıkıştırılmadan saklanan bir ilk üye, mimetype |
Sıkıştırılmadan saklanan bir ilk üye, mimetype: application/epub+zip |
[Content_Types].xml |
İlk üyesinin adı, subtitles.usf, 30. baytta |
| Envanter | META-INF/manifest.xml, her dosya için bir tür |
META-INF/container.xml, ardından paket belgesi |
[Content_Types].xml ve _rels/ |
manifest.xml, her üye için bir tür |
| Ana belge | content.xml |
Paket belgesi ve omurgası | word/document.xml |
subtitles.usf |
| Ortam | Pictures/ |
Paketin herhangi bir yerinde | word/media/ |
assets/ |
| Önizleme | Thumbnails/thumbnail.png |
Bir kapak resmi | İsteğe bağlı bir küçük resim parçası | thumbnail.png, sıkıştırılmadan |
Ana belge kendi başına açık bir biçimdir: bir .usfx'in subtitles.usf dosyasını çıkarın, karşınızda 2002'den beri herkese açık bir belirtimi olan bir biçimde, bir USF dosyası olur.
Bilgi kırıntıları
Her projenin ilk üye adının başladığı bayt; Haiku da bir Subtitld projesini diğer ZIP'lerden bununla ayırır.
Bir projenin resminin boyutu: 4:3, çünkü dosya yöneticileri dosyaları kareler içinde gösterir.
.usfx'e Linux, Windows, macOS ve Haiku'da kendine ait bir simge, Windows Explorer'da ve Linux dosya yöneticilerinde de resmini veren sürüm.
İlgili biçimler
-
.usfUniversal Subtitle Format
-
.jsonJSON subtitles and transcripts
-
.ttmlTimed Text Markup Language
Subtitld'de bir video açın, altyazılarını hazırlayın ve kaydedin: bu bir .usfx'tir.