7.11. Rippowanie DVD do wysokiej jakości pliku MPEG4 ("DivX")
Poprzedni | Rozdział 7. Kodowanie z MEncoderem | Następny

## 7.11. Rippowanie DVD do wysokiej jakości pliku MPEG4 ("DivX")

Na ripowanie DVD do pliku MPEG4 (DivX) wysokiej jakości składa sie wiele czynników. Poniżej znajduje się przykład tego procesu gdy nie ma żadnego rozmiaru docelowego pliku końcowego (innego niż zmieszczenie rezultatu w 2GB). `Libavcodec` zostanie użyte do zakodowania obrazu, dźwięk natomiast będzie skopiowany bez zmian.

### 7.11.1. Kadrowanie

Odtwórz DVD i uruchom na nim filtr detekcji kadrowania (`-vf cropdetect`). Rezultatem bedzie prostokąt kadrowania do użycia przy kodowaniu. Powodem kadrowania jest to, że wiele filmów nie zostało nakręconych w standardowej dla DVD proporcji obrazu (aspect ratio)(16/9 lub 4/3), lub, powodem może być cokolwiek, obraz nie wypełnia poprawnie całej ramki. A więc chcesz wyciąć bezsensowne czarne pasy podczas ripowania. To również poprawia jakość ripu w ponieważ kodowanie ostrych krawędzi czarnych pasów zajmuje wiele bitów. Powszechną proporcja obrazu jest 2.35, taka jak w kineskopie. Większość dużych filmów-pogromców bloków ma własnie taką proporcje obrazu (aspect ratio).

### 7.11.2. Poziom jakość

Następną rzeczą jaką musisz ustalić to docelowy poziom jakości. Gdy nie ma potrzeby zmieszczenia pliku na płycie/płytach CD, użycie stałej kwantyzacji znanej również pod nazwą stałej jakości będzie dobrym wyborem. W ten sposób każda ramka zajmuje tyle bitów ile potrzebuje aby zachować jakość na wybranym poziomie, za to wielokrotne kodowanie nie jest w tym wypadku potrzebne. W `libavcodec`, otrzymasz stałą jakość używając opcji `-lavcopts vqscale=`N``. `vqscale=3` powinno dać końcowy rezultat poniżej 2GB, zależy to głównie od długości filmu i poziomu szumów obrazu (im wiecej szumów tym trudniej jest dany obraz skompresować).

### 7.11.3. Pliki powyżej 2GB

Jeżeli plik wynikowy z kodowania o stałej jakości jest większy od 2GB , będziesz musiał stworzyć indeks aby móc oglądać go poprawnie. Albo

- odtwórz film z opcją `-forceidx` aby stworzyć index w locie albo

- użyj `-saveidx` aby zapisać indeks do pliku tylko raz i użyć go potem przy odtwarzaniu pliku używając opcji `-loadidx`.

Jeśli denerwuje Cię to, możesz chcieć utrzymać wielkość pliku poniżej 2GB.

Są trzy sposoby aby uniknąć tego. Możesz spróbować zakodować jeszcze raz używająć `vqscale=4` i zobaczyć czy wielkość i jakość pliku wynikowego są zadowalające. Możesz także spróbować kodowania 2przebiegowego. Gdy będziesz kopiował scieżkę dźwiękową automatycznie będziesz znał jej bitrate, znasz także długość filmu, możesz więc obliczyć potrzebny bitrate aby przekazać go opcji `-lavcopts vbitrate=`bitrate`` bez używania kodowania 3przebieowego.

Trzecią i prawdopodobnie najlepszą opcją będzie lekkie zeskalowanie rozdzielczości. Lekkie zmiękczenie obrazu i stracenie setali jest bardziej przyjazne dla oka niż artefakty powodowane przez kompresję MPEG. Zeskalowywanie wydajnie redukuje szumy obrazy ,co jest dobre, ponieważ szumy się ciężko kompresuje.

### 7.11.4. Usuwanie przeplotu

Jeżeli film ma przeplot, możesz chcieć go zlikwidować podczas ripowania. Jest to kwestia dyskusyjna czy usuwanie przeplotu powinno być robione na tym etapie. Zaletą jest to że usuwanie przeplotu podczas konwertowania do MPEG4 polepsza kompresje, ułatwia oglądanie które jest mniej zasobożerne na monitorach komputerowych.

