# Kodowanie z MEncoderem

Pełna lista dostępnych opcji MEncodera oraz przykłady znajdują się na stronie man. W pliku encoding-tips znajduje się dużo przykładów i przewodników skompletowanych z wielu wątków listy dyskusyjnej mplayer-users. W archiwum znajdziesz mnóstwo dyskusji o aspektach i problemach związanych z kodowaniem przy pomocy MEncodera.

## Kodowanie dwu-przebiegowe MPEG-4 ("DivX")

Nazwa związana jest z faktem, iż przy użyciu tej metody plik kodowany jest dwa razy. Pierwsze kodowanie (dubbed pass) tworzy pliki tymczasowe (`*.log`) o rozmiarze kilku megabajtów, nie kasuj ich od razu (możesz natomiast skasować plik AVI). W drugim przebiegu przy pomocy danych o bitrate'cie z plików tymczasowych tworzony jest plik wyjściowy drugiego przebiegu. Plik końcowy będzie miał o wiele lepszą jakość w porównaniu ze standardowym 1-przebiegowym kodowaniem. Jeżeli pierwszy raz o tym słyszysz, powinieneś zajrzeć do któregoś z wielu przewodników dostępnych w sieci.

kopiowanie ścieżki dźwiękowej

Dwu-przebiegowe kodowanie DVD do MPEG-4 ("DivX") AVI z kopiowaniem ścieżki dźwiękowej.

    mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac copy -o film.avi
    mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac copy -o film.avi

kodowanie ścieżki dzwiękowej

Dwu-przebiegowe kodowanie DVD do MPEG-4 ("DivX") AVI z kodowaniem ścieżki dźwiękowej do MP3.

    mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -oac mp3lame -lameopts vbr=3 -o film.avi
    mencoder dvd://2 -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -oac mp3lame -lameopts vbr=3 -o film.avi

## Kodowanie do formatu MPEG

MEncoder może tworzyć pliki formatu MPEG (MPEG-PS). Jest to prawdopodobnie użyteczne tylko z kodekiem mpeg1video pochodzącym z libavcodec, ponieważ odtwarzacze - za wyjątkiem MPlayera - oczekują obrazu zakodowanego w MPEG-1 i strumienia dźwiękowego w MPEG-1 warstwa (layer) 2 (MP2) w pliku MPEG.

Możliwość ta nie jest zbytnio przydatna w tej chwili, poza tym zawiera prawdopodobnie wiele błędów, ale najważniejsze jest to, że MEncoder w tej chwili nie może kodować 2 warstwy MPEG-1 (MP2) audio której oczekują wszystkie odtwarzacze w plikach MPEG.

Aby zmienić wyjściowy format plików MEncodera, użyj opcji `-of mpeg`.

Przykład:

    mencoder -of mpeg -ovc lavc -lavcopts vcodec=mpeg1video -oac copy inne opcje media.avi  -o wyjscie.mpg

## Przeskalowywanie filmów

Często zachodzi potrzeba zmiany wielkości obrazu. Powodów tego może być wiele: zmniejszenie rozmiaru pliku, przepustowość sieci, itd. Większość ludzi stosuje ponowne skalowanie przy konwertowaniu płyt DVD, SVCD do DivX AVI. Jeżeli chcesz przeskalowywać, przeczytaj sekcję o zachowywaniu proporcji obrazu.

Proces skalowania obsługiwany jest przez filtr video `scale` `-vf scale=szerokość:wysokość`. Jego jakość może być ustawiona parametrem `-sws`. Jeśli nie jest on podany MEncoder użyje wartości 2: bicubic.

Przykład:

    mencoder wejscie.mpg -ovc lavc -lavcopts vcodec=mpeg4
    -vf scale=640:480 -o wyjscie.avi

## Kopiowanie strumienia

MEncoder obsługuje strumienie wejściowe na dwa sposoby: koduje lub kopiuje je. Ta sekcja jest o kopiowaniu.

- Strumień video (opcja `-ovc copy`): można ładne rzeczy wyczyniać:) Jak wstawianie (nie konwertowanie) FLI, VIDO lub MPEG-1 video w plik AVI! Oczywiście tylko MPlayer potrafi odtwarzać takie pliki :) I prawdopodobnie nie ma dla tego żadnego sensownego zastosowania. Poważniej: kopiowanie strumieni video może być przydatne wtedy, gdy np. tylko strumień audio ma być zakodowany (np. PCM do MP3).

- Strumień audio (opcja `-oac copy`): prosto i przystępnie. Możliwe jest wmiksowanie zewnętrznego źródła (MP3, WAV) do strumienia wyjściowego. Użyj opcji `-audiofile nazwa_pliku` do tego celu.

## Naprawianie plików AVI ze zniszczonym indeksem lub przeplotem

Najprostsza sprawa. Po prostu kopiujemy strumień audio i video, a MEncoder generuje indeks. Oczywiście nie naprawi to możliwych błędów w strumieniu video i/lub audio, ale za to, naprawi pliki z zepsutym przeplotem, tak więc opcja `-ni` nie będzie tu już potrzebna.

Komenda:

    mencoder -idx wejscie.avi -ovc copy -oac copy -o wyjscie.avi

### Łącznie wielu plików AVI

Efektem ubocznym funkcji naprawiania zepsutych plików AVI jest możliwości łączenia 2 (lub więcej) plików AVI:

Komenda:

    cat 1.avi 2.avi | mencoder -noidx -ovc copy -oac copy -o wyjscie.avi -

Komenda ta oczekuje tego, żeby `1.avi` i `2.avi` używały tego samego kodeka, rozdzielczości, szybkości strumienia (stream rate), i przynajmniej `1.avi` nie może być zepsute. Możliwe, że będziesz musiał naprawić pliki wejściowe, jak było opisane powyżej.

## Kodowanie przy pomocy rodziny kodeków libavcodec

libavcodec umożliwia proste kodowanie do wielu interesujących formatów video i audio. Możesz kodować do następujących kodeków (mniej lub bardziej aktualne)

Nazwa kodeka | Opis
--- | ---
mjpeg | Ruchomy JPEG
ljpeg | Bezstratny JPEG
h263 | H.263
h263p | H263+
mpeg4 | Standard ISO MPEG-4 (DivX 5, XVID kompatybilne)
msmpeg4 | pierwotny wariant MPEG-4 od MS, v3 (DivX3)
msmpeg4v2 | pierwotny wariant MPEG-4 od MS, v2 (używany w starych plikach asf)
wmv1 | Windows Media Video, wersja 1 (WMV7)
wmv2 | Windows Media Video, wersja 2 (WMV8)
rv10 | Stary kodek RealVideo
mpeg1video | MPEG-1 video
mpeg2video | MPEG-2 video
huffyuv | bezstratna kompresja
asv1 | ASUS Video v1
asv2 | ASUS Video v2
ffv1 | bezstratny kodek video FFmpeg

