Ubuntu a špatná diakritika v souborech z Windows (titulky)

Linux, Unix, BSD systémy, distribuce, open source

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod postcd 8. 3. 2018 23:22

Dobrý den, když dám přehrát v Linux Ubuntu v přehrávači MPV video soubor ke kterému jsou titulky ve zvláštním souboru (.srt), tak se znaky s diakritikou zobrazují špatně.
Třeba i mají čárku na opačnou stranu, nebo místo znaku s diakritikou je obdélník.
V souboru je to také špatně, přitom ve Windows se diakritika ve videu zobrazovala správně.
Počítám, že je tam problém s kódováním .srt souboru (ANSI/Unicode/UTF)

Jak/kde to tedy v tom Ubuntu nastavit aby se to zobrazovalo dobře aniž bych měnil samotný soubor s titulky?

Preferences / Language Support / (Language x Regional formats)
Language for menus and windows (mám angličtinu, nevěřím že by tady čeština to změnila)
Numbers, dates, currency amounts - čeština

děkuji předem za odpověď

AKTUALIZACE: Zdá se, že některé přehrávače mohou podporovat dekódování textu titulků:

VLC
Try this: open VLC, go to Tools > Preferences > Subtitles & OSD and under defualt encoding change the encoding to Eastern European (Windows 1250)

SMPlayer
set smplayer, set the "Default subtitle encoding" to UTF-8 and tick the option to "Try to autodetect for this language" in the Subtitles options and select your language.

mPlayer
after installation open it and hit CTRL+P to bring the properties configuration. In the subtitle tab enable Substation Alpha support, choose the Font, Color, Scaling and Encoding.

MPV
We try to detect the encoding of the subtitle file (with ENCA), but this doesn't always work well. You can set the subtitle codepage manually with the --subcp option. ... We try to detect the encoding of the subtitle file (with ENCA), but this doesn't always work well. You can set the subtitle codepage manually with the --subcp option.


Řešení tohoto problému: Jděte do hlavního menu v Linuxu kde je seznam aplikací, klikněte myší pravým tlačítkem na video přehrávač, jděte do vlastností a do cesty přidejte ten parametr který definuje kódování titulků. v případě mpv jsem měl: mpv --player-operation-mode=pseudo-gui -- %U a změnil jsem na: mpv --sub-codepage=windows-1250 --player-operation-mode=pseudo-gui -- %U (v případě mplayer/u je to: --subcp cp1250)
Naposledy upravil milsimr dne 4. 9. 2018 14:49, celkově upraveno 7
Důvod: Editace příspěvku na základě žádosti.
FIO e-broker uživatel: Google, National grid, NextEra energy, Munich RE AG, BMW, AT&T, META, Bank Nova Scotia, Allianz, Walgreens Boots
postcd
Junior

Odeslat příspěvekod JirkaVejrazka 9. 3. 2018 07:53

Nejspis budes muset zmenit soubor s titulky, idealne na UTF-8 - to by mely zvladnout Windows i Ubuntu. V Linuxu je na to prikaz "iconv" (nebo samozrejme spousta ruznych dalsich prevodnich programu pod Windows i Linuxem)
JirkaVejrazka
Mírně pokročilý

Odeslat příspěvekod soban 9. 3. 2018 10:06

Nastavit v přehrávači kodování titulků a pokud to přehrávač neumožňuje budeš muset ten soubor s titulky převést do požadovaného kodování co přehrávač požaduje.
/----------------------------------------\
| Petr Šobáň |
| Olomouc |
\----------------------------------------/
soban
Pokročilý

Odeslat příspěvekod DedyAmigo 15. 6. 2018 09:36

Občas používám Subtitle editor, pokud jsem měl Xubuntu 17.nn tak fungovala i konverze titulků, nyní vázne, konverze je úplně nanic.
Chci se zeptat kam zapsat tohle.. cituji
"You can set the subtitle codepage manually with the --subcp option. ..."
Linux mám raději než w..., ale stále v něm tápu, jsem prostě bfu, takže poraďte mi někdo pls.
mob:+420608751882, icq:335369002, dedy@jabbim.cz
Asus Zenbook Prime UX32VD, W7xXubuntu 18.04
Amiga 600 Furia EC020, OS3.1
Uhans i8, Android 7
DedyAmigo
Kolemjdoucí
Uživatelský avatar

