Własny DivX - czyli ripowanie DVD.
Dodano 2005-09-29
Prawa autorskie
Copyright(C)2005 maverick44. All rights reserved.
Udziela się zgody na kopiowanie, rozpowszechnianie i/lub modyfikowanie tego dokumentu zgodnie z zasadami Licencji Wolnej
Dokumentacji (GNU Free Documentation Licence) w wersji 1.1 lub jakiejkolwiek późniejszej wersji opublikowanej przez Fundację
Wolnego Oprogramowania (Free Software Foundation). Kopię tej licencji można znaleźć na stronach
http://www.fsf.org/copyleft/fdl.html
|
Jak zrobić kopię bezpieczeństwa płyty DVD-Video.
Najprostszym sposobem jest zgranie filmu do formatu AVI.
Do stworzenia takiego filmu najlepiej jest wykorzystać mencodera, który jest częscią pakietu MPlayera.
Na początek można sprawdzić jakimi kodekami dysponujemy, które może wykorzystać mencoder.
Wydajemy polecenia:
które wyświetli nam listę dostępnych kodeków audio.
Nas najbardziej interesuje informacja podobna do tej:
mp3lame - cbr/abr/vbr MP3 using libmp3lame
|
pozwoli to nam zakodować dźwiek z filmu do formatu mp3,
tu ujrzymy listę dostępnych kodeków video.
Patrzymy czy pokazał nam się wiersz podobny do tego:
lavc - libavcodec codecs - best quality!
|
jeśli tak to znaczy że możemy wykorzystać kodek mpeg4 z zestawu kodeków libavcodec (tego dostępnego w MPlayerze) jako plus można wymienić pełną zgodność z popularnym kodekiem DivX 5.
Jak już mamy kodeki to teraz zabieramy się za kodowanie filmu, które możemy przeprowadzić na trzy różne sposoby.
Metody wieloprzebiegowe (dwa lub trzy przebiegi) gwarantują najwyższą jakość, są jednak o wiele bardziej czasochłonne od metody jednoprzebiegowej.
Ta z kolei jest o wiele szybsza.
W kodowaniu wieloprzebiegowym wyróżniamy trzy fazy:
- Kodowanie strumienia audio.
- Pierwsze kodowanie strumienia video oraz zapisanie do pliku dziennika informacji o gwałtownych zmianach obrazu czy nagłych przejściach kolorystycznych.
- Drugie kodowanie strumienia video przeprowadzone z uwzględnieniem danych zebranych podczas poprzedniego przebiegu.
Rozpoczęcie kodowania zaczynamy od zebrania potrzebych nam podstawowych informacji o filmie, tj. wersja językowa ścieżki dźwiekowej, wersja językowa napisów.
Potrzebne informacje uzyskamy po wydaniu polecenia:
mplayer dvd://1 -vo null -oa null -frames 0 -v 2>&1 | grep aid | cut -d="" -f10
[open] audio stream: 0 audio format: ac3 (5.1) language: en aid: 128
[open] audio stream: 1 audio format: ac3 (stereo) language: de aid: 129
[open] audio stream: 2 audio format: ac3 (stereo) language: es aid: 130
|
W efekcie mplayer wypisze nam dostępne kody ścieżek audio.
Jeżeli chcemy uzyskać kody dostepnych wersji językowych napisów to wystarczy zmienic parametr "aid" na "sid"
mplayer dvd://1 -vo null -ao null -frames 0 -v 2>&1 | grep sid | cut -d="" -f10
[open] subtitle ( sid ): 0 language: en
[open] subtitle ( sid ): 1 language: de
[open] subtitle ( sid ): 2 language: es
[open] subtitle ( sid ): 3 language: sv
|
Kolejnym krokiem jest zainstalowanie programu lsdvd, posiadacze wersji Etch lub sid mogą to zrobić przez apt w przypadku posiadania Sarge musimy w /etc/apt/sources.list zmienić wpisy ze stable na testing i po wydaniu polecenien:
apt-get update
apt-get install lsdvd
|
możemy z powrotem wrócić do wersji stable.
Nastepnie wydajemy polecenie:
w celu uzyskania informacji o ilości tytułów i rozdziałów na płycie z filmem, co nam pomoże w przypadku podziału filmu na dwie płyty CD w celu zachowania dość dobrej jakości filmu.
Pierwsza faza:
Teraz zabieramy sie za kodowanie ścieżki audio:
mencoder dvd://1 -alang en -oac mp3lame -lameopts cbr:br=96 -ovc frameno -o frameno.avi
|
Opis parametrów:
- dvd://1 - numer tytułu z płyty
- -alang en - dwuliterowy kod ścieżki dźwiekowej
- -oac mp3lame - dźwiek bedzie zakodowany do formatu mp3
- -lameopts cbr:br=96 - ustawiamy bitrate dla naszego dźwieku, można zastosować 128 w celu zwiększenia jakości dźwięku, ale w wiekszości filmów wystarczy 96
- -ovc frameno - nazwa kodeka który nie zapisuje strumienia wideo, gdyż w pierwszym przebiegu jest on nam niepotrzebny
- -o frameno.avi -domyślna nazwa wyjścia dla pierwszego przebiegu
Po zakończeniu kodowania otrzymamy listę możliwych wartości bitrate dla filmu - parametru odpowiadajacego za jakość filmu.
video bitrate for 650MB CD: 1345
video bitrate for 700MB CD: 1540
video bitrate for 800MB CD: 1730
|
Przed pierwszym kodowaniem video możemy usunąć czarną ramkę wokół prawdziwego obrazu.
Wykorzystamy do tego filtr crop.
Wydajemy polecenie:
mplayer dvd://1 -vop cropdetect
|
W efekcie otrzymamy wartosci dla filtru crop.
crop area: X: 12..712 Y; 10..557 (-vop crop=700:548:12:10)3,2% 0 0 0%)
|
Podczas kodowania korzystamy z parametrów w nawiasie.
Druga faza:
Przystępujemy do pierwszego kodowania scieżki video:
mencoder dvd://1 -oac copy -ovc lavc -lavcopts
vcodec:mpeg4:vhq:vbitrate:1345:vpass=1 -vop
scale=640:360,crop=700:548:12:10 -o /dev/null
|
Opis parametrów:
- -oac copy - spowoduje skopiowanie zakodowanego wcześniej strumienia audio z pliku frameno.avi
- -ovc - wybraliśmy kodek z biblioteki libavcodec
- vhq - najwyższa jakość kodowania
- vbitrate - wartość bitrate dla kodowania video, tu należy użyć wartości zaproponowanych po zakończeniu kodowania ścieżki audio
- vpass=1 - określa numer przebiegu kodowania strumienia video
- -vop - ustawiamy do jakiej wielkości ma skalować film i podajemy parametry do obcięcia czarnej ramki wokół filmu
- -o - podajemy nazwę pliku wynikowego, w pierwszym przebiegu nie potrzebujemy tego pliku, więc wyprowadzamy puste wyjście, gotowy plik wynikowy powstanie dopiero w drugim przebiegu strumienia video
Trzecia faza:
W drugim kodowaniu strumienia video zmieniamy jedynie parametr
-lavcopts wartosc vpass 1 na 2
mencoder dvd://1 -oac copy -ovc lavc -lavcopts
vcodec:mpeg4:vhq:vbitrate:1345:vpass=2 -vop
scale=640:360,crop=700:548:12:10 -o film.avi
|
gdzie -o film.avi to juz nasz gotowy zripowany film.
Na koniec można wspomnieć o graficznej nakładce na mencodera AcidRip, napisanej w Perlu, coś dla leniwych.
W przypadku chęci skorzystania z tego udogodnienia należy odwiedzić stronke domowa AcidRip http://acidrip.sourceforge.net.
Autor: maverick44