Pierwsza kolumna zawiera nazwę kodeka, która powinna być podana za opcją `vcodec`, np: `-lavcopts vcodec=msmpeg4`

Przykład z kompresją MJPEG:

    mencoder dvd://2 -o title2.avi -ovc lavc -lavcopts vcodec=mjpeg -oac copy

## Kodowanie z wielu wejściowych plików obrazkowych (JPEG,PNG lub TGA)

MEncoder jest w stanie stworzyć film z jednego lub wielu plików JPEG, PNG lub TGA. Poprzez proste kopiowanie ramek może stworzyć pliki MJPEG (Motion (ruchomy - przypis tłumacza) JPEG), MPNG (Motion PNG) lub MTGA (Motion TGA).

Jak to działa:

1. MEncoder dekoduje wejściowy obrazek/obrazki z pomocą biblioteki libjpeg (w przypadku dekodowania PNG, skorzysta z libpng).

2. Potem MEncoder kompresuje zdekodowane pliki podanym kompresorem (DivX4, XviD, FFmpeg msmpeg4, itd.).

Przykłady

Opis i sposób działania funkcji `-mf` znajdują się na stronie man.

Tworzenie pliku MPEG-4 ze wszystkich plików JPEG w aktualnym katalogu:

    mencoder mf://*.jpg -mf w=800:h=600:fps=25:type=jpg -ovc lavc -lavcopts vcodec=mpeg4 -oac copy -o wyjscie.avi

Tworzenie pliku MPEG-4 z wybranych plików JPEG w aktualnym katalogu:

    mencoder mf://*.jpg -mf type=jpg:w=800:h=600:fps=25 -ovc copy -oac copy -o wyjscie.avi

Tworzenie pliku Motion JPEG (MJPEG) ze wszystkich plików JPEG w aktualnym katalogu:

    mencoder -mf on:w=800:h=600:fps=25 -ovc copy -o wyjscie.avi \*.jpg

Tworzenie nieskompresowanego pliku ze wszystkich plików PNG w aktualnym katalogu:

    mencoder -mf on:w=800:h=600:fps=25:type=png -ovc raw -o wyjscie.avi \*.png

Szerokości musi być liczbą podzielną przez 4, takie są ograniczenia formatu RAW RGB AVI.

Tworzenie pliku Motion PNG (MPNG) ze wszystkich plików PNG w aktualnym katalogu:

    mencoder mf://*.png -mf w=800:h=600:fps=25:type=png -ovc copy -oac copy -o wyjscie.avi

Tworzenie pliku Motion TGA (MTGA) ze wszystkich plików TGA w aktualnym katalogu:

    mencoder mf://*.tga -mf w=800:h=600:fps=25:type=tga -ovc copy -oac copy -o wyjscie.avi

## Ekstraktowanie napisów z DVD do pliku VOBsub

MEncoder jest w stanie wyciągnąć napisy z DVD do pliku w formacie VOBsub. Tworzy je para plików z rozszerzeniem `.idx` i `.sub`, które są zazwyczaj spakowane do pojedyńczego archiwum `.rar`. MPlayer może je odtwarzać z opcjami `-vobsub` i `-vobsubid`.

Podajesz nazwę bazową (tzn. bez rozszerzenia `.idx` lub `.sub`) pliku wyjściowego z `-vobsubout` oraz indeks dla tego pliku przez `-vobsuboutindex`.

Jeżeli źródłem nie jest DVD powinieneś użyć opcji `-ifo`, aby wskazać plik `.ifo` potrzebny do stworzenia pliku wynikowego `.idx`.

Jeżeli źródłem nie jest DVD i nie masz pliku `.ifo`, będziesz musiał użyć opcji `-vobsubid`, aby podać id języka, które będzie umieszczone w pliku `.idx`.

Każde uruchomienie dołączy do istniejących napisów, jeżeli pliki `.idx` i `.sub` istnieją. Więc powinieneś je usunąć przed uruchomieniem.

Kopiowanie dwóch napisów z DVD podczas dwu-przebiegowego kodowania

    rm subtitles.idx subtitles.sub
    mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=1 -vobsubout subtitles -vobsuboutindex 0 -sid 2
    mencoder dvd://1 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vpass=2 -vobsubout subtitles -vobsuboutindex 1 -sid 5

Kopiowanie francuskich napisów z pliku MPEG

    rm napisy.idx napisy.sub
    mencoder film.mpg -ifo film.ifo -vobsubout napisy -vobsuboutindex 0 -vobsuboutid fr -sid 1

## Utrzymywanie proporcji obrazu (aspect ratio)

Pliki DVD i SVCD (tzn. MPEG-1/2) zawierają wartość proporcji obrazu, która opisuje, jak odtwarzacz ma skalować strumień video, więc ludzie nie będą się męczyć (np.: 480x480 + 4:3 = 640x480). Jednak przy kodowaniu plików AVI (DivX) musisz być świadom, że nagłówek AVI nie przechowuje tej wartości. Przeskalowywanie jest obrzydliwe i czasochłonne, musi być jakiś lepszy sposób!

Jest

MPEG-4 posiada unikalną cechę: strumień video może posiadać swoją wartość proporcji obrazu. Tak, dokładnie jak pliki MPEG-1/2 (DVD, SVCD) i H.263. Niestety, nie ma żadnych odtwarzaczy video które by to wykorzystywały, oprócz MPlayera.

Możliwość ta może być jedynie używana z kodekiem mpeg4 z biblioteki libavcodec. Pamiętaj: chociaż MPlayer poprawnie odtworzy stworzone pliki, inne odtwarzacze użyją złych proporcji obrazu (aspect ratio).

Z pewnością powinieneś wyciąć czarne pasy nad i pod obrazem. Zobacz jak używać filtrów cropdetect i crop na stronie man.

Sposób użycia:

    mencoder przykład-svcd.mpg -ovc lavc -lavcopts vcodec=mpeg4:autoaspect -vf crop=714:548:0:14 -oac copy -o wyjscie.avi

## Dowolne inter/intra matryce

Ta cecha libavcodec pozwala ustawić dowolne inter (I-ramki/ramki kluczowe) i intra (P-ramki/predicted frames) matryce. Funkcja ta jest obsługiwana przez wiele kodeków: mpeg1video i mpeg2video zgłaszane są jako działające.

Typowy sposób użycia tej opcji to ustawienie matrycy na specyfikacje preferowane przez KVCD.

Matryca Kwantyzacji KVCD "Notch":

Intra:

     8  9 12 22 26 27 29 34
     9 10 14 26 27 29 34 37
    12 14 18 27 29 34 37 38
    22 26 27 31 36 37 38 40
    26 27 29 36 39 38 40 48
    27 29 34 37 38 40 48 58
    29 34 37 38 40 48 58 69
    34 37 38 40 48 58 69 79

