Po kompletną listę dostępnych opcji i przykładów MEncoder, proszę zobaczyć stronę manuala. Po serie ręcznych przykładów i detali używania różnych parametrów kodowania, czytaj sztuczki-kodowania gdzie zgromadzone są rożne wątki mailowe mplayer-users. Szukaj w archiwach zbiorach dyskusyjnych o wszystkich aspektach problemów dotyczących kodowania MEncoderem.
Kodowanie 2-krokowe: jak sama nazwa wskazuje, metoda ta koduje plik dwukrotnie. Krok pierwszy (krok zdybingujący) tworzy pliki podręczne (*.log) z rozmiarem kilku megabajtów, nie kasuje ich jeszcze (możesz usunąć AVI). W drugim kroku, plik 2-kroku (sic!) jest tworzony używając bitreatu danych z pliku podręcznego. Plik wynikowy będzie miał lepszą jakość obrazu. Jeśli spotkałeś się z tym po raz pierwszy powinieneś zasięgnąć rad dostępnych w Internecie.
Przykłady te pokazują jak kodować DVD do 2-krokowego MPEG-4 ("DIVX") AVI. Tylko
dwie komendy są potrzebne:
rm frameno.avi
- usuń plik, który może
pochodzić z poprzedniego 3-krokowego kodowania (może kolidować z obecnym)
mencoder dvd://2 -ovc lavc -lavcopts
vcodec=mpeg4:vpass=1 -oac copy -o movie.avi
mencoder dvd://2 -ovc lavc -lavcopts
vcodec=mpeg4:vpass=2 -oac copy -o movie.avi
Kodowanie 3-krokowe: to przedłużenie 2-krokowego kodowania, gdzie kodowanie audio zajmuje miejsce w osobnym kroku. Tam metoda włącza ocenę sugerowania bitreatu wideo dla dopasowania do CD. Także audio kodowane jest tylko tak, nie tak jak w trybie 2-krokowym. Schematy:
rm frameno.avi
mencoder <file/DVD> -ovc frameno -oac mp3lame -lameopts vbr=3 -o frameno.avi
Zostanie utworzony plik avi zawierający tylko audio, tylko z pożądanym strumieniem audio.
Nie zapomnij o -lameopts
, jeśli chcesz je ustawić.
jeśli kodowałeś długi film, MEncoder wyświetla sugerowane wartości bitrate dla 650Mb,
700Mb, i 800Mb rozmiarów docelowych po ukończeniu kroku pierwszego.
mencoder <file/DVD> -oac copy
-ovc lavc -lavcopts vcodec=mpeg4:vpass=1:vbitrate=<bitrate>
To pierwszy krok kodowania wideo. Opcjonalnie określony bitreate wideo MEncoder wyświetlił na końcu poprzedniego kroku.
mencoder <file/DVD> -oac copy
-ovc lavc -lavcopts vcodec=mpeg4:vpass=2:vbitrate=<bitrate>
Jest to drugi krok kodwania wideo.
Określ ten sam bitreat, co w poprzednim kroku, chyba, że naprawdę wiesz, co
robisz. W tym kroku audio z frameno.avi
zostanie
wsunięte do docelowego pliku... i wszytko jest gotowe!
rm frameno.avi
- usuń plik, który może
pochodzić z poprzedniego 3-krokowego kodowania (może kolidować z obecnym)
mencoder dvd://2 -ovc frameno
-o frameno.avi -oac mp3lame -lameopts vbr=3
mencoder dvd://2 -ovc lavc
-lavcopts vcodec=mpeg4:vpass=1 -oac copy -o movie.avi
mencoder dvd://2 -ovc lavc
-lavcopts vcodec=mpeg4:vpass=2 -oac copy -o movie.avi
MEncoder może stworzyć wyjściowy plik z formatem MPEG (MPEG-PS). Jes to prawdopodobnie użyteczne tylko z kodekiem libavcodeca mpeg1video, ponieważ odtwarzacze - poza MPlayer - poza wideo MPEG1, i MPEG1 warstwa 2 (MP2) strumieniują audio w plikach MPEG.
Cecha ta jest niezbyt użyteczna w tej chwili, na marginesie prawdopodobnie zawiera pełno błędów, ale ważna ponieważ MEncoder obecnie nie potrafi kodować audio MPEG1 warstwy 2 (MP2), którego wszytskie inne odtwarzacze oczekują w plikach MPEG.
Aby zmienić format plików wynikowych MEncodera, użyj opcji -of mpeg
.
Przykład:
mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video
-oac copy <other options> media.avi -o output.mpg
Często potrzebna jest zmiana rozmiarów obrazów filmu. Powodów może być wiele, na przykład dopasowywanie rozmiarów pliku wyjściowego, szerokośc pasma sieci, itp. Wiele ludzi często skaluje filmy kiedy konwertują DVD lub SVCD do DivX AVI. Jes to błądne. Zamiast tego czytaj sekcję Zachowując aspekt stosunku.
Proces skalowanie nadzorowany jest przez filter wideo 'scale':
-vf scale=szerokość:wysokość
. Jego jakość może zostać ustawiona
przez opcję -sws
. Jeśli nie zostanie określona, MEncoder użyje 0:
fast bilinear.
mencoder input.mpg -ovc lavc -lavcopts
vcodec=mpeg4 -vf scale=640:480 -oac copy -o
output.avi
MEncoder potrafi przechwycić strumień wejściowy na dwa sposoby: kodując lub kopiując go. Ta sekcja jest o kopiowaniu.
-ovc copy
): niezła robota
może zostać wykonana :)-oac copy
): chyba jasne.
Możliwe jest przejęcie zewnętrznego pliku audio (MP3, Vorbis) i jego zapis
do strumienia zewnętrznego. Użyj do tego opcji
-audiofile <filename>
.Prosto kopiujemy strumienie audio i wideo, a MEncoder generuje indeks.
Oczywiście nie naprawi to błądów strumieni wideo i/lub audio. Naprawia
to także pliki z uszkodzonym przeplataniem, tak więc opcja -ni
będzię potrzebna tak, czy inaczej.
Polecenie: mencoder -idx input.avi -ovc copy -oac copy -o output.avi
Taki efekt uboczny, finkcja naprawiająca uszkodzone AVI włącza MPlayera do łączenia 2 (lub więcej) plików AVI:
Polecenie: cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o output.avi -
Inforamcja: Oczekuje to 1.avi
i 2.avi
aby użyc tego samego kodeka,
rozdzielczości, stosunku strumieniowania itp, i co najmniej 1.avi nie mże być uszkodzony.
Może musisz najpierw naprawić twój wchodzący AVI, jak opisano wyżej.
libavcodec zapewnia proste kodowanie do różnych interesujących formatów wideo i audio (obecnie kodeki audio są niedostępne). Możesz kodować do następującch kodeków:
Pierwsza kolumna zawiera nazwy kodeków, które powinny być podane po konfiguracji
vcodec
, czyli: -lavcopts vcodec=msmpeg4
Przykład z kompresją MJPEG:
mencoder dvd://2 -o title2.avi -ovc lavc
-lavcopts vcodec=mjpeg -oac copy
MEncoder jest w stanie utworzyć filmy z jednego lub więcej plików JPEG, PNG lub TGA. Z prostym kopiowaniem klatek potrafi utworzyć MJPEG (Ruchome JPEG), MPNG (Ruchome PNG) lub MTGA (Ruchome TGA) files.
Objeśnienie procesu:libjpeg
(kieedy dekoduje PNGsy, użyje libpng).Wyjaśnienie opcji -mf
, które możesz znaleść niżej opisane
są w manualu.
Tworzenie pliku DivX4 ze wszytskich plików JPEG w obecnym katalogu:
mencoder -mf on:w=800:h=600:fps=25 -ovc divx4
-o output.avi \*.jpg
Tworzenie pliku DivX4 z niektórych plików JPEG w obecnym katalogu:
mencoder -mf on:w=800:h=600:fps=25
-ovc divx4 -o output.avi frame001.jpg,frame002.jpg
Tworzenie pliku Rychomego JPEG (MJPEG) ze wszystkich plików JPEG w obecnym katalogu:
mencoder -mf on:w=800:h=600:fps=25 -ovc copy
-o output.avi \*.jpg
Tworzenie pliku nieskompresowanego ze wszytskich plików PNG w obecnym katalogu:
mencoder -mf on:w=800:h=600:fps=25:type=png -ovc rawrgb
-o output.avi \*.png
Informacja: Szerokość musi być całkowitą wielokrotnością 4, to limity formatu RAW RGB AVI.
Tworzenie Ruchomego PNG (MPNG) ze wszytskich plików w obecnym katalogu:
mencoder -mf on:w=800:h=600:fps=25:type=png -ovc copy
-o output.avi \*.png
Tworzenie Ruchomego TGA (MTGA) ze wszystkich plików TGA w obecnym katalogu:
mencoder -mf on:w=800:h=600:fps=25:type=tga -ovc copy
-o output.avi \*.tga
MEncoder potrafi wyciągnąc napisy z DVD do pliku o formacie Vobsub.
Polegają one na parach kodowanych plików w
.idx
i .sub
i zazwyczaj pakowane są w pojedyncze archiwum
.rar
. MPlayer potrafi je odtwarzać z opcjami
-vobsub
i -vobsubid
.
Ty określasz nazwę główną (tj. bez rozszerzenia .idx
lub
.sub
) pliku wyjściowego z -vobsubout
i indeks dla tych napisów w pliku wynikowym z -vobsuboutindex
.
Jeśli plik wejścowy nie pochodzi z DVD powinienieś użyć -ifo
, aby
wskazać plik .ifo
wymagany do konstrukcji pliku wynikowego
.idx
.
Jeśli plik wejściowy nie pochodzi z DVD, a ty nie masz pliku .ifo
będziesz musiał użyć opcji -vobsubid
aby poinformować, który id języka
należy włożyć do pliku .idx
.
Każde uruchomienie będzie dodawać uruchamiane napisy jeśli pliki .idx
i
.sub
już istnieją. Powinieneś więc usunąć jakieś przed startem.
Kopiowanie dwóch napisów z DVD podczas kodowania 3-krokowego
rm subtitles.idx subtitles.sub
mencoder dvd://1 -vobsubout subtitles -vobsuboutindex 0
-sid 2 -o frameno.avi -ovc frameno -oac mp3lame -lameopts vbr=3
mencoder dvd://1 -oac copy -ovc divx4 -divx4opts pass=1
mencoder dvd://1 -oac copy -ovc divx4 -divx4opts pass=2 -vobsubout
subtitles -vobsuboutindex 1 -sid 5
Kopiowanie francuskich napisów z pliku MPEG
rm subtitles.idx subtitles.sub
mencoder movie.mpg -ifo movie.ifo -vobsubout subtitles
-vobsuboutindex 0 -vobsuboutid fr -sid 1
Pliki DVD i SVCD (tj. MPEG1/2) zawierają wartość stosunku, która opisuje, jak odtwarzacze powinny skalować strumień wideo (np.: 480x480 + 4:3 = 640x480). Jednak, kiedy kodujesz do plików AVI (DivX), powinieneś wiedzieć, że nagłówki AVI nie zapamiętują takiej wartości. W taki sposób jedynym rozwiąznaniem jest skalowanie!
MPEG4 posiada niespotykaną cechę: strumień wideo może zawierać jego wymagany stosunek. Tak, tylko takie pliki jak MPEG1/2 (DVD, SVCD). Przesadzając, nie ma odtwarzaczy wideo które obsługują tą cechę. Za wyjątkiem MPlayera.
Cecha ta może być użyta tylko z kodekiem mpeg4
libavcodeca.
Zatrzymaj w świadomości: chociaż MPlayer poprawnie odtwrza stworzone pliki,
inne odtwarzacze użyją błędnego stosunku.
Powinineś poważnie ściąć czarne obramówki na około i poniżej obrazu filmu.
Zobacz manual odnośnie użytku filtrów cropdetect
i
crop
.
$ mencoder sample-svcd.mpg -ovc lavc -lavcopts
vcodec=mpeg4:aspect=16.0/9.0 -vf crop=714:548:0:14 -oac copy -o output.avi