Subtitles plugin do VLC
Napsal: 11 dub 2011 17:25
Zdravím vospolok
Prichádzam s myšlienkou naprogramovať jednoduchý titulkový plugin pre dobre známy VLC prehrávač/streamer/enkodér. Jeho programátorom sa veľmi nechce do zlepšenia už v ňom zabudovaného titulkovania.
Je tam problém napríklad so zmenou pozície titulkov vo filme. Len nedávno pribudla možnosť nastaviť si klávesové skratky pre ich posun hore/dole, v starších verziách je len zmena pozície v nastaveniach prehrávača. V celoobrazovkovom režime by mnoho užívateľov privítalo, keby sa dali tie titulky posunúť až dole do čierneho pása pod obrazom. V chystanej verzii 1.2 už aspoň funguje pridávanie okrajov (Video scaling filter - Cropadd) a teda možnosť zväčšiť si obrazový snímok o prídavný čierny okraj, do ktorého je už možné tie titulky umiestniť.
Mnohí užívatelia by rovnako privítali aj možnosť duálneho zobrazenia dvoch a prípadne aj viacerých súborov tituliek, napríklad Čeština + Angličtina. Vtedy som si okamžite spomenul na mv2player, ktorý to pre 2 rôzne titulky dokáže jedinečne. Ten bol tu už dávno pred érou VLC. Je tuším od českých tvorcov a jeho vývoj sa už zastavil. Patrí do kategórie DirectShow prehrávačov, takže je stále použiteľný.
Nedávno som natrafil na programík s názvom MiniLyrics, ktorý slúži na zobrazovanie textu piesní k prehrávanej skladbe či videoklipu. Podporujue mnoho prehrávačov vrátane VLC. Tiež podporuje aj SRT filmové titulky. Funguje asi tak, že do zvolených prehrávačov nainštaluje svoj plugin, ktorý sa nejakým spôsobom napojí na ovládacie prvky prehrávača a na prehrávací čas. Pri otvorení prehrávača sa automaticky otvorí aj priehľadné okno MiniLyrics, v ktorom sa tent text efektne zobrazuje a ostáva vždy nad prehrávačom. Veľmi však zaťažuje procesor, čo je dosť viditeľné na starších a pomalších mašinách.
Na základe toho, čo som tu uviedol, mi napadla myšlienka vytvoriť natívny plugin pre VLC spôsobom, ako to robí MiniLyrics, takže vlastný plugin bude len nejaký nezávislý súbor (.dll) a žiadne iné zmeny vo VLC už nie sú potrebné. Plugin sa napojí na prehrávací čas vo VLC a podľa neho zobrazuje titulky načítané z externého súboru vo svojom externom okne. Počiatočná verzia by mohla zvládnuť SRT formát, zobraziť titulky len ako prostý text s nastavenou veľkosťou písma a priehľadnosť okna na začiatok tiež nemusí byť, ale okno by malo zostať vždy nad prehrávačom aj v celoobrazovkovom režime a myškou jednoducho umiestniteľné kdekoľvek na obrazovke. Operačný systém Windows, ak sa to nedá jednoducho univerzálne aj pre iné systémy.
V akom programovacom jazyku programujú to VLC? Pre vytvorenie toho pluginu bude zrejme potrebná znalosť rovnakého jazyka. Predpokladám, že to bude jazyk C. Zdrojové kódy VLC sú asi voľne dostupné. Algoritmy dekódovania rôznych titulkových formátov bude zrejme možné z tých zdrojákov vytiahnuť a použiť, alebo by sa ten plugin dokázal napojiť priamo na tie algoritmy vo VLC. VLC však renderuje tie zobrazované titulky priamo do obrazu prehrávaného videa.
Tak čo, nenahovorím na to nejakého skúseného programátora, alebo hoci aj mierne pokročilého, pre ktorého to bude akousi výzvou? Možno tu niekto pomôže zadefinovať, čo všetko bude k tomu ešte potrebné (znalosti, systémové prvky, dynamické knižnice, ...). Možno keď dáme viac hláv dokopy, niečo sa podarí