Inter:

    16 18 20 22 24 26 28 30
    18 20 22 24 26 28 30 32
    20 22 24 26 28 30 32 34
    22 24 26 30 32 32 34 36
    24 26 28 32 34 34 36 38
    26 28 30 32 34 36 38 40
    28 30 32 34 36 38 42 42
    30 32 34 36 38 40 42 44

Sposób użycia:

    $ mencoder wejscie.avi -o wyjscie.avi -oac copy -ovc lavc -lavcopts inter_matrix=...:intra_matrix=...

    $ mencoder wejscie.avi -ovc lavc -lavcopts
    vcodec=mpeg2video:intra_matrix=8,9,12,22,26,27,29,34,9,10,14,26,27,29,34,37,
    12,14,18,27,29,34,37,38,22,26,27,31,36,37,38,40,26,27,29,36,39,38,40,48,27,
    29,34,37,38,40,48,58,29,34,37,38,40,48,58,69,34,37,38,40,48,58,69,79
    :inter_matrix=16,18,20,22,24,26,28,30,18,20,22,24,26,28,30,32,20,22,24,26,
    28,30,32,34,22,24,26,30,32,32,34,36,24,26,28,32,34,34,36,38,26,28,30,32,34,
    36,38,40,28,30,32,34,36,38,42,42,30,32,34,36,38,40,42,44 -oac copy -o svcd.mpg

## Rippowanie DVD do wysokiej jakości pliku MPEG-4 ("DivX")

Jednym z najczęsciej zadawanych pytań jest "Jak zripować DVD do najwyższej osiągalnej jakości? Nie interesuje mnie rozmiar pliku, chcę tylko najwyższą jakość".

To jest co najmniej źle sformułowane. W końcu jeżeli nie obchodzi Cię rozmiar pliku, to czemu nie skopiować po prostu całego strumienia video MPEG-2 z DVD? Pewnie, plik będzie miał 5GB, jak chcesz to nie pakuj się w to, ale jeżeli chcesz najwyższej jakości i nie martwi Cię rozmiar pliku, to jest na pewno najlepsze rozwiązanie.

Tak na prawdę, powodem dla którego chcesz przekodować DVD do pliku MPEG-4 jest właśnie to, że zależy Ci na rozmiarze pliku.

Trudno jest podać przepis krok-po-kroku jak stworzyć wysokiej jakości ripa DVD. Trzeba uwzględnić kilka czynników, musisz je zrozumieć żeby być zadowolonym z rezultatów jakie osiągniesz. Poniżej zbadamy kilka z tych czynników i spojrzymy na przykłady. Zakładamy, że korzystasz z libavcodec do kodowania video, teorii jednak można używać przy innych kodekach.

Głównym założeniem tego przewodnika jest to, iż nie masz konkretnego docelowego rozmiaru pliku i nie masz problemu w oddaniu kilku bitów w zamian za poprawę jakości. Wiele informacji tutaj zawartych jest przydatnych w każdej sytuacji, ale niektóre mogą działać na Twoją niekorzyść jeżeli masz obrany cel w postaci wielkości pliku wynikowego, na przykład zmieszczeniu video na CD.

### Stały Kwantyzator vs. dwu-przebiegowe

Istnieją trzy podejścia do kodowania video: stały bitrate (CBR), stały kwantyzator i kodowanie dwu-przebiegowe (ABR, uśredniony bitrate).

W każdym z tych trybów, libavcodec rozbija ramke na makroblok 16x16 pikseli i aplikuje kwantyzator do każdego makrobloku Im niższy kwantyzator, tym lepsza jakość i wyższy bitrate. Metoda jaką używa libavcodec do zdeterminowania jaki kwantyzator użyć do danego makrobloku zależy od wielu czynników i jest łatwo zmienialna. (Jest to bardzo ogólny opis prawdziwego procesu, ale warto rozumieć podstawowy koncept.)

Kiedy ustawisz stały bitrate, libavcodec zakoduje video, niszcząc najmniejszą ilość detali jaka jest potrzebna żeby pozostać poniżej wyznaczonej wartości bitrate. Jeżeli naprawdę nie zależy Ci na rozmiarze pliku mógłbyś użyć CBR i ustawić bitrate na nieskończoność. (W praktyce oznacza to liczbę tak wysoką aby nie stawiała żadnego limitu, np. 10000Kbit.). Bez prawdziwych ograniczeń libavcodec użyje dla każdego makrobloku możliwie najniższego kwantyzatora (zapisanego w zmiennej `vqmin`, która domyślnie jest ustawiona na 2). Gdy tylko ustawisz niższy bitrate libavcodec będzie zmuszony do użycia wyższego kwantyzatora, a więc i pogorszenia jakości video. Ogólnie, jeżeli zależy Ci na jakości wogóle nie powinieneś używać CBR.

Ze stałym kwantyzatorem, libavcodec używa kwantyzatora ustawionego przez opcję `vqscale` na każdym makrobloku. Jeżeli chcesz najwyższej możliwej jakości, igonrując bitrate, możesz użyć `vqscale=2`. Będzie to miało taki sam efekt jak ustawienie `vbitrate`=nieskończoność i domyślnie `vqmin` na 2 przy CBR.

Problemem przy stałym kwantyzowaniu jest to, iż używa on danego kwantyzatora czy makroblok potrzebuje go czy nie. To znaczy że można byłoby użyć wyższego kwantyzatora bez starty jakości obrazu. Po co tracić miejsce na niepotrzebnie niski kwantyzator? Twój procesor ma tyle cykli ile jest czasu, ale na twardym dysku jest ograniczona ilosć miejsca.

W dwu-przebiegowym kodowaniu, pierwszy przebieg zripuje film ze stałym bitratem (CBR), ale stworzy plik logujący właściwości każdej ramki. Te informacje są używane podczas drugiego przebiegu i na ich podstawie dobierany jest odpowiedni kwantyzator. Podczas szybkiej akcji lub scen z małą ilością detali, będzie użyty wysoki kwantyzator, a podczas wolnego ruchu lub scen z wieloma detalami niższy.

Jeżeli używasz `vqscale=2`, to tracisz miejsce. Jeżeli używasz `vqscale=3`, to nie dostaniesz najwyższej jakości. Przypuśćmy, że ripujesz DVD z opcją `vqscale=3`, a rezultatem jest 1800Kbit. Jeżeli zastosujesz dwu-przebiegowe kodowanie z `vbitrate=1800`, wyjściowe video będzie miało wyższą jakość dla tej samej wartości bitrate.

Ponieważ jesteś już przekonany, że dwu-przbiegowe kodowanie jest najlepszym rozwiązaniem, prawdziwym pytaniem jest jakiej użyć wartości bitrate? Nie ma jednoznacznej odpowiedzi. Idealna wartość jest najlepszym balansem między jakością a rozmiarem pliku. Zmienia się ona zależnie od źródłowego video.

Dobrym punktem startowym dla wysokiej jakości ripów jest 2000Kbit plus minus 200Kbit. Przy szybkiej akcji, wielu detalach lub poprostu gdy masz wysokie wymagania, możesz zdecydować się na 2400 lub 2600. Przy niektórych DVD, możesz nie zauważyć różnicy przy 1400KBit. Najlepiej jest troszkę poeksperymentować przy różnych wartościach bitrate.

### Kadrowanie i Skalowanie

Normalne DVD ma rozdzielczość 720x480 dla NTSC i 720x576 dla PAL, ale jest jeszcze flaga mówiąca czy jest to obraz pełno ekranowy (4:3), czy panoramiczny (16:9). Wiele (jeżeli nie wszystkie) panoramiczne DVD nie są dokładnie 16:9, tylko 1.85:1 lub 2.35:1 (kineskop). Oznacza to iż pojawią się czarne pasy którę będą musiały być wykadrowane.

W tym miejscu pojawia się MPlayer posiadający opcję ustalającą prostokąt kadrowania (`-vf cropdetect`). Ponieważ MPEG-4 używa makrobloków 16x16, będziesz chciał aby każdy wymiar obrazu był wielokrotnością 16, w innym wypadku pogorszy się jakość szczególnie przy niskich wartościach bitrate. Możesz osiągnąć to zaokrąglając prostokąt kadrowania do najbliższej wielokrotności 16. Przy kadrowaniu będziesz chciał zwiększyć przesunięcie w osi y o połowę różnicy między starą a nową wartością tak aby obraz brany był z środka ramki. Z powodu sposobu w jaki obraz jest próbkowany na DVD musi to być przysta liczba. (Tak naprawdę nigdy nie używaj nieparzystych wartości przy kadrowaniu ani skalowaniu.) Jeżeli nie chcesz wyrzucać kilku pikseli, może wolisz zeskalować obraz. Przyjrzyjmy sie skalowaniu w naszym następnym przykładzie.

Uważaj też na "miękkie" czarne piksele na brzegach. Wykadruj je też, bo inaczej będziesz tracił bity którę zostaną wykorzystane lepiej gdzie indziej.

Po wszytskim, dostaniesz najprawdopodobniej video którego piksele nie są raczej ani 1.85:1 czy 2.35:1, tylko coś w pobliżu. Mógłbyś policzyć nowe proporcje obrazu ręcznie, ale MEncoder oferuje opcję biblioteki libavcodec o nazwie `autoaspect` która zrobi to za Ciebie. W żadnym wypadku nie skaluj pikseli w celu zrobienia z nich kwadratów, chyba że lubisz tracić miejsce na twardym dysku. Skalowanie powinno odbywać się przy odtwarzaniu, a odtwarzacz użyje proporcji zapisanych w nagłówku AVI, aby zdeterminować prawidłową rozdzielczość.

### Audio

Dźwięk jest o wiele prostszym problemem do rozwiązania.: zostaw go poprostu takim jakim jest. Nawet strumienie AC3 5.1 są najwyżej 448Kbit/s i są one warte każdego bitu. Kuszące może wydawać się zakodowanie dźwięku do wysokiej jakości Ogg Vorbis, ale to że nie posiadasz dzisiaj odbiornika A/V do AC3 nie oznacza że nie będziesz go miał jutro. Zabezpiecz swoje ripy DVD zostawiając im strumień AC3.

### Przeplot i Telecine

Prawie wszytskie filmy kręcone są z prędkością 24 fps. Ponieważ NTSC jest 29.97 fps, obraz 24 fps trzeba poddać działaniu kilku procesów aby mógł być on odtwarzany na szybkości NTSC. Proces ten nazywa się 3:2 pulldown, często wiązany z telecine (ponieważ pulldown jest często stosowany podczas procesu telecine), i naiwnie opisywany jako iż działa on przez zwalnianie filmu do 23.976 fps, i powtarzaniu co czwartej ramki.

Video w formacie PAL z DVD, o prędkość 25 fps nie jest poddawane żadnym specjalnym procesom. (Praktcznie, PAL może zostać poddany procesowi telcine, nazywanemu 2:2 pulldown, ale w praktyce to nie jest problemem.) Film 24 fps jest poprostu odtwarzany z prędkością 25 fps. W efekcie film leci trochę szybciej ale jeżeli nie jesteś kosmitą pewnie nie zauważysz różnicy. Większość DVD w PALu posiada poprawiony dźwięk, więc nawet przy odtwarzaniu z prędkością 25 fps będzie on brzmiał poprawnie, pomimo tego, iż ścieżka dźwiękowa (a wiec i cały film) jest odtwarzana 4% czasu krócej niż NTSC DVD.

Ponieważ video w PAL DVD nie zostało zmienione, nie musisz martwić się o tempo odtwarzania. Źródło jest 25 fps i Twoj rip będzie 25 fps. Jednakże, jeżeli ripujesz NTSC DVD, możliwe że będziesz musiał zastosować odwrócone telecine.

W filmach nakręconych w prędkości 24 fps, video na NTSC DVD jest albo ztelecinowane do 29.97 fps lub progresywne 24 fps i przeznaczone to telecine które ma zostać wykonane w locie przez odtwarzacz DVD. Z drugiej strony, seriale telewizyjne są zazwyczaj tylko przeplecione, nie ztelecionowane. Jednakże nie jest to regułą: niektóre seriale TV są przeplecione (jak Buffy Postrach Wampirów), a niektóre są miksturą progresywnego i przeplecionego video (jak Angel, lub 24 godziny).

Szczególnie polecamy do przeczytania sekcje o tym Jak sobie radzić z telecine i przeplotem w DVD w formacie NTSC.

Jeżeli, ripujesz tylko filmy, najprawdopodobniej musisz radzić sobie tylko z obrazem 24 fps progresywnym lub telecine. W takiej sytuacji możesz użyć fitru `pullup` (`-vf pullup,softskip`).

### Filtrowanie

Ogólnie, chcesz filtrować jak najmniej aby pozostać najbliżej jak się da do źródłowego DVD. Kadrowanie jest zazwyczaj niezbędne (opisane powyżej), ale nie skaluj obrazu. Skalowanie w dół jest czasami preferowane zamiast wysokich kwantyzatorów, chcemy uniknąć obu tych rzeczy: pamiętaj co ustaliliśmy na początkum, że chcemy wymienać bity na jakość.

Również nie zmieniaj wartośći gamma, kontrastu, jasności, itd. To co wygląda dobrze na Twoim monitorze, może nie wyglądać dobrze na innych. Te ustawienia powinny być realizowane tylko przy odtwarzaniu.