Odeslat příspěvekod postcd 30. 6. 2018 13:05

DedyAmigo cituje: "set the subtitle codepage manually with the --subcp option"
Na té stránce ze které citujete se asi píše o nějaké linuxové utilitě/programu. A ta citace znamená, že asi máte jít na příkazovou řádku/terminál a dát tam něco jako:
mplayer --subcp cp1250 cestaKMedialnimuSouboru
(man mplayer)
FIO e-broker uživatel: Google, National grid, NextEra energy, Munich RE AG, BMW, AT&T, META, Bank Nova Scotia, Allianz, Walgreens Boots
postcd
Junior

Odeslat příspěvekod anonymni 31. 8. 2018 11:57

Máš 2 možnosti, převést titulky na UTF-8 nebo říct přehrávači, v jakém kódování jsou. mpv to umí, sám používám.

  1. Kód: Vybrat vše
    mpv --sub-file=titulky.srt --sub-codepage=windows-1250 nazevsouboru.avi
  2. Kód: Vybrat vše
    iconv titulky.srt -f windows-1250 -t utf-8 -o titulky_utf8.srt

Pokud jsou v jiném kódování, tak je nutno zjistit a zaměnit. Zjistíš to docela lehce když u příkazu iconv vynecháš argument "-o" a název toho souboru, tak ti to přímo do konzole vypíše ten převedený text. Jestli chceš vidět jen začátek souboru, tak za ten příkaz přidej:
Kód: Vybrat vše
| head


Možná kódování jsou windows-1250 nebo iso-8859-2. Jsou i jiné, ale pochybuju, že najdeš titulky v tak archaických kódováních.

PS: Je taky možné, že mpv ve výchozím nastavení nepoužívá utf-8 pro titulky, takže buď vyzkoušet nebo to rovnou hodit do konfiguráku.
anonymni

Odeslat příspěvekod postcd 2. 9. 2018 14:19

Ahoj, napadlo mě jednoduché řešení díky tomu co jste psali. A zdá se, že funguje.

Jděte do hlavního menu v Linuxu kde je seznam aplikací, klikněte myší pravým tlačítkem na video přehrávač, jděte do vlastností a do cesty přidejte ten parametr který definuje kódování titulků.

v případě mpv jsem měl:
mpv --player-operation-mode=pseudo-gui -- %U
a změnil jsem na:
mpv --sub-codepage=windows-1250 --player-operation-mode=pseudo-gui -- %U

(v případě mplayer/u je to: --subcp cp1250)

Zdá se, že se takto změní globální nastavení a kdykoliv otevřu nějaké video, tak je vždy použit ten nově zadaný parametr.
FIO e-broker uživatel: Google, National grid, NextEra energy, Munich RE AG, BMW, AT&T, META, Bank Nova Scotia, Allianz, Walgreens Boots
postcd
Junior

Odeslat příspěvekod anonymni 2. 9. 2018 17:30

To by mohlo fungovat pro většinu českých titulků. Pokud ale budou v jiném kódování než windows-1250 nebo utf-8 (vždy zkoušeno jako první), tak se může stát, že budete ve stejné situaci. A globální nastavení to nemění, jen nastavení použité při spuštění přehrávače pomocí daného odkazu. Pokud byste nastavení chtěl změnit globálně, tak je konfigurační soubor nejspíš v ~/.config/mpv/mpv.conf (pokud ne, tak je potřeba výchozí nastavení zkopírovat nejspíš z /usr/share/doc/mpv/mpv.conf, může být ale jinde, podle toho, co používate za distribuci).

Osobně doporučuji používat v přehrávači jen utf-8 a všechny titulky převádět do něj, tolik práce to přece jen není.
anonymni


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků