Můj iPod   Digit   CLICK!   Grafika   Printing   Builder   WebTip   Digineff   Fotografování   Galerie   3D Scéna

Práce s titulky


25.07.2006 | Čada Ondřej
Rubrika: Multimedia
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...

Autor článku: Čada Ondřej

Ondřej Čada
Autor je dlouholetým uživatelem a programátorem na systémech NeXTSTEP a OpenStep, a je fantasta a snílek.


Digitální video krok za krokem

Máte v plánu natočit vlastní video? Vlastníte Maca? V tom případě vám chybí už jen kniha Digitální video krok za krok z nakladatelství Grafika Publishing.

V knize "Digitální video krok za krokem" se dočtete vše potřebné o kamerách a snímání videa, o střihu — počínaje nejjednodušším střihem z kamery na videorekordér či jinou kameru, přes nesmírně pohodlný střih v aplikaci iMovie až po profesionální služby, které nabízí svým uživatelům Final Cut Pro. Na něm kniha ukazuje i pokročilejší techniky, včetně tvorby trikových záběrů. Kniha se ovšem nevěnuje pouze snímání a střihu videa, ale i archivaci - tedy programům jako je iDVD či DVD Studio Pro.

Na 316 stranách čtenář získá bližší informace ohledně střihu a zpracování videa v prostředí Mac OS X. Autorem knihy je Ondřej Čada a můžete si ji objednat za cenu 190,- Kč.

Více informací a objednání knihy

  Aktuální hodnocení článku: jabkojabkojabkojabko (Počet známek: 993)
  Jak hodnotíte tento článek vy:  Super/ Velmi dobré/ Dobré/ Podprůměrné/ Propadák
  Způsob hodnocení: 5 - maximální spokojenost, 1 - propadák





Vyhledávání na MůjMac.cz

Google
 Hledat na internetu MůjMac.cz











Seriály


MujMac.cz:Redakce - Inzerce - Webmaster
Copyright © 1998-2006 Grafika Publishing s.r.o. Všechna práva vyhrazena.
RSSRSS (utf-8)HP ProliantHP