Jedną rzeczą którą mógłbyś chcieć zrobić jest przepuszczenie obrazu przez lekki odszumiający filtr, tak jak np. `-vf hqdn3d=2:1:2`. Znów, jest to sprawa lepszego spożytkowania miejsca: po co tracić je na kodowanie szumów jeżeli możesz dodać je podczas odtwarzania? Zwiększenie parametrów `hqdn3d` zwiększy możliwości kompresji, ale jeżeli zwiększysz parametry za bardzo ryzykujesz utratę klarowności obrazu. Sugerowane powyżej wartości (`2:1:2`) są dość zachowawcze; spróbuj poeksperymentować z wyższmi wartościami i samemu porównać efekty.

### Przykład

Kupiłeś wieć nowiutką kopię Harrego Pottera i Komnaty Tajemnic (oczywiście wersję panoramiczną) i chcesz zripować to DVD aby dodać ją do swojego komputerowego kina domowego. Jest to DVD z regionu 1, a więc NTSC. Poniższy przykład będzie działał z fomratem PAL jeżeli pomiesz opcję `-ofps 23.976` (ponieważ wejściowa szybkość jest taka sama jak wyjściowa), oczywiście paramtery kadrowania będą inne.

Po uruchomieniu `mplayer dvd://1`, podążamy opisem zawartym w sekcji Jak sobie radzić z telecine i przeplotem w DVD w formacie NTSC i odkrywamy, że jest to progresywne video 24 fps, co oznacza że nie musimy używać filtrów odwróconego telecine, jak `pullup` czy `filmdint`.

Następnie, chcemy zdeterminować odpowiedni prostokąt kadrowania, używamy fitru cropdetect:

    mplayer dvd://1 -vf cropdetect

Przewniń do w pełni wypełnionej ramki (jasna scena), i zobaczysz wyjście MPlayera na konsoli:

    crop area: X: 0..719  Y: 57..419  (-vf crop=720:362:0:58)

Teraz odtwarzamy film z tym fitrem aby sprawdzić jego poprawność:

    mplayer dvd://1 -vf crop=720:362:0:58

I widzimy że wygląda świetnie. Teraz, upewniamy sie że wymiary śa wielokrotnością 16 . Szerokość jest w porządku, niestety wysokość nie. Ponieważ nie oblaliśmy matematyki w liceum, wiemy że najbliższą wielokrotnościa 16 mniejszą niż 362 jest 352.

Moglibyśmy poprostu użyć `crop=720:352:0:58`, ale ładniej byłoby wziąć trochę z góry i z dołu aby utrzymać się na środku. Zmneijszylismy wysokość o 10 pikseli, ale nie chcemy zwiększyć przesunięcia y o 5 pikseli ponieważ jest to liczba nieparzysta i pogorszyłaby jakość. Zwiększymy zatem przesunięcie na osi y o 4 piksele:

    mplayer dvd://1 -vf crop=720:352:0:62

Innym powodem dla którego powinniśmy obcinać piksele równomiernie z góry i dołu są "połowy czarnych pikseli" które bezwzględnie powinniśmy obciąć jeżeli istnieją. Pamiętaj, jeżeli Twoje video jest ztelecinowane, upewnij się że filtr `pullup` (lub inny filtr odwróconego telecine który zdecydujesz się użyć) pojawia się w łańcuchu fitrów przed fitrem kadrowania. Jeżeli video posiada przeplot, usuń go przed kadrowaniem. (Jeżeli zdecydujesz się pozostawić przeplot, upewnij się że wertykalne przesunięcie kadrowania jest wielokrotnością 4.)

Jeżeli naprawdę jesteś przejęty utratą tych 10 pikseli, może wolisz przeskalować wymiary obrazu do najbliższej wielkortoności 16. Łańcuch fitrów powinen wyglądać tak:

    -vf crop=720:362:0:58,scale=720:352

Skalowanie video w dół oznacza utratę małej ilości detali, która będzie najprawdopodobnie niezauważalna. Skalowanie w góre oznacza utratę jakości (chyba że zwiększysz bitrate). Kadrowanie wyrzuca te piksele. Jest to wymiana jaką trzeba rozważyć w każdym wypadku. Na przykłąd, jeżeli DVD było zrobione dla telewizji, możesz chcieć uniknąć wertykalnego skalowania, ponieważ zestawienie linii odpowiada temu jak obraz był oryginalnie nagrywany.

Przy insepkcji widzimy że nasz film ma dużo akcji i szczegółów, wybieramy więc 2400Kbit na nasze bitrate.

Jesteśmy gotowi do dwu-przebiegowego kodowania. Przebieg 1:

    mencoder dvd://1 -ofps 23.976 -oac copy -vf crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
    -o Harry_Potter_2.avi

Drugi przebieg jest taki sam, podajemy tylko opcję `vpass=2`:

    mencoder dvd://1 -ofps 23.976 -oac copy -vf crop=720:352:0:62,hqdn3d=2:1:2 -ovc lavc \
    -o Harry_Potter_2.avi

Opcje `v4mv:mbd=2:trell` ogromnie poprawią jakość za cenę czasu kodowania. Opcje `cmp=3:subcmp=3:mbcmp=3` wybierają funkcje porównywania które wybierają lepsza jakość niż te domyśłne. Możesz poeksperymentować z tymi wartościami (skonsultuj stronę man co do prawidłowych wartości) ponieważ różne funkcję mogą mieć duży wpływ na jakość zależnie od matriału źródłowego. Na przykład, jeżeli libavcodec produkuje za dużo artefaktów możesz spróbować wybrać eksperymentalną funkcję NSSE jako funkcję porównującą przez `*cmp=10`.

Dla tego filmu, końcowe AVI będzie miało 138 minut i prawie 3GB. A ponieważ powiedziałeś że rozmiar nie ma znaczenia, to jest akceptowalna wielkość. Jednakże, jeżelli chciałbyś mniejszy plik, mógłbyś spróbować niższy bitrate. Zwiększanie wartości bitrate daje malejące rezultaty, więc jeżeli widać wyraźną róźnicę między 1800Kbit, a 2000Kbit, to nie znaczy że będzie lepiej powyżej 2000Kbit. Ekperymentuj aż będziesz zadowolony.

Ponieważ przepuściliśmy źródłowy obraz przez filtr odszumiający, możesz chcieć dodać go trochę podczas odtwarzania. To razem z fitrem postprocessingu `spp`, drastycznie poprawia odbiór obrazu i pomaga wyeliminować artefakty. W MPlayerze dostępna jest opcja `autoq`. W tym momencie możesz również poprawić gammę lub/i korekcję kolorów. Na przykład:

    mplayer Harry_Potter_2.avi -vf spp,noise=9ah:5ah,eq2=1.2 -autoq 3

## Jak radzić sobie telecine i przeplotem w NTSC DVD

Wprowadzenie

