Portál AbcLinuxu, 10. května 2025 08:08
rád bych zobrazil k jednomu videu naráz dva soubory s titulky - konkrétně český a anglický, anglický nahoře, český dole. V manuálu MPlayeru jsem našel, že toto nepodporuje, u Xine vůbec netuším (v manuálu jsem nic nenašel a ani u žádného front-endu jsem takovou možnost neviděl. U VLC mě taky nic nenapadá. Kdyby někdo z přítomných měl řešení, moc bych si cenil, kdyby se s ním podělil :) Díky všem!
al-QuaknaaTo mě samozřejmě už taky napadlo, ale vzhledem k tomu, že to potřebuju udělat tak u 25 souborů, tak se mi do toho vážně nechce - navíc si je nechci nijak znehodnotit a další věc je, že některá videa mají nevalnou kvalitu, tzn buď bych je musel zvětšit, aby tam ty vkládané titulky vypadaly dobře, nebo bych se musel smířit s tím, že tam budu mít kostičkovaté titulky - proto jsem tuhle možnost vyřadil.
Snad ještě jeden můj nápad, ale vážně nevím, jestli může být k něčemu. Dejme tomu, že bych si vytvořil takový "fake" video soubor, prostě černá barva, délka třeba 10 minut (ty video soubory co mám jsou videoklipy - většinou do 5 minut). Potom bych s mplayerem pustil ten fake + anglické titulky (posunuté nahoru, to vím jak) a nějak přes to (tady je ta část, u které bych si nevěděl rady) to originální video s českými titulky. Asi by se to muselo řešit přes skript, aby nevznikaly prolémy se synchronizací a s tím překrýváním vůbec nevím, jak by to šlo. Snad to nějak pomůže :)
al-QuaknaaOba znám, díky. Gaupol do ASS/SSA sice umí ukládat, ale ještě neumí využívat všechny jejich možnosti, takže ten asi těžko. Subtitleeditor zkusím, ale co jsem viděl tak to nebylo úplně ono - jak říkám, znova vyzkouším, uvidím :) A ta těžká propagace své overlaye, kterou tady předvádíš je mi opravdovým příkladem v tom, s jakým zapálením jde dělat nějakou věc :D No flame, tvoje overlay je fajn, akorát čím více ebuildů, tím pomalejší portage.
al-QuaknaaNo flame, tvoje overlay je fajn, akorát čím více ebuildů, tím pomalejší portage.Proto používejte reiser4 a rsync_excludes
Takže jsem už v subtitleeditoru (doporučeném výše) udělal první soubor přesně podle svých přání - děkuji za nakopnutí směrem k formátu ASS, to je přesně ono. jak už bylo taky navrhnuto, bude potřeba vyrobit si nějaký bash (nejspíš) script, ale to už by mělo být snadné. S drobnou pomocí kámošů ;) ... Díky všem!
al-Quaknaanezodpovedá to do bodky zadaniu, ale možno to niekomu pomôže:
In majority of cases, you have subtitles that were translated line-by-line, so if, for example, two subtitles in different languages are converted into a .mdvd format first ( {1}{2}Text ), it would be trivial to write a perl script which reads two files line by line and then joins two lines of text together. The .mdvd format is special in this regard that it guarantees one line per subtitle entry, and thus one mustn't bother about the exact timing. Such task probably is not worthy of a special program.
Of course, in general case, you might have different timings and subtitle formats that do support multiple languages (.smi, for example ), but that requires time parsing and is a bit more complicated.film.avi film.cs.avi film.en.avi . . .Bohužel mplayer tyto titulky nenačte a to mě štve, nešlo by to nějak obejít? Jinak kaffeine si s takovýmto formátem titulků v poho poradí...
awk -f skript.awk <titulky.srt >titulky.ass
príliš som to netestoval, ale malo by to ako-tak fungovať.
-- jose
BEGIN { print "[Script Info]" print "Title: <untitled>" print "Original Script: <unknown>" print "ScriptType: v4.00\n" print "[V4 Styles]" print "Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outlin e, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding" print "Style: Default,Tahoma,12,16777215,16777215,16777215,12632256,-1,0,1,1,1,2,30,30,10,0,178\n" print "[Events]" print "Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text"} /^[0-9]+$/{ a=$0 getline b do { getline c d=d c} while (c!="") gsub (",",".",b) gsub (" --> ",",",b) print "Dialogue: Marked=0,"b",Default,NTP,0000,0000,0000,!Effect,"d d=""}
tr -d "\r" <subtitles.srt >sub-out.srt
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.