Czy usuwanie przeplotu na etapie ripowania jest dobrym pomysłem zależy od DVD. Jeżeli DVD zostało zrobione z filmu nakręconego w prędkości 24 fps (przyp. tłum. ramek na sekundę), możesz ze spokojem usunąć przeplot w czasie ripowania. Jednakże jeśli prędkość orginlanego filmu wynosiła 50/60 fps, konwertowanie go do video 23.976/25 fps bez przeplotu, nie będzie dobry pomysłem, ponieważ skutkiem takiego procesu będzie strata informacji. If you do decide to interlace, you can further experiment with different deinterlacing filters. See http://www.wieser-web.de/MPlayer/ for examples. A good starting point is `-vf pp=fd`.

Jeżeli naraz kadrujesz i usuwasz przeplot, to usuń przeplot przed kadrowaniem. Aktualnie, nie jest to konieczne gdy wertykalny offset kadrowania jest podzielny przez 2. Jednakże z innymi filtrami ,takimi jak dering, kadrowanie powinno być ostatnie, dlatego jest to dobrym przyzwyczajeniem aby ustawiać kadrowanie jako ostatnie.

### 7.11.5. Odwrócone telecine

Jeśli ripujesz DVD w formacie PAL, które jest 25 fps, nie musisz myśleć o fps'ach (ramkach na sekunde - przyp. tłum.). Użyj poprostu 25 fps. Z drugiej strony DVD w formacie NTSC są 29.97 fps (zakrąglone zazwyczaj od 30 fps, ale to nie jest prawda). Jeżeli film był nakręcony dla TV, znów nie musisz dotykać się do fps'ów. Ale jeśli film został nakręcony na taśmie, pociąga to sa sobą, że miał (dokładnie) 24 fps i zostal przekonwertowany podczas tworzenia DVD do 29.97 fps. Konwersja, gdzie do każdej z 24 ramek filmu dodaje sie 12 pól, nazywa sie telecine. Aby wiecej sie dowiedzieć o telecine zobacz Wyniki szukania (Google) "telecine field 23.976".

W przypadku gdy masz takie ztelecinowane DVD, będziesz chciał odwrócić telecine, tzn. konwertować film do 23.976 (29.97*4/5). Inaczej panning kamery będzie wyglądał brzydko i głupio. Do tego celu możesz użyć opcji `-ofps 23.976`. Wszystko co jest pokazywane w kinach jest nakręcone na taśmie i potrzebuje odwróconego telecine, programy telewizyjne natomiast nie.

### 7.11.6. Skalowanie i proporcje obrazu (aspect ratio)

Aby uzyskać najlepszą jakość nie skaluj podczas ripowania. Zeskalowywanie w dół powoduje strate detali, a skalowanie w górę skutkuje pojawieniem się artefaktów i zwiększa rozmiar pliku. Piksele w filmach DVD nie są kwadratowe, a więc filmy DVD zawierają informacje o poprawnej proporcji obrazu. Jest możliwe aby przechowywać tę informacje w nagłówku wynikowego pliku MPEG4. Większość odtwarzaczy video ignoruje tę informacje, ale MPlayer honoruje ją. Więc jeśli zamierzasz używać tylko MPlayer do odtwarzania zripowanego pliku, nie musisz skalować filmu, poprostu przekaż opcję `-lavcopts autoaspect` do MEncodera i wszystko automagiczne będzie działać. Jeśli musisz skalować, bądź ostrożny aby uzyskać poprawny rozmiar obrazu szczególnie gdy kadrujesz.

### 7.11.7. Podsumowanie

Podsumowując wszystko, dobrą kodującą komendą może być:

    mencoder dvd://1 -aid 128 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vqscale=3:vhq:v4mv:trell:autoaspect \
      -ofps 23.976 -vf crop=720:364:0:56 -o Harry_Potter_2.avi

`dvd://1` wskazuje na tytuł DVD do zripowania. Opcja `-aid 128` mówi aby użyć 128ej scieżki audio, i `-oac copy` skopiować ją bez zmian. Będziesz musiał użyć MPlayera aby znaleźć poprawne wartości do tych opcji.

Opcje `vhq:v4mv:trell` do `-lavcopts` poprawiają jakość vs. bitrate, ale przedłużąją kodowanie. Szczególnie opcja `trell` zwalnia kodowanie znacząco ale też zauważalnie poprawia jakość. Jeżeli chcesz usunąć przeplot dodaj filtr `pp` do `-vf`, na przykład: `-vf pp=fd,crop=720:364:0:56` (w takiej kolejności). Jeśli nie potrzebujesz odwróconego telecine, zostaw `-ofps 23.976`.

Poprzedni | Początek rozdziału | Następny
7.10. Dowolne inter/intra matryce | Spis treści | Dodatek A. Listy dyskusyjne