Radzę abyś odwiedził poniższą stronę jeżeli nie za bardzo rozumiesz co jest napisane w tym dokumencie: http://www.divx.com/support/guides/guide.php?gid=10 Ten URL prowadzi do zrozumiałego i rozsądnej wielkości przewodnika traktującego o tym czym jest telecine.

Z przyczyn technicznych odnoszących się do wczesnych urządzeń telwizyjnych, każde video które miało być odtwarzane na telewizorze NTSC musiało być ustawione na 59,94 pola na sekundę. Filmy i programy nagrane dla telewizji są najczęściej ograniczone bezpośrednio do 59,94 pól na sekundę, ale większość filmów kinowych jest nagrywanych w 24 lub 23,976 klatkach na sekundę. Kiedy DVD z kinowym filmem jest odtwarzane, video jest konwertowane dla telewizji przy pomocy procesu nazywanego telecine.

Obraz na DVD, tak naprawdę nigdy nie jest przechowywany jako 59,94 pól na sekundę. Dla obrazu który oryginalnie był 59,94, każda para pól jest łączona w ramkę, co daje rezultat 29,97 ramek na sekundę. Sprzętowe odtwarzacze DVD odczytują flagę osadzoną w strumieniu video aby określić czy parzyste czy nieparzyste linie powinny formować pierwsze pole.

Zazwyczaj, informacja o 23,976 ramkach na sekundę mówi odtwarzaczowi DVD, że musi przeprowadzić telecine w locie. Czasami, jednak, proces telecine na obrazie przeprowadzony jest przed umieszczeniem go na DVD; Nawet jeżeli był on nagrany jako 23,976 ramek na sekundę, staje się on 59,94 pola na sekundę i jest przechowywany na dysku jako 29,97 ramek na sekundę.

Patrząc na indywidualne ramki uformowane z ztelecinowanego obrazu 59,94 pól na sekundę, przeplot jest wyraźnie widoczny przy ruchu, ponieważ jedno pole (powiedzmy parzyste linie) reprezentują moment w czasie o 1/59,94 sekundy później niż pozostałe. Odtwarzanie video z przeplotem na komputerze wygląda ohydnie, z dwóch przyczyn, ponieważ monitor jest większej rozdzielczości i obraz jest wyświetlany ramka-po-ramce zamiast pole-po-polu.

Notki:

- Ta sekcja odnosi się tylko do NTSC DVD, nie do PAL.

- Przykładowe komendy MEncodera w tym dokumencie nie są przeznaczone do prawdziwego użycia. Są one po prostu minimum do kodowania danej kategorii video. Jak zrobić dobre ripy DVD lub precyzyjnie-ustawić libavcodec dla najlepszej jakości nie są zagadnieniami dla tego tego dokumentu.

- Jest kilka przypisów do tego dokumentu, zaznaczonych tak: [1]

### Jak ustalić jaki typ video masz

#### Progresywny

Progresywne video było oryginalnie filmowane przy 23.976 fps (ramek na sekundę - przyp. tłum.), i przechowywane na DVD bez zmian.

Kiedy odtwarzasz progresywne DVD w MPlayerze, MPlayer wyświetli nastepujący wiersz zaraz gdy film zacznie być odtwarzany:

     demux_mpg: 24fps progressive NTSC content detected, switching framerate.

Od tego momentu, demux_mpg niepowinien nigdy powiedzieć iż znalazł "30fps NTSC content."

Kiedy oglądasz progresywne video, nie powinieneś zauważyć żadnego przeplotu. Bądź jednak czujny ponieważ jest tam czasami wmiksowany mały kawałek telecine, tam gdzie się go nie spodziewasz. Napotkałem DVD z programami telewizyjnymi w których przy każdej zmianie sceny i w losowych miejscach była jedna sekunda telecine. Raz oglądałem DVD który miał jedną połowę progresywną, a drugą ztelecinowaną. Jeżeli chcesz być naprawdę pewny, możesz przeskanować cały film:

    mplayer dvd://1 -nosound -vo null -benchmark

Użycie opcji `-benchmark` przekazuje MPlayerowi aby odtwarzał film tak szybko jak tylko może; ciągle jednak, jako że jest zależny od Twojego sprzętu może to zając trochę czasu. Za każdym razem demux_mpg zgłasza zmianę liczby ramek na sekundę, pierwsza linia nad pokaże czas w którym nastąpiła ta zmiana.

Progresywne video jest czasami nazywane "miękkie-telecine" ponieważ jest ono stworzone aby odtwarzac DVD wykonał na nim proces telecine.

#### Ztelecinowany

Obraz "ztelecinowany" był oryginalnie sfilmowany jako 23,976, ale został poddany procesowi telecine przed zapisaniem go na płycie DVD.

MPlayer (nigdy) nie zwraca żadnych zmian ilości ramek na sekundę kiedy odtwarza ztelecinowane video.

Podczas oglądania video poddanego procesowi telecine, zobaczysz artefakty przeplotu które wydają się "migać": szybko pojawiają się i znikają. Możesz się im bliżej przyjrzeć wpisując

1.     mplayer dvd://1 -speed 0.1

2. Przewiń na dynamiczne sceny.

3. Popatrz na wzór przeploto-wyglądających i progresywnie-wyglądających ramek. Jeżeli wzór który widzisz wygąda jak PPPII,PPPII,PPPII,... wtedy video ztelecinowane. Jeżeli widzisz inny wzór, wtedy możliwe jest że video zostało niestandartowo poddane procesowi telecine i MEncoder nie może bezstratnie przekonwertować go do progresywnego video. Jeżeli nie widzisz żadnego wzoru, wtedy najprawdopodobniej video zawiera tylko przeplot.

Czasami video poddane procesowi telecine nazywane jest "twarde-telecine".

#### Przepleciony

Przeplecione video było oryginalnie sfilmowane jako 59,94 pól na sekundę i przechowywane na DVD jako 29,97 fps. Przeplot to rezultat połączenia par pól w ramkę, ponieważ w każdej ramce, każde pole jest oddzielone o 1/59,94 sekundy.

Tak jak przy ztelecinowanym video, podczas odtwarzania filmu z przeplotem MPlayer nigdy nie powinien powiadamiać o zmianie ilości ramek na sekundę.

Kiedy z bliska oglądasz przeplecione video z `-speed 0.1` zobaczysz, iż każda pojedyńcza klatka jest przepleciona.

#### Mieszane progresywne i telecine

Wszystkie "wymieszane progresywne i telecine" video były oryginalnie nagrane jako 23.976 ramek na sekundę, ale niektóre części skończyły jako ztelecinowane.

Kiedy MPlayer odtwarza tę kategorię, będzie on (zazwyczaj bardzo szybko) przełączał się tam i z powrotem między "30fps NTSC" i "24fps progresywne NTSC". Przyjrzyj się wyjściu MPlayera (na konsoli - przyp. tlum.) aby zobaczyć te wiadomości.

Powinieneś przyjrzeć się sekcji "30fps NTSC" aby upewnić się czy są one na pewno telecine a nie tylko przeplecione.

#### Mieszane progresywne i telecine

W "mieszanej progresywnej i przeplecionej" zawartości, progresywne i przeplecione video zostało połączone razem.

Ta kategoria wygląda zupełnie jak "mieszane progresywne i telecine", do momentu kiedy przyjrzysz się fragmentom 30fps i zobaczysz iż nie maja one wzoru telecine.

### Jak zakodować każdą kategorię

Jak już wspomniałem na początku, przykładowe polecenia MEncodera poniżej nie są przewidziane do rzeczywistego użycia; demonstrują one tylko minimalne parametry potrzebne do prawidłowego zakodowanie danej kategorii.

#### Progresywne

Progresywne video nie wymaga żadnego specjalnego filtrowania do kodowania. Jedynym koniecznym paramterem jaki musisz użyć jest `-ofps 23.976`. Inaczej, MEncoder będzie próbował kodować przy prędkości 29,97 i duplikować ramki.

    mencoder dvd://1 -nosound -ovc lavc -ofps 23.976

#### Ztelecinowane

Proces telecine może zostać odwrócony, aby odzyskać oryginalną zawartość 23,976, przy użyciu metody o nazwie odwrócone-telecine. MPlayer zawiera dwa filtry które są w stanie dokonać tego: `detc` i `ivtc`. Możesz przeczytać stronę man aby dowiedzieć się co je różni, ale jeżeli chodzi o DVD to nigdy nie miałem problemu z `ivtc`. Pamiętaj, że przed przeskalowywaniem powinieneś zawsze odwrócić telecine; odwróć telecine także przed cropowaniem, chyba że naprawdę wiesz co robisz [1].

    mencoder dvd://1 -nosound -vf ivtc=1 -ovc lavc -ofps 23.976

#### Przeplecione

Dla większości praktycznych przypadków nie jest możliwe całkowite odzyskanie progresywnego video z przeplecionej zawartości. Jedynym sposobem bez gubienia połowy pionowej rozdzielczości jest podwojenie ilości ramek na sekundę i "zgadnięcie" co powinno zastąpić odpowiadające linie każdego pola (ma to pewne wady - zobacz trzecią metodę).

1. Kodowanie video z przeplotem. Normalnie, przeplot niszczy szanse enkodera na dobre zakodowanie, lecz libavcodec posiada dwie opcje pozwalające przechowywać video z przeplotem ciut lepiej: `ildct` i `ilme`. Użycie `mbd=2` jest także zalecane [2] ponieważ zakoduje on makrobloki bez przeplotu w miejscach gdzie nie ma ruchu Zauważ iż opcja `-ofps` NIE jest tu potrzebna.

       mencoder dvd://1 -nosound -ovc lavc -lavcopts ildct:ilme:mbd=2

2. Użycie filtru likwidującego przeplot przed kodowaniem. Jest kilka takich filtrów, każdy ma swoje wady i zalety. Skonsultuj `mplayer -pphelp` aby zobaczyć co jest dostępne (grepuj "deint") i przeszukaj listy dyskusyjne MPlayera aby znaleźć wiele dyskusji na temat różnych filtrów. Ilość ramek na sekundę znów się nie zmienia, więc nie używamy `-ofps`. Likwidowanie przeplotu powinno zostać zrobione po kadrowaniu [1] i przed skalowaniem.

       mencoder dvd://1 -nosound -vf pp=lb -ovc lavc

3. Niestety ta opcja zawiera błędy w MEncoderze; Będzie działać w MEncoder G2, którego jeszcze nie ma. Na razie możesz doświadczyć nieoczekiwanych wywaleń. Celem opcji `-vf tfields` jest stworzenie pełnej klatki z każdego pola, co w efekcie daje framerate 59,94. Zaletą tego podejścia jest zerowa utrata danych; jednak ze względu na to, iż każda ramka pochodzi od jednego pola pozostałe linie muszą być jakoś zinterpolowane. Są niezbyt dobre metody generowania brakujących danych, a rezultaty będą podobne do tych jakie otrzymamy przy filtrach likwidujących przeplot. Generowanie brakujących linii tworzy kolejne problemy, po prostu ilość danych się podwaja. Więc, aby zachować jakość potrzebny jest większy kodujący bitrate i większa cześć mocy procesora jest używana do kodowania jak i dekodowania. tfields posiada kilka różnych opcji do generowania brakujących linii. Jeżeli używasz tej metody, odwołaj się do manuala i wybierz opcję która najbardziej odpowiada Twojemu materiałowi. Zauważ, że gdy używasz `tfields` musisz podać i `-fps` i `-ofps` aby podwoić ilość ramek na sekundę Twojego źródła.

       mencoder dvd://1 -nosound -vf tfields=2 -ovc lavc -fps 59.94 -ofps 59.94

4. Jeżeli planujesz drastyczne zmniejszenie rozdzielczości możesz odciąć i zakodować tylko jedno z dwóch pól. Oczywiście stracisz połowę pionowej rozdzielczości, ale jeśli chcesz zeskalować do mniej niż połowy pionowej rozdzielczości, strata nie będzie miała dużego znaczenia. Rezultatem będzie progresywny plik o prędkości 29,97 ramek na sekundę. Procedura wymaga użycia `-vf field`, potem wykadrowania [1] i wyskalowania. Pamiętaj, iż będziesz musiał skompensować połowę pionowej rozdzielczości odpowiednią skalą.

       mencoder dvd://1 -nosound -vf field=0 -ovc lavc

#### Mieszane progresywne i telecine

W celu zmienienia zmieszanego video w całkowicie progresywne, części ztelecinowane będą musiały być poddane procesowi odwróconego telecine. Są dwa filtry które tego dokonają natywnie, ale najlepszym sposobem jest użycie ich obu połączonych (czytaj dalej aby dowiedzieć się więcej).

- Obecnie najbardziej niezawodną metodą na poradzenie sobie z tym typem video, jest nie odwracanie telecine ztelecinowanych części, ale ztelecinować nie-ztelecinowane części i odwrócić telecine całego video. Brzmi skomplikowanie? softpulldown jest filtrem który zamienia całe video na telecine. Jeżeli po softpulldown nastąpi `detc` lub `ivtc`, końcowym rezultatem będzie w całości progresywne video. Kadrowanie i skalowanie powinno być zrobione po operacjach odwracających telecine z opcją `-ofps 23.976`.

      mencoder dvd://1 -nosound -vf softpulldown,ivtc=1 -ovc lavc -ofps 23.976

- `-vf pullup` jest zaprojektowane aby odwracać telecine ztelecinowanego materiału, a progresywne dane zostawiać w spokoju. Pullup nie działa za dobrze z obecnym MEncoderem, ale będzie działał z MEncoder G2 (kiedy ten będzie tylko gotowy). Działa dobrze bez opcji `-ofps`, ale `-ofps` jest potrzebne aby zapobiec poszatkowanemu wyjściu . Z `-ofps` pullup czasami zawodzi. Problem wywodzi się z zachowania MEncodera który zrzuca ramki aby zachować synchronizację między dźwiękiem i obrazem: zrzuca ramki raczej przed wysłaniem ich przez łańcuch filtrów, niż po. W rezultacie `pullup` jest czasami pozbawiony danych których potrzebuje.

  Jeżeli MEncoder zrzuca za dużo ramek pod rząd, zagładza bufor `pullupa` i powoduje jego nieoczekiwane zamknięcie.

  Jeżeli nawet MEncoder zrzuca jedną ramkę, `pullup` wciąż nie widzi jej i operuje na złej sekwencji ramek. Nawet jeśli to nie powoduje nieoczekiwanego zakończenia, `pullup` nie będzie w stanie podjąć właściwych decyzji jak połączyć progresywne ramki i albo będzie niewłaściwie dopasowywał do siebie pola albo zrzucał parę pól aby skompensować.

- Nie używałem `-vf filmdint` osobiście, ale zobacz co ma do powiedzenia na ten temat D Richard Felker III:

  > To jest w porządku, ale IMO (MZ - Moim zdaniem - przyp. tłum.) to raczej próbuje usunąć przeplot niż odwrócić telecine (podobnie jak odtwarzacze DVD settop & progresywne TV) czego skutkiem jest ohydne miganie i inne artefakty. Jeżeli zamierzasz używać tego, musisz chociaż spędzi trochę czasu na dopasowaniu opcji i oglądaniu rezultatów aby upewnić się, że się nie kaszani.

#### Mieszane progresywne i z przeplotem

Są dwie metody na poradzenie sobie z tą kategorią, każda jest pewnym kompromisem. Powinieneś zdecydować na podstawie czasu trwania/miejsca każdego typu.

- Traktuj video jak progresywne. Części z przeplotem będą wyglądały jak z przeplotem i niektóre przeplecione pola będą musiały być zrzucone, czego rezultatem będzie niemiarowe skakanie. Jeśli chcesz możesz użyć filtrów postprocessingu, ale może to nieznacznie zdegradować progresywne części.

  Ta opcja na pewno nie powinna być używana jeśli docelowo masz zamiar wyświetlać video na urządzeniu wykorzystującym przeplot (np. z kartą TV) Jeżeli masz ramki z przeplotem 23,937 fps, będą one ztelecinowane razem z progresywnymi ramkami. Połowa "ramek" z przeplotem będzie wyświetlona w czasie wyświetlania trzech pól (3/59.94 sekund), co w rezultacie da migający "skok wstecz w czasie" efekt który kiepsko wygląda. Jeżeli próbowałeś tego musisz użyć filtru likwidującego przeplot jak `lb` lub `l5`.

  To może być również zły pomysł dla progresywnego obrazu. Zrzuci to pary nieprzerwanych przeplecionych pól, dając w rezultacie nieciągłość która może być bardziej widoczna niż w drugim przypadku który pokazuje niektóre ramki dwa razy. Video z przeplotem 29,97 fps jest już trochę poszatkowane ponieważ powinno być wyświetlanie z prędkością 59,94 pól na sekundę, więc zduplikowane pola nie są aż tak widoczne.

  W każdym przypadku najlepiej jest rozpatrywać materiał i to gdzie masz zamiar go wyświetlać. Jeśli video jest w 90% progresywne i nie masz zamiaru nigdy go wyświetlać na TV, powinieneś faworyzować progresywne podejście. Jeżeli jest tylko w połowie progresywne, będziesz pewnie chciał je kodować tak jakby było w całości z przeplotem.

- Traktuj video jakby było z przeplotem. Niektóre klatki z progresywnych części będą musiały być zduplikowane, dając w rezultacie niemiarowe skoki. Znów filtry likwidujące przeplot mogą nieznacznie zdegradować progresywne części.

### Notatki

1. O kadrowaniu:

   Video na DVD jest przechowywane w formacie nazywanym YUV 4:2:0. W video YUV luma ("jasność") i chroma ("kolor") są przechowywane osobno. Ponieważ ludzkie oczy są mniej wrażliwe na kolor niż na jasność, w obrazie YUV 4:2:0 na cztery piksele luma przypada jeden piksel chroma. W progresywnym obrazie, każdy kwadrat czterech pikseli luma (dwa na każdym boku) ma jeden wspólny piksel chroma. Musisz wykadrować progresywne video YUV 4:2:0 do parzystych rozdzielczości, i używać parzystych przesunięć. Na przykład `crop=716:380:2:26` jest OK ale `crop=716:380:3:26` nie jest.

   Kiedy masz do czynienia z YUV 4:2:0 z przeplotem, sytuacja jest trochę bardziej skomplikowana. Zamiast każdych czterech pikseli luma w ramce dzielących jeden piksel chroma, każde cztery piksele w polu dzielą jeden piksel chroma. Kiedy pola są przeplatane aby stworzyć ramkę, każda linia skanująca jest wysokości jednego piksela. Teraz, zamiast czterech pikseli luma w kwadracie, są dwa bok-przy-boku i dwa następne bok-przy-boku dwie linie skanujące niżej. Całe to zamieszanie powoduje, że pionowe rozmiary kadru i przesunięcia muszą być wielokrotnościami czterech. Wymiary poziome mogą pozostać parzyste.

   Dla telecinowanego video, zalecam kadrować po procesie odwracania telecine. Kiedy video jest już progresywne wymagane jest tylko kadrowanie do parzystych wymiarów. Jeśli naprawdę potrzebujesz lekkiego przyspieszenia jakie da kadrowanie najpierw musisz kadrować pionowo do wielokrotności czterech, inaczej filtr odwracający telecine nie będzie otrzymywał prawidłowych danych.

   Przy video z przeplotem (nie telecine), musisz zawsze kadrować pionowo do wielokrotności czwórki, chyba że używasz opcji `-vf field` przed kadrowaniem.

2. O parametrach i jakości kodowania:

   Tylko to, że poleciłem `mbd=2` tutaj nie znaczy że nie może być on używany gdzie indziej. Razem z `trell`, `mbd=2` jest jedną z dwóch najbardziej podnoszących jakość opcji biblioteki libavcodec, których zawsze powinieneś używać, chyba że spadek szybkości kodowania jest niedopuszczalny (np. kodowanie w czasie rzeczywistym). Biblioteka libavcodec ma wiele opcji umożliwiających zwiększenie jakości wyjściowej kodowania (i zmniejszyenie prędkości) ale ten temat jest poza zakresem tego dokumentu.