Stránka 1 z 1
Titulky+Subtitle Workshop
Napsal: pát 24. dub 2009, 10:28
od AirKiller
Zdravím, mám problém s titulky. Nemůžu je načíst v žádném přehrávači ani v Subtitle Workshop. Jedná se jen o tyto jedny titulky, ostatní v pohodě jedou, takže v programech chyba není. Nevíte o nějakém způsobu, jak je předělat, aby šli načíst jak v Subtitle Workshop, tak v přehrávačích?
Titulky jsem uložil na iskladku:
Kód: Vybrat vše
http://www.iskladka.cz/download.php?file=1240561107_in+living+color+s01e01+-+dvdrip.xvid.srt
Re: Titulky+Subtitle Workshop
Napsal: pát 24. dub 2009, 20:29
od OndraSter
Když jsem po chvíli zkoumání to otevřel v hexeditoru, tak jsem zjistil, že každý druhý hex je 00, když se odstraní tak to jde. Jen přemýšlím, jak to jednodušše udělat, jakým skriptem, ručně to je tak na půl hodiny...
//
PHP ftw!
Kód: Vybrat vše
<?php
$fp = file_get_contents ( 'titulky.srt' );
file_put_contents ( 'titulky2.srt', str_replace(chr(0), "", $fp ) );
?>
Tu je výsledek:
http://tmp.plnydisk.cz/titulky2.srt
Subtitle Workshop mi ho bez problému přečetl

.
Re: Titulky+Subtitle Workshop
Napsal: pát 24. dub 2009, 21:35
od AirKiller
Supee, díky moc. Mohl bych tě ještě poprosit, jestli bys mi nenapsal přesný postup (pro úplného laika), jaks toho dosáhl (jak a v jakém programu)? S PHP nemám vůbec žádné zkušenosti, stejně tak s hexeditací. Potřeboval bych to vědět, protože toto byly titulky jen k první epizodě seriálu I Living Color a titulky k ostatním epizodám jsou stejné - taky nejdou přečíst.
Re: Titulky+Subtitle Workshop
Napsal: pát 24. dub 2009, 22:26
od OndraSter
Někam je pošli (uploadni, ideálně czshare) a já je překonvertuju všechny hromadně.
Re: Titulky+Subtitle Workshop
Napsal: ned 26. dub 2009, 06:33
od xxsawer
OndraSter píše:Když jsem po chvíli zkoumání to otevřel v hexeditoru, tak jsem zjistil, že každý druhý hex je 00, když se odstraní tak to jde. Jen přemýšlím, jak to jednodušše udělat, jakým skriptem, ručně to je tak na půl hodiny...
//
PHP ftw!
Kód: Vybrat vše
<?php
$fp = file_get_contents ( 'titulky.srt' );
file_put_contents ( 'titulky2.srt', str_replace(chr(0), "", $fp ) );
?>
Tu je výsledek:
http://tmp.plnydisk.cz/titulky2.srt
Subtitle Workshop mi ho bez problému přečetl

.
Heh...no to bude tim, že jsou uložený ve formatu unicode -> 2B na znak, coz je ten nulovej byte

. Jinak to poznáš podle toho, že je na začátku souboru FF FE nebo naopak.
Takže místo php skriptu to stačí otevřít v třeba notepadu a přeuložit v jinym kodování

Jinak hádám, že v tom unicodu to je protože je na začátku písnička nebo co, a v překladu je vždycky nota...někdo si vyhrál

Re: Titulky+Subtitle Workshop
Napsal: ned 26. dub 2009, 10:35
od OndraSter
O tom, že to je nejspíš v Unicodu, mi došlo při prohlížení hex editorem, ale měl jsem za to, že dva byty se použijí jen když je opravdu potřeba, na obyč abecedu se použije jen jeden: "Pro českou abecedu stačí pro znaky bez diakritiky jeden byte a pro znaky s diakritikou dva byty." (wiki) - to mě poprvé zmátlo, protože obyč UTF8 přečte každý software.
Jedná se totiž přesněji o UCS-2 Little Endian, kde asi musí být dva byty pokaždé. (Tady přesně netuším, to už jen tipuji.)
Jinak opravdu stačí to otevřít v Notepad++ (je česky) a v Formát klepnout na Změnit na UTF-8.
Čekal jsem, že to bude horší, díky za info.
Re: Titulky+Subtitle Workshop
Napsal: ned 26. dub 2009, 10:53
od AirKiller
Díky moc za ochotu to OndraSter, že by se mu chtěli všechny ty titulky předělat, ale takhle to bude mnohem jednodušší. Díky xxsawer za snadné řešení

Re: Titulky+Subtitle Workshop
Napsal: ned 26. dub 2009, 17:28
od xxsawer
Tak kdyz uz jsme u toho aby to bylo komplet...
Ten soubor je fakt uloženej Unicode little endian to proste znamena, ze že se na znak použijou 2B a ten nižší byte bude uloženej na
nižší adrese.
Unicode big endian je to stejny s tim rozdilem, ze nizsi byte je ulozenej na
vyšší
Můžeš to klidně uložit i jako UTF8 to je jak pise ondra 1B na znak pro znaky anglicky abecedy, 2B na ostatní.
Neni na to potřeba ani žádnej special notepad, stačí klasika co je ve win, viz první screen
http://www.imagebam.com/image/d25ae833819605
Titulky máš uložený v UTF16 protože tam na začátku sou ty noty v překladu písničky, což je nějakej 2B znak. Když to uložíš jako ANSI tak ti sice pujde otevřít, ale místo tý noty tam budou nějaký dva jiný znaky což asi nechceš

Můžeš to uložit klidně i v UTF8 to ti asi taky půjde otevřít, ale pochybuju, že když přehrávač neumí UTF16 tak UTF8 umět bude. Titulky asi načte ale místo tý noty tam budou dokonce tři znaky (páč jedním znakem musíš dát nějak vědět, že následující znak je uloženej na 2B)
Takže doporučuju se vyprdnout se na nějaký přeukládání a radši změnit přehrávač za něco pořádnýho

VLC i MPChome cinema UTF16 podporují viz další dva screeny
http://www.imagebam.com/image/add1fa33819606
http://www.imagebam.com/image/0acbf633819607