Prichádzam s myšlienkou naprogramovať jednoduchý titulkový plugin pre dobre známy VLC prehrávač/streamer/enkodér. Jeho programátorom sa veľmi nechce do zlepšenia už v ňom zabudovaného titulkovania.
Je tam problém napríklad so zmenou pozície titulkov vo filme. Len nedávno pribudla možnosť nastaviť si klávesové skratky pre ich posun hore/dole, v starších verziách je len zmena pozície v nastaveniach prehrávača. V celoobrazovkovom režime by mnoho užívateľov privítalo, keby sa dali tie titulky posunúť až dole do čierneho pása pod obrazom. V chystanej verzii 1.2 už aspoň funguje pridávanie okrajov (Video scaling filter - Cropadd) a teda možnosť zväčšiť si obrazový snímok o prídavný čierny okraj, do ktorého je už možné tie titulky umiestniť.
Mnohí užívatelia by rovnako privítali aj možnosť duálneho zobrazenia dvoch a prípadne aj viacerých súborov tituliek, napríklad Čeština + Angličtina. Vtedy som si okamžite spomenul na mv2player, ktorý to pre 2 rôzne titulky dokáže jedinečne. Ten bol tu už dávno pred érou VLC. Je tuším od českých tvorcov a jeho vývoj sa už zastavil. Patrí do kategórie DirectShow prehrávačov, takže je stále použiteľný.
Nedávno som natrafil na programík s názvom MiniLyrics, ktorý slúži na zobrazovanie textu piesní k prehrávanej skladbe či videoklipu. Podporujue mnoho prehrávačov vrátane VLC. Tiež podporuje aj SRT filmové titulky. Funguje asi tak, že do zvolených prehrávačov nainštaluje svoj plugin, ktorý sa nejakým spôsobom napojí na ovládacie prvky prehrávača a na prehrávací čas. Pri otvorení prehrávača sa automaticky otvorí aj priehľadné okno MiniLyrics, v ktorom sa tent text efektne zobrazuje a ostáva vždy nad prehrávačom. Veľmi však zaťažuje procesor, čo je dosť viditeľné na starších a pomalších mašinách.
Na základe toho, čo som tu uviedol, mi napadla myšlienka vytvoriť natívny plugin pre VLC spôsobom, ako to robí MiniLyrics, takže vlastný plugin bude len nejaký nezávislý súbor (.dll) a žiadne iné zmeny vo VLC už nie sú potrebné. Plugin sa napojí na prehrávací čas vo VLC a podľa neho zobrazuje titulky načítané z externého súboru vo svojom externom okne. Počiatočná verzia by mohla zvládnuť SRT formát, zobraziť titulky len ako prostý text s nastavenou veľkosťou písma a priehľadnosť okna na začiatok tiež nemusí byť, ale okno by malo zostať vždy nad prehrávačom aj v celoobrazovkovom režime a myškou jednoducho umiestniteľné kdekoľvek na obrazovke. Operačný systém Windows, ak sa to nedá jednoducho univerzálne aj pre iné systémy.
V akom programovacom jazyku programujú to VLC? Pre vytvorenie toho pluginu bude zrejme potrebná znalosť rovnakého jazyka. Predpokladám, že to bude jazyk C. Zdrojové kódy VLC sú asi voľne dostupné. Algoritmy dekódovania rôznych titulkových formátov bude zrejme možné z tých zdrojákov vytiahnuť a použiť, alebo by sa ten plugin dokázal napojiť priamo na tie algoritmy vo VLC. VLC však renderuje tie zobrazované titulky priamo do obrazu prehrávaného videa.
Tak čo, nenahovorím na to nejakého skúseného programátora, alebo hoci aj mierne pokročilého, pre ktorého to bude akousi výzvou? Možno tu niekto pomôže zadefinovať, čo všetko bude k tomu ešte potrebné (znalosti, systémové prvky, dynamické knižnice, ...). Možno keď dáme viac hláv dokopy, niečo sa podarí
