VSFilter (TextSub & VobSub)
Přehled
autor: Gabest
verze: 2.32
stáhnout: Project:
guliverkli
kategorie: Pluginy pro titulky
požadavky:
Popis
Formát titulků může být *.sub, *.srt, *.ssa, *.ass, atd. (ssa = Sub Station
Alpha).
syntaxe: TextSub("C:\My Folder\MY subFile.XXX") nebo VobSub("C:\My Folder\MY subFile.XXX")
příklady:
mpeg2source("F:\From_hell\from_hell.d2v")
VobSub("F:\From_hell\VTS_01_0.sub")
mpeg2source("F:\From_hell\from_hell.d2v")
TextSub("F:\From_hell\fh_ned.srt")
chyba: Uvidíte malý obdélník v místě vložení titulků (pokud se
podíváte blíže). Více informací najdete zde.
poznámka: Balík obsahuje dva soubory dll. Unicode vydání může být použito ve
W2k nebo vyšším systému, ten druhý je pro uživatele W98 (W98 nepodporuje nativně
unicode).
Více informací (od Ernst Peché)
SubRip
Titulky na DVD jsou uloženy jako malé obrázky, ne jako text - ale TextSub filtr potřebuje textový soubor.
To vše je uloženo uvnitř VOB souboru, každý jazyk v odděleném streamu, a vy musíte nejdříve zvolit požadovaný stream.
Pak převeďte tyto obrázky na plain text pomocí OCR (optical character recognitionoptické rozpoznávání znaků) tohoto nástroje (SubRip).
Musíte program jednou naučit každý znak (můžete pak uložit tyto mapy pro pozdější použití) - pracuje to opravdu dobře, takže tím neztratíte moc času.
Existuje řada formátů titulků, ale většina neobsahuje formátovací informace.
Takže je dobré zvolit použití "SSA" formátu, který v souboru obsahuje také formátování.
VSFilter.DLL
Tento obsahuje funkci AviSynthu TextSub , která v podstatě bere textový soubor jako vstup a píše titulky z tohoto souboru do video klipu. Má následující docela jednoducho syntaxi:
TextSub ("path\filename.ext" [, charset [, fps]])
Takže obvykle jen napíšete
TextSub ("váš_soubor.ssa")
Kromě SSA (Sub Station Alpha) TextSub může pracovat s SRT (SubRip), SUB (MicroDVD), PSB (PowerDivx), SMI (SAMI), ASS (Advanced Substation Alpha).
Pro přepsání výchozího stylu můžete použít druhý soubor nazvaný např. "váš_soubor.ssa.style" (první soubor + ".style") který musí být ve formátu SSA nebo ASS
syntaxe a obsahuje jen formátovací informaci (má smysl jen když se NEpoužívá SSA/ASS).
Většina SSA příkazů je ignorována, protože zde opravdu nejsou užitečné.
SubResync
Pokud chcete upravit formát vašich titulků (barvu, pozici atd.) můžete to udělat pomocí tohoto nástroje - samozřejmě můžete prostě upravit SSA sobor pokud znáte syntaxi.
SSA syntaxe
Pokud chcete nastavit formát ručně, zde je základní SSA syntaxe.
Musíte přísně dodržovat syntaxi, jinak bude řádek nebo celý soubor odmítnutý.
Ty údaje, které jsou definitivně použity v TextSub jsou psány tučně.
S řádkem začínajícím ";" (středníkem) je zacházeno jako s řádkem komentáře.
Každý řádek začíná popisovačem (klíčovým slovem) řádku, který popisuje typ údajů.
Nejdříve malý příklad:
[Script Info]
; Toto je Sub Station Alpha v4 skript.
;
ScriptType: v4.00
Collisions: Normal
PlayResX: 720
PlayResY: 576
Timer: 100.0000
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline,
\ Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Style1,Arial,32,&Hffffff,&H000000,&H404040,&H404040,0,0,1,2,0,2,30,30,40,0,0
Style: Default,Arial,18,&Hffffff,&H00ffff,&H000000,&H000000,-1,0,1,2,3,2,20,20,20,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:02:12.69,0:02:13.92,Style1,Comment,0000,0000,0000,,San Francisco, 1876
Dialogue: Marked=0,0:07:23.37,0:07:24.96,Style1,Comment,0000,0000,0000,,Er ist unverschämt.
Dialogue: Marked=0,0:07:25.13,0:07:28.28,Style1,Comment,0000,0000,0000,,So ist es hier.\NDas Land einfacher Krämerseelen.
V souboru jsou (obvykle tři) části:
Script Info
Tato část obsahuje hlavičky a obecné informace o skriptu.
Řádek, který říká "[Script Info]" musí být prvním řádkem v4 skriptu.
- Script Type: Toto je verze formátu SSA skriptu např. "V4.00". Je použitý v SSA , aby upozornil pokud používáte starší verzi SSA než
je verze, která vytvořila skript. ASS verze je "V4.00+".
- Collisions: Toto určuje jak je s titulky hýbáno, když se automaticky brání kolizím na obrazovce. Pokud údaje říkají "Normal" pak se SSA pokusí
umístit titulky do pozice zadané pomocí "margins". Nicméně, titulky mohou být posunuty svisle, aby se zabránilo kolizím na obrazovce.
S ochranou proti kolizím "normal" , budou titulky "stack up" - hromaděny jeden nad druhým - ale budou vždy umístěny tak blízko vertikálnímu
(spodnímu) okraji jak je to možné - a budou vyplňovat mezery "gaps" jiných titulků, pokud je dostatek místa. Pokud údaje říkají "Reverse" pak budou titulky
posunuty nahoru pro vytvoření místa pro následné překrytí titulků. To znamená, že titulky mohou být téměř vždy čteny od shora dolů - ale také to znamená, že
první titulek se může objevit napůl nad obrazovkou před tím než se objeví následné překrývající titulky. Může to využít hodně plochy obrazovky.
- PlayResY: Toto je výška využité obrazovky.
- PlayResX: Toto je využitá šířka obrazovky.
Tento údaj je definitivně použit a zvětšuje (zmenšuje) výsledný text.
- Timer: Toto je Timer Speed (časovač rychlosti) pro skript, v procentech. Tento údaj se zdá, že NENÍ použit.
např. "100.0000" je přesně 100%. Má čtyři cifry následované desetinnou tečkou. Timer speed je násobič času použitý na SSA hodiny pro protažení
nebo zkrácení skriptu. Rychlost větší než 100% zkrátí celkovou délku, a znamená, že titulky se budou progresivně objevovat dříve a dříve.
Rychlost menší než 100% zvětší celkovou délku skriptu a znamená to že titulky se budou objevovat později a později (jako pozitivní rampa času).
Protažení nebo zkrácení nastane jen při přehrávání skriptu - tato hodnota nemění skutečné časování pro každý případ uvedený ve skriptu. Prověřte si to v
SSA příručce, pokud chcete vědět proč je "Timer Speed" výkonnější než "Ramp Time", dokonce přesto, že oba dosahují stejného výsledku.
v4 Styles
Tato část obsahuje všechny styly Style definicí vyžadovaných skriptem. Každý "Style" použitý titulky ve skriptu by měl být definován zde.
Jakákoli nastavení ve Style, (kromě typu shadow/outline a depth) mohou být přepsána řídícími kódy v textu titulků.
Pole, která se objevují v každém řádku definice Style jsou jmenné speciální řádky s typem řádku "Format:". Formátový řádek se musí objevit před
jakýmkoli Style - protože definuje jak bude SSA interpretovat definující řádky pro Style. Jména polí uvedená ve formátovém řádku musí být správně zapsána! Pole jsou takováto:
Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR,
MarginV, AlphaLevel, Encoding
Formátový řádek umožňuje v budoucnu přidat nové pole do formátu skriptu, a ještě umožňuje starým verzím softwaru číst pole, která rozpozná - dokonce i když je změněno pořadí polí.
- Name: Jméno stylu Style. Rozlišuje velká a malá písmena. Nelze používat čárky mezi slovy.
- Fontname: Jméno fontu použitého ve Windows. Rozlišuje velká a malá písmena.
- Fontsize:
- PrimaryColour: Dlouhá celočíselná BGR (blue-green-red , modrá-zelená-červená) hodnota, tj. bajtové pořadí v hexadecimálním ekvivalentu tohoto pořadí je BBGGRR
Je to barva, ve které se titulky normálně objeví.
- SecondaryColour. Dlouhá celočíselná BGR (blue-green-red , modrá-zelená-červená) hodnota, tj. bajtové pořadí v hexadecimálním ekvivalentu tohoto pořadí je BBGGRR
Tato barva může být použita místo Primary colour, když je titulek automaticky posunut, aby se zabránilo kolizím na obrazovce, pro odlišení jiných titulků.
- TertiaryColour. Dlouhá celočíselná BGR (blue-green-red , modrá-zelená-červená) hodnota, tj. bajtové pořadí v hexadecimálním ekvivalentu tohoto pořadí je BBGGRR
Tato barva může být použita místo Primary nebo Secondary colour , když je titulek automaticky posunut, aby se zabránilo kolizím na obrazovce, pro odlišení jiných titulků.
- BackColour. Toto je barva obrysu nebo stínu titulků, pokud jsou použity. Dlouhá celočíselná BGR (blue-green-red , modrá-zelená-červená) hodnota, tj. bajtové pořadí v hexadecimálním
ekvivalentu tohoto pořadí je BBGGRR.
- Bold. Toto definuje zda je text tučný (true) nebo ne (false). -1 je True, 0 je False. Toto je nezávislé na atributu kurzívy Italic - můžete mít text, který je
jak tučný tak i kurzíva.
- Italic. Toto definuje zda je text psaný kurzívou (true) nebo ne (false). -1 je True, 0 je False. Toto je nezávislé na atributu tučného písma Bold - můžete mít text, který je
jak tučný tak i kurzíva.
- BorderStyle. 1=Obrys + Stín, 3=Neprůhledný box
- Outline. Pokud je BorderStyle = 1, pak toto zadává šířku obrysové čáry kolem textu, v pixelech.
Hodnoty mohou být 0, 1, 2, 3 nebo 4.
- Shadow. Pokud je BorderStyle = 1, pak toto zadává hloubku stínu za textem, v pixelech. Hodnoty mohou být 0, 1, 2, 3 nebo 4. Stín je vždy použit jako doplněk k
obrysové čáře - SSA vynutí obrysovou čáru 1 pixel pokud není zadaná žádná její šířka.
- Alignment. Toto nastavuje jak je text "zarovnaný" mezi levým a pravým okraje obrazu, a také jeho vertikální umístění. Hodnoty mohou být 1=Vlevo, 2=Na střed, 3=Vpravo.
Přidejte 4 k hodnotě pro "Toptitle" - horní titulek. Přidejte 8 k hodnotě pro "Midtitle" - středový titulek.
Např. 5 = vlevo zarovnaný horní titulek
- MarginL. Toto definuje levý okraj v pixelech. Je to vzdálenost od levé hrany obrazu. Tři okraje obrazu (MarginL, MarginR, MarginV) definují
oblasti ve kterých bude text titulků zobrazen.
- MarginR. Toto definuje pravý okraj v pixelech. Je to vzdálenost od levé hrany obrazu. Tři okraje obrazu (MarginL, MarginR, MarginV) definují
oblasti ve kterých bude text titulků zobrazen.
- MarginV. Toto definuje vertikální levý okraj v pixelech.
Pro subtitle - spodní titulek je to vzdálenost od spodního okraje obrazu.
Pro toptitle - horní titulek je to vzdálenost od horního okraje obrazu.
Pro midtitle - střední titulek, je hodnota ignorována - text bude vertikálně vystředěn.
- AlphaLevel. Toto definuje průhlednost textu. SSA to zatím nepoužívají, ale TextSub to používá.
- Encoding. Toto zadává sadu znaků fontu nebo enkódování a na vícejazyčných instalacích Windows to poskytuje přístup ke znakům použitým ve více než jednom jazyku.
Obvykle je to 0 (nula) pro English (Western, ANSI) Windows.
Events
Toto obsahuje text titulků, jejich časování, a jak by měli být zobrazeny. Celkem všechny funkce jsou podporovány v TextSub.
Pole, která se objeví v každém řádku Dialogu jsou definována Formátem: řádek, který se musí objevit před jakýmikoli dalšími událostmi. Formátový řádek zadává jak SSA bude interpretovat všechny
následující Event řádky (řádky vlastního dění - vlastních titulků). Názvy polí musí být správně zapsány (vyhláskovány), a jsou následující:
Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Posledním polem bude vždy pole Text, takže může obsahovat čárky. Formátový řádek umožní v budoucnu přidat pole do skriptového formátu, a ještě umožňuje starým verzím
softwaru číst pole, která rozpozná - dokonce i když je pořadí polí změněno.
- Marked
Marked=0 znamená, že řádek není zobrazen jako "Marked" - označený v SSA.
Marked=1 znamená , že řádek je zobrazen jako "Marked" - označený v SSA.
- Start
Počáteční čas Event - vlastních titulků, ve formátu 0:00:00:00 t.j. Hod:Min:Sek:setiny. Je to uplynulý čas při přehrávání skriptu, ve kterém se text objeví v obrazu. Všimněte si, že
je jen jedna cifra pro hodiny!
- End
Koncový čas pro Event - vlastních titulků, ve formátu 0:00:00:00 t.j. Hod:Min:Sek:setiny. Je to uplynulý čas při přehrávání skriptu, ve kterém text zmizí z obrazu. Všimněte si, že
je jen jedna cifra pro hodiny!
- Style
Název stylu. Pokud je to "Default" - výchozí, pak bude dosazen váš vlastní *Výchozí styl.
Nicméně, výchozí styl použitý autorem skriptu IS uložený ve skriptu bude i přesto SSA ignorovat - takže pokud ho chcete použít, informace je taková - mohli by jste dokonce změnit
jméno v řádku definice stylu, tak, že se objeví v seznamu "script" stylů.
- Name
Jméno herce. Je to jméno herce, který vede dialog. Je to jen pro informaci, aby pak bylo jednodušší skript upravovat/načasovat.
- MarginL
4-ciferné nadřazení (přepsání) levého okraje. Hodnoty jsou v pixelech. Samé nuly znamenají výchozí okraje definované použitým stylem.
- MarginR
4-ciferné nadřazení (přepsání) pravého okraje. Hodnoty jsou v pixelech. Samé nuly znamenají výchozí okraje definované použitým stylem.
- MarginV
4-ciferné nadřazení (přepsání) spodního okraje. Hodnoty jsou v pixelech. Samé nuly znamenají výchozí okraje definované použitým stylem.
- Effect
Přechodový efekt. Toto je buď prázdné, nebo obsahuje informaci pro jeden ze tří přechodových efektů implementovaných v SSA v4.x
Názvy efektů rozlišují velká a malá písmena a musí se objevit přesně jak je ukázáno. Názvy efektů nemají kolem sebe uvozovky.
"Scroll up;y1;y2;delay[;fadeawayheight]"
"Scroll down;y1;y2;delay[;fadeawayheight]"
znamená, že text/obrázek bude rolován nahoru/dolů v obrazu. Parametry za slovy "Scroll up" jsou oddělené středníky.
Hodnoty y1 a y2 definují vertikální region v obrazu ve kterém bude text rolován. Hodnoty jsou v pixelech, a je jedno, která hodnota (horní nebo spodní) bude první.
Pokud jsou hodnoty nulové, pak bude text rolovat nahoru přes celou výšku obrazu.
Hodnota zpoždění může být číslo od 1 do 100, a zpomaluje rolování - nula znamená žádné zpoždění a rolování bude tak rychlé jak jen to bude možné.
Parametry fadeawayheight mohou být použity pro vytvoření rolovaného textu na stranách průhledného.
"Banner;delay"
"Banner;delay[;lefttoright;fadeawaywidth]"
znamená že text bude vynucen do jednoho řádku, bez ohledu na délku, a rolován zprava doleva napříč obrazem.
lefttoright 0 nebo 1. Toto pole je volitelné. Výchozí hodnota je 0 , aby byl zpětně kompatibilní.
Hodnota zpoždění může být číslo od 1 do 100, a zpomaluje rolování - nula znamená žádné zpoždění a rolování bude tak rychlé jak jen to bude možné.
Parametry fadeawaywidth mohou být použity pro vytvoření rolovaného textu na stranách průhledného.
$English Date: 2004/08/17 20:31:19 $
$Český překlad:7.5.2009