2.7. Napisy i OSD

MPlayer może wyświetlać napisy podczas odtwarzania filmu. Obecnie obsługiwane są następujące formaty:

MPlayer może zrzucić wyżej wymienione formaty napisów (poza pierwszymi trzema) do następujących formatów, jeśli podasz odpowiednią opcję:

MEncoder może zrzucić napisy DVD do formatu VOBsub.

Opcje dla wiersza poleceń różnią się nieco dla poszczególnych formatów:

Format VOBsub.  Napisy VOBsub składają się z dużego (kilkumegabajtowego) pliku .SUB i opcjonalnych plików .IDX i/lub .IFO. Jeżeli masz takie pliki, jak przykład.sub, przykład.ifo (opcjonalne), przykład.idx - musisz przekazać MPlayerowi opcje -vobsub przykład [-vobsubid id] (pełna ścieżka jest opcjonalna). Parametr -vobsubid jest, jak -sid dla DVD - przy jego pomocy możesz wybierać pomiędzy ścieżkami napisów (różne języki). Jeżeli opcja -vobsubid jest pominięta, MPlayer spróbuje użyć języka podanego przez parametr -slang i powróci do langidx zawartego w pliku.IDX, żeby ustawić język napisów. Jeżeli to zakończy się niepowodzeniem, napisy nie będą wyświetlane.

Inne formaty napisów.  Inne formaty składają się z pojedynczego pliku tekstowego zawierającego przedział czasowy, rozmieszczenie i sam tekst. Sposób użycia: Jeżeli masz taki plik, jak przykład.txt, musisz przekazać opcję -sub przykład.txt (pełna ścieżka jest opcjonalna).

Dopasowywanie czasu wyświetlania i położenia napisów:

-subdelay sek
Opóźnia wyświetlanie napisów o sek sekund. Może być liczbą ujemną. Wartość jest dodawana do licznika czasu filmu.
-subfps ILOŚĆ
Określa ilość klatek na sekundę pliku z napisami (liczba rzeczywista).
-subpos 0-100
Określa położenie napisów.

Jeżeli podczas używania napisów w formacie MicroDVD zauważysz rosnące opóźnienie między nimi a filmem, to prawdopodobnie ilość klatek na sekundę filmu różni się od wartości, do której zostały przystosowane napisy. Zauważ, że format ten korzysta z bezwzględnych numerów klatek do wyświetlania napisów w odpowiednim momencie, ale nie zawiera w sobie informacji o wartości fps, dlatego powinieneś skorzystać z opcji -subfps. Jeżeli chciałbyś trwale rozwiązać ten problem, musisz ręcznie zmienić wartość framerate pliku z napisami. MPlayer może zrobić to za ciebie:

mplayer -dumpmicrodvdsub -fps fps_napisów -subfps fps_filmu -sub zbiór_z_napisami atrapa.avi

O napisach DVD przeczytasz w rozdziale DVD.

2.7.1. MPsub - Własny format napisów MPlayera

MPlayer przedstawia nowy format napisów nazwany MPsub. Zaprojektowany on został przez Gabucino. Przede wszystkim jego główną cechą jest bycie dynamicznie opartym o czas (chociaż może być również oparty o ramki). Przykład (z DOCS/tech/mpsub.sub - na potrzeby tego dokumentu częściowo przetłumaczony):

FORMAT=TIME
# pierwsza liczba : czekaj tyle sekund po zniknięciu poprzednich napisów
# druga liczba : wyświetlaj napisy przez tyle sekund

15 3
Dawno, dawno temu...

0 3
w odległej galaktyce...

0 3
planeta Naboo była atakowana.

Widzisz więc, że głównym celem było umożliwienie łatwej edycji/synchronizacji/łączenia/obcinania napisów. Więc jeśli - powiedzmy - pobierzesz napisy SSA, które są źle rozmieszczone w czasie/opóźnione w stosunku do Twojej wersji filmu, wykonujesz wtedy

mplayer film.avi -sub źródło.ssa -dumpmpsub

Zostanie utworzony plik dump.mpsub w obecnie używanym katalogu, który będzie zawierał źródłowe napisy, ale w formacie MPsub. Będziesz mógł wtedy dowolnie dodawać/odejmować sekundy do/z napisów.

Napisy wyświetlane są w technice 'OSD', On Screen Display (Wyświetlanie Na Ekranie). OSD używany jest do wyświetlania obecnego czasu odtwarzania, paska głośności, paska przeszukiwania filmu, itp.

2.7.2. Instalacja OSD i napisów

Będziesz potrzebował paczki zawierającej czcionkę dla MPlayera, żeby móc skorzystać z OSD/NAPISÓW. Jest wiele sposobów, aby ją uzyskać:

  • Skorzystaj z generatora czcionki w znajdującego się w katalogu TOOLS/subfont-c. Jest to kompletne narzędzie, które pomoże Ci przekonwertować czcionkę TTF/Type1/itp. do paczki z czcionką dla MPlayera (więcej szczegółów znajdziesz w TOOLS/subfont-c/README).

  • Skorzystaj z wtyczki generator czcionki dla GIMPa, którą znajdziesz w katalogu TOOLS/subfont-GIMP (notka: musisz mieć również wtyczkę HSI RAW, sprawdź ten adres: http://realtime.ssu.ac.kr/~lethean/mplayer/index.php?pagename=MplayerKoreanFonts).

  • używanie czcionki TrueType (TTF) przy pomocy biblioteki freetype. Konieczna do tego jest wersja 2.0.9 lub wyższa! Tutaj możesz skorzystać z dwóch metod:

    • użyj opcji -font /ścieżka/do/przykładowej_czcionki.ttf , aby określić plik z czcionką TrueType przy każdym uruchomieniu

    • stwórz symboliczne dowiązanie:

      ln -s /ścieżka/do/przykładowej_czcionki.ttf ~/.mplayer/subfont.ttf

    Jeżeli MPlayer został skompilowany z obsługą fontconfig, powyższe metody nie będą działały, ponieważ opcja -font będzie oczekiwała nazwy czcionki, a domyślną jest sans-serif. Aby otrzymać listę czcionek znanych fontconfig, użyj komendy fc-list. Przykład: -font 'Bitstream Vera Sans'

  • Pobierz gotowe do użycia pakiety z czcionkami ze strony MPlayera. Informacja: dostępne obecnie czcionki ograniczone są do obsługi kodowania ISO 8859-1/2, ale są też inne, przygotowane przez użytkowników, (z obsługą koreańskiego, rosyjskiego, ISO 8859-8 itp) w katalogu contrib/font serwera FTP.

    Czcionki powinny mieć odpowiedni plik font.desc, który mapuje pozycję czcionek unicode do aktualnie używanej przez napisy strony kodowej Innym wyjściem jest posiadanie napisów zakodowanych w UTF-8 i użycie opcji -utf8 albo po prostu zmienienie ich nazwy na <nazwa_filmu>.utf i wgranie ich do tego samego katalogu co plik z filmem. Konwersja z różnych stron kodowych do UTF-8 może być realizowana poprzez programy konwert lub iconv.

    Tabela 2.1. Kilka adresów URL


Jeżeli wybierzesz czcionki inne niż TTF, rozpakuj (UNZIP) plik, który ściągnąłeś do katalogu ~/.mplayer lub $PREFIX/share/mplayer. Następnie zmień nazwę lub stwórz symboliczne dowiązanie tego katalogu do font, na przykład:

ln -s ~/.mplayer/arial-24 ~/.mplayer/font

Teraz na pewno zobaczysz licznik w lewym górnym rogu filmu (możesz go wyłączyć używając klawisza o).

(napisy są zawsze włączone, aby dowiedzieć się, je wyłączyć, przeczytaj stronę man)

OSD ma 4 stany (przełączane przez klawisz o):

  1. pasek głośności + pasek przeszukiwania (domyślnie)
  2. pasek głośności + pasek przeszukiwania + licznik czasu + pozycja przeszukiwania w pliku (w procentach)
  3. pasek głośności + pasek przeszukiwania + licznik czasu + całkowity czas trwania
  4. tylko napisy

Możesz zmienić domyślne zachowanie, ustawiając zmienną osdlevel w pliku konfiguracyjnym (config) lub korzystając z opcji -osdlevel w wierszu poleceń.

2.7.3. Menu OSD

MPlayer ma całkowicie definiowalny Interfejs Menu OSD.

Notatka

Menu Ustawienia nie jest jeszcze ZAIMPLEMENTOWANE!

Instalacja

  1. skompiluj MPlayera z opcją --enable-menu dla skryptu ./configure
  2. upewnij się, że masz zainstalowaną czcionkę OSD
  3. skopiuj plik etc/menu.conf do Twojego katalogu .mplayer
  4. skopiuj plik etc/input.conf do Twojego katalogu .mplayer lub do ogólnosystemowego katalogu z konfiguracją MPlayera (domyślnie: /usr/local/etc/mplayer)
  5. sprawdź i ewentualnie przerób plik input.conf, aby określić funkcje klawiszy (wszystko jest tam opisane).
  6. uruchom MPlayera przykładową komendą:

    $ mplayer -menu plik.avi

  7. wciśnij dowolny klawisz, który wcześniej zdefiniowałeś