Práce s titulky - MujMAC.cz - Apple, Mac OS X, Apple iPod

Odběr fotomagazínu

Fotografický magazín "iZIN IDIF" každý týden ve Vašem e-mailu.
Co nového ve světě fotografie!

 

Zadejte Vaši e-mailovou adresu:

Kamarád fotí rád?

Přihlas ho k odběru fotomagazínu!

 

Zadejte e-mailovou adresu kamaráda:

Soutěž

Sponzorem soutěže je:

IDIF

 

Odkud pochází fotografka Anne Erhard?

V dnešní soutěži hrajeme o:

Seriály

Více seriálů



Tipy a Triky

Práce s titulky

25. července 2006, 00.00 | Minule jsme se seznámili se základy toho, co umí kontejner QuickTime; dnes se budeme podrobněji zabývat pouze jednou z možností, jež nabízí – použitím textových streamů pro titulky.

Minule jsme se seznámili se základy toho, co umí kontejner QuickTime; dnes se budeme podrobněji zabývat pouze jednou z možností, jež nabízí – použitím textových streamů pro titulky. Jak už víme, v kontejnetu QuickTime může být libovolný počet textových streamů; každý z nich může mít nezávisle na ostatních zvolený jazyk – což je vhodné, ačkoli, jak také víme odminula, stejně je pro přepínání titulků lepší používat přímé řízení streamů pomocí služeb QuickTime Pro (v okně s přehledem streamů, jež vyvoláme příkazem "Show Movie Properties"), než poněkud nedotaženou podporu pro přepínání jazyků.

Co to je textový stream?

S trochou zjednodušení můžeme říci, že textový stream je navržen právě pro titulky: může obsahovat řadu samostatných textů, z nichž každý je označen výchozím a cílovým časem. Přehrávač QuickTime pak pro každý titulek v každém aktivním textovém streamu prostě titulek vyrenderuje na patřičné místo v jeho výchozím čase, a opět jej odstraní v čase cílovém.

Samozřejmě, že "patřičné místo" můžeme sami určit – každý videostream (mezi něž de facto textové streamy patří) má určenu velikost a také svou relativní pozici vůči ostatním streamům:

Stejně můžeme rozhodnout, jakým písmem se titulky mají renderovat, v jaké barvě to má být, a řadu dalších atributů.

Pro titulkové streamy má QuickTime vlastní formát, s poměrně bohatými možnostmi nastavení. Podrobný popis tohoto formátu lze nalézt na webu Apple; v praxi však je pohodlnější nechat titulky v patřičném formátu vygenerovat přímo aplikaci QuickTime Player, a pak jen potřebným způsobem upravit časové body pro jejich zobrazení a skrytí. K tomu je vhodný následující postup:

  • nejprve si připravíme titulky jako obyčejný textový soubor, v němž je každý titulek na samostatném řádku;
  • takovéto titulky naimportujeme do přehrávače QuickTime Player;
  • a hned je zase vyexportujeme, ale ve formátu "Text to Text" s nastavením "Text with Descriptors".

Výsledný textový soubor obsahuje časové značky, jež můžeme snadno změnit a soubor opět naimportovat do aplikace jako další stream:

{QTtext}{font:Helvetica}{italic}{dropShadow:on}{anti-alias:on}
{keyedText:on}{size:20}{textColor: 65535, 65535, 65535}
{backColor: 255, 255, 255}{justify:center}{timeScale:1000}
{width:678}{height:60}{timeStamps:absolute}{language:0}{textEncoding:0}
[00:00:00.000]
{dropShadowOffset: 4, 4}{dropShadowTransparency:128} 
[00:02:28.900]
{dropShadowOffset: 4, 4}Thank you very much
and welcome to TO TELL THE TRUTH
[00:02:30.949]
{dropShadowOffset: 4, 4} 
[00:02:31.471]
{dropShadowOffset: 4, 4}Our first guest he's made a career
out of being the most
[00:02:34.203]
...

Trochu "podraz" zde může být s češtinou: formát QuickTime sice podporuje UNICODE, jenže poněkud šíleným způsobem, kdy jsou v UNICODE pouze samotné titulky, zatímco časové značky a ostatní tagy jsou uloženy jako osmibitové ASCII; upravovat takový soubor v běžném textovém editoru je mírně řečeno poněkud problematické, a specializovaný editor – pokud vím – neexistuje. Proto je většinou lepší zvolit češtinu jako jazyk titulků prostřednictvím tagu {language:} – jak víme již z minulého dílu, čeština má v QuickTime kódové číslo 38 – a uložit titulky v kódování Mac OS CE: díky českému jazyku QuickTime toto kódování použije automaticky a vše je bez problémů.

(Ovšem, problém může nastat v případě, kdy by naše titulky měly obsahovat některé znaky, jež nejsou součástí kódové tabulky Mac OS CE; pak již by nezbylo, než použít onen dosti šílený formát s využitím UNICODE.)

Co s formátem SRT?

Na Internetu existuje řada serverů, na nichž jsou k dispozici titulky ve formátech, jež užívají windowsovské přehrávače spolu s kontejnery AVI (mimochodem, existovalo dokonce i jedno poněkud šílené rozšíření kontejneru AVI, jež ukládalo titulky – jak tomu podle zdravého rozumu samozřejmě má být – přímo do kontejneru spolu s filmem; bohužel se však neujalo).

Jelikož jde o formát textový, je zřejmé, že není příliš těžké vytvořit aplikaci, jež tyto formáty bude vzájemně převádět. Velmi šikovnou takovou aplikací je kupříkladu TitleLab: ta dokáže načíst v podstatě libovolný formát titulků, s nimiž se setkáme na Webu, a vyexportovat jej do formátu QuickTime. Navíc aplikace TitleLab nabízí pohodlné grafické uživatelské rozhraní pro nastavení všemožných atributů titulků, a velmi šikovná a pohodlná je také pro synchronizaci titulků s filmem.

Osobně jsem v aplikaci TitleLab narazil pouze na dva problémy. První z nich není nikterak zásadní: při synchronizaci si musíme jen dávat bedlivý pozor, abychom nenastavili překrývající se časy titulků (tj. např. jeden do 1:01:01, následující od 1:01:00). Aplikace sice obsahuje kontrolu a varování; je v ní však – přinejmenším ve versi 0.5b1 již mám – nepříjemná chybka: varování se totiž nedá nijak odstranit, jediný způsob, jak se jej zbavit, je aplikaci ukončit :)

Druhý problém se opět týká těch nešťastných českých nabodeníček: aplikace TitleLab (přinejmenším ve výše zmíněné versi) prostě jaksi češtinu nebere v úvahu, natvrdo předpokládá, že zdrojové titulky jsou v nějakém zcela nesmyslném kódování (patrně Windows Latin 1), a z českých znaků tedy udělá naprostý galimatyáš.

Možná existuje i lepší řešení; nejlepší však, jež jsem objevil já, je využít kódování "Non-lossy ASCII", jež Mac OS X (spolu s nepřebernou řadou dalších) standardně podporuje. Kódování "Non-lossy ASCII" je šikovné v tom, že libovolný znak UNICODE překóduje do čistého sedmibitového ASCII, jež celkem vzato žádná aplikace již nijak poškodit nemůže :)

  • nejprve tedy načteme výchozí titulky do TextEditu tak, aby byla čeština korektně čitelná – pro české titulky to skoro jistě bude znamenat kódování Windows CP1250;
  • uložíme text do jiného souboru, ale právě v kódování "Non-lossy ASCII";
  • tento druhý soubor načteme do aplikace TitleLab, podle potřeby sesynchronizujeme s videem, a po nastavení požadovaných atributů vyexportujeme do formátu QuickTime;
  • výsledný soubor opět načteme do TextEditu, samozřejmě v kódování "Non-lossy ASCII";
  • do nastavení jazyka – tag {language:} – zapíšeme češtinu (číslo 38), a text uložíme v kódování "Central European (Mac OS)";
  • tento výsledek nyní můžeme importovat do aplikace QuickTime Player a uložit jako nový stream.

Snad jediná nevýhoda kódování "Non-lossy ASCII" spočívá v tom, že samozřejmě neodpovídají velikosti textu; používáme-li proto v aplikaci TitleLab její schopnost spočíst velikost největšího z titulků při daných atributech, je zapotřebí pro tento účel do ní načíst původní titulky, hodnoty si zapamatovat, a do titulků vygenerovaných v "Non-lossy ASCII" je pak dosadit ručně.

Titulky z DVD

Získat titulky z DVDisku není tak jednoduché: problém spočívá v tom, že na DVD nejsou titulky uloženy v textové, ale v grafické podobě. Každý titulek na DVD je uložen jako bitmapový obrázek patřičného rozměru, podporující průhlednost; při přehrávání jej pak přehrávač DVD zobrazí "přes" video. Výhodou tohoto přístupu samozřejmě je to, že nemohou nastat problémy s písmy, s kódování znaků a podobně (a nadto je možné do titulkových streamů ukládat obecnou grafiku); nevýhodou však je to, že nelze z DVD titulky získat jako text.

Jistě, můžeme titulky z DVD načíst jako bitové mapy, a na ně pak aplikovat nějaký program OCR, který z nich zpětně dekóduje původní texty. Pro Mac OS X aplikace, jež právě tohle dělá, samozřejmě existuje – jedná se o program D-Subtitler:

Mé zkušenosti s ním jsou neobyčejně špatné: neustále vyžaduje od uživatele korekce, mnohdy v neopravitelných případech (kdy kupříkladu samotná diakritická znaménka interpretuje jako samostatný znak, nezávislý na textu "pod nimi"); chcete-li však, vyzkoušejte jej sami...

Obsah seriálu (více o seriálu):

Tématické zařazení:

 » Rubriky  » Zábava  

 » Rubriky  » Informace  

 » Rubriky  » Agregator  

 » Rubriky  » Multimedia  

 » Rubriky  » Tipy a Triky  

 » Rubriky  » Software  

 

 

 

 

Přihlášení k mému účtu

Uživatelské jméno:

Heslo: