Nakładamy napisy na film

Jeśli masz stare DVD które nie czyta poprawnie napisów w filmach a jesteś użytkownikiem Linuksa, możesz spróbować nałożyć napisy bezpośrednio na film. Jaka jest różnica w stosunku do normalnego odtwarzania filmu z napisami? Bardzo duża, ponieważ napisy nie są czytane z pliku podczas odtwarzania, ale stają się nieodłączną częścią filmu, wygląda to mniej więcej tak jak nałożenie dwóch obrazów na siebie, jednego z filmem, a drugiego z samymi napisami.

W systemie Linux Ubuntu możemy to zrobić dzięki aplikacji mencoder. Jeśli nie posiadamy zainstalowanego pakietu z mencoderem, instalację przeprowadzamy poprzez wydanie polecenia:

# apt-get install mencoder

Po tym, powinniśmy już mieć w pełni działający kombajn do konwersji audio/wideo w systemie. Teraz pozostaje sam proces nałożenia napisów, ale wcześniej wypada jeszcze doinstalować czcionki (pakiet msttcorefonts).

# apt-get install msttcorefonts
$ mencoder -oac copy -ovc xvid -xvidencopts pass=1:turbo:threads=2 -sub napisy.txt -o wideo-out-with-sub.avi wideo-in.avi -font /usr/share/fonts/truetype/msttcorefonts/arial.ttf -subfont-text-scale 3 -subcp cp1250

Skrócony opis poszczególnych parametrów:

-ovc - wybór kodeka wyjściowego video (XVID)
-oac - wybór kodeka wyjściowego audio (copy, ten sam który jest na wejściu)
-sub - ścieżka do pliku z napisami
-o - plik wyjściowy (video+audio+napisy)
-subfont-text-scale - wielkość czcionki użytej dla naszych napisów
-font - czcionka użyta do napisów (arial.ttf)
-subcp - kodowanie znaków pliku z napisami (cp1250 - kodowanie z MS Windows)

Powodzenia ;-)

  • Karol

    Parametry pass=1 i turbo w tym kontekście są bez sensu.

    Albo decydujemy się na kodowanie dwuprzebiegowe i wtedy załączone parametry mają sens, ale brakuje informacji, że trzeba polecenie wykonać jeszcze raz z parametrami pass=2:threads=2 (*bez* turbo).

    Na dodatek pierwszy przebieg generuje ogromne pliki wyjściowe, więc najlepiej zapodać do do /dev/null, a dopiero drugi przebieg do pliku. Przy czym należy wybrać opcje stopnia kompresji obrazu - czy interesuje nas konkretnej wielkości plik wyjściowy, czy konkretna stała jakość.

  • Uzupełnienie: Przy konkretnej stałej jakości parametry pass=1:turbo są nie potrzebne. Kodowanie odbywa się w jednym przebiegu. Wielkość pliku wyjściowego jest zmienna w zależności od materiału wideo.

    Mam nadzieję, że nie uraziłem autora.
    Pozdrawiam ;)