Artykuł dostępny jest również w formie dokumentu

Transkrypt

Artykuł dostępny jest również w formie dokumentu
Rekompresja DVD do AVI w programie AcidRip (Linux, Unix)
AcidRip jest aplikacją dla systemów uniksowych (Linux,*BSD, MacOS X), został napisany w
Perlu i przy wykorzystaniu bibliotek perl::gtk. Program ten jest nakładką graficzną dla programu
Mencoder – części składowej pakietu Mplayer, służącej do konwersji materiału wideo.
Główną zaletą AcidRip jest przede wszystkim prostota obsługi, przywodząca na myśl intuicyjne
interfejsy programów DVD-Rip czy DVD2AVI Nie można też zapominać o szybkości działania,
którą zyskuje dzięki wykorzystaniu programu kodującego Mencoder.
Zarówno pakiet Mplayer/Mencoder, jak i AcidRip są na wyposażeniu większości dystrybucji
Linuksa, jednak aby uzyskać wysoką wydajność, zwłaszcza Mencodera, należy go skompilować
na własnej maszynie z odpowiednimi flagami kompilatora oraz ze wsparciem dla większej gamy
kodeków. Odpowiednia kompilacja programu ze źródeł, pozwala przyspieszyć konwersję
materiału wideo nawet o 20-30%. Jeżeli weźmiemy pod uwagę, że proces kompilacji pakietu
MPlayer na maszynie z procesorem Duron 1200 MHz trwa około 20-25 minut, to wyraźnie
widać, że czas poświęcony na kompilację zwróci się już przy tworzeniu pierwszej kopii
zapasowej dwugodzinnego filmu z krążka DVD.
Źródła pakietu Mplayer/Mencoder można pobrać ze strony domowej projektu –
http://mplayerhq.hu. Warto zaopatrzyć się również w kodeki lame, XviD, DivX czy x264.
Najnowszą wersje AcidRip można znaleźć na stronie http://acidrip.sf.net. W archiwum znaleźć
powinien się też program lsdvd służący do listowania zawartości DVD. Jest on niezbędny do
pracy programu.
Na początek zajmiemy się zakładką General. W prawej części okna sprawdzamy, czy w polu
Video source podana jest prawidłowa ścieżka do napędu, z którego będą odczytywane dane
(domyślnie jest to /dev/dvd, ale możemy tu podać ścieżkę do innego urządzenia lub katalogu).
Jeżeli w polu Video source podane jest prawidłowe urządzenie/katalog, a w napędzie znajduje
się płyta DVD, klikamy przycisk Load, w wyniku czego w polu poniżej powinniśmy otrzymać
pełną listę strumieni video znajdujących się na płycie. W innym przypadku należy sprawdzić,
czy podana jest prawidłowa ścieżka do urządzenia oraz czy w napędzie znajduje się płyta DVD
Video. Na liście strumieni danych zaznaczamy interesującą nas pozycję i przechodzimy do lewej
części okna programu AcidRip.
W polu Track title widzimy tytuł dysku. Tak samo będzie nazywał się plik wynikowy, o ile nie
zmienimy tego w tym lub kolejnym polu - File Name (nazwa pliku). Tutaj też można ustawić
rozszerzenie (nagłówek) pliku (do wyboru mamy .avi oraz .mpeg). W tym miejscu można też
dodać do tytułu różne właściwości, które będzie posiadał plik wynikowy (poniżej lista
dostępnych skrótów). Dodajemy je wpisując odpowiednią literę po znaku "%".
Oznaczenia literowe właściwości kompresowanego pliku, które mogą być dodane do nazwy
pliku:
- T - tytuł ścieżki
- N - numer ścieżek
- L - długość ścieżki
- F - pierwsza litera tytułu
- w - szerokość
- h - wysokość
- b - wartość bitrate dla pliku video
- l - język
Następnie ustawiamy rozmiar (pole File size), ilość plików (pole # Files) oraz informacje o
pliku. W tym miejscu należy pamiętać, że ustawienie dla filmów dwugodzinnych i dłuższych
tylko jednego pliku o rozmiarze 700 MB będzie oznaczało, że materiał video będzie miał niską
wartość Bitrate, a co za tym idzie - słabą jakość.
Uwaga - Jeżeli zawartość jednego z tych pól będzie wyświetlana na czerwono, będzie to
oznaczało, że na dysku/partycji, na którą będzie zapisywany kompresowany materiał nie ma
dostatecznej ilości miejsca, aby pomieścić plik(i) wynikowe.
Przechodzimy do wyboru ścieżki audio, która zostanie zripowana. Wybieramy ją z rozwijanej
listy Language. W podobny sposób wybieramy enkoder dźwięku, do wyboru mamy: mp3lame
(dźwięk mp3), lavc (mpeg warstwy 1,2 i 3) toolame (mpeg layer 1 i 2), pcm (wav), copy
Prawa autorskie © VideoAudio.pl 2001-2008
(dźwięk nie będzie przetwarzany) oraz stopień o jaki zostanie wzmocniony dźwięk (Gain).
Resztę ustawień należy wprowadzić ręcznie w polu Options (tutaj odsyłam do dokumentacji
lame, lavc oraz toolame). Nie należy się tego bać, ponieważ AcidRip już na starcie ma
zdefiniowane domyślne parametry dla mp3lame czy lavc. Wystarczy zmienić tylko wartość
bitrate dla ścieżki audio lub w przypadku kodowania do formatu mpeg1/2 - zmienić kodek
bibliotek lavc z mp3 na mp1 lub mp2/ W naszym przypadku wybieramy kodek mp3lame i
zmieniamy wartość bitrate ze 128 na 96, dźwięk zachowa przyzwoitą jakość, a my będziemy
mieli dodatkowe kilka megabajtów na ścieżkę video.
Jeżeli film nie posiada polskiej ścieżki dźwiękowej, to będziemy musieli wyciągnąć z niego
napisy. W tym celu przechodzimy niżej, do sekcji Other stuff. Funkcje tam umieszczone
odpowiadają za wyciąganie z materiału DVD napisów oraz przekazywanie innych parametrów
(tym razem już tekstowo) do programu Mencoder. Z rozwijanej listy Subtitle wybieramy język
polski oraz zaznaczamy pole SubFile.
Rys. 1. Okno główne programu wraz z polem komunikatów.
Teraz przechodzimy do zakładki Video, która odpowiada za ustawienia kodeków video. Na
Prawa autorskie © VideoAudio.pl 2001-2008
samej górze zakładki znajduje się rozwijana lista z kodekami, z obsługą których został
skompilowany Mencoder.
W tym miejscu sugeruję skupić się na trzech kodekach - na bibliotekach lavc czyli ffmpeg, XviD
oraz x264. Pierwsza z wymienionych pozycji, lavc, stanowi część pakietu MPlayer i jest zawsze
obecny na liście wyboru. Zwracam na niego uwagę ze względu na szybkość kodowania,
możliwość kodowania ścieżek audio, spore możliwości konfiguracyjne (np. korzystanie z
zewnętrznych matryc) oraz możliwość kodowania z wykorzystaniem wielu kodeków (mjpeg,
h263, h263+, mpeg4, msmpeg4, mpeg1video, mpeg2video, ffv1 i kilku mniej popularnych).
Jeżeli chodzi o szybkość kodowania to na nieco leciwym już sprzęcie: AMD Duron 1200 (FSB
200 MHz), 512 MB RAM (FSB 100 MHz) i HDD pracujący w trybie UDMA5 i przy użyciu kodeka
mpeg4, Mencoder kodował 64 ramki (format 520X316) na sekundę przy jednoczesnej
kompresji dźwięku do formatu mp3. Dla porównania przy kodeku XviD-0.9.1 były to 33-34
ramki, przy XviD-1.1 - 62 (pierwszy przebieg) i 17 (drugi przebieg), a przy x264 - 11-13 ramek
na sekundę.
Wybieramy np. kodek XviD i przechodzimy dalej. W tej samej linii co lista kodeków znajduje się
okienko Passes, w którym ustalamy ilość przebiegów kodowania. Jeżeli wybierzemy 1 to ścieżki
audio i video będą kompresowane jednocześnie. W przypadku kodowania dwufazowego
kompresja dźwięku będzie odbywać się podczas pierwszego przebiegu, a materiału video w
trakcie drugiego przebiegu. Jeżeli wybierzemy kodowanie trzyfazowe, to w pierwszej fazie
zostanie skompresowany materiał audio, a w trakcie faz drugiej i trzeciej kodowany będzie tylko
materiał video. Jeżeli materiał video będzie miał niską wartość bitrate (poniżej 1100) sugeruję
wybrać kodowanie trzyprzebiegowe.
Niżej znajduje się okienko Options, w którym możemy przekazać do programu Mencoder opcje
kodeków (odsyłam do dokumentacji Xvida, ffmpeg i x264).
W tym miejscu trzeba wymienić poważną niedogodność programu AcidRip. Program nie
dysponuje znanymi z aplikacji dla systemu Windows lub z programu Avidemux, graficznymi
konfiguratorami kodeków i wszelkie parametry trzeba przekazywać w postaci tekstu. Jednak nie
jest to trudne, a wszystkie kodeki posiadają dobrą dokumentację, którą znaleźć można w
katalogu /usr/share/doc (XviD, lavc) lub w przypadku X264 wywołać w konsoli poleceniem
x264.
Przekazując opcje kodeków programowi Mencoder należy pamiętać o jednej bardzo ważnej
zasadzie - opcje podajemy po znaku dwukropka (:) zamiast myślnika, a w miejsce spacji
wstawiamy znak równości (=).
Niżej na zakładce Video znajdują się pola pozwalające na ustawienie bitrate kompresowanego
materiału (to pole można odblokować zaznaczając pole Lock, wtedy z prawej strony pojawią się
strzałki pozwalające na zmianę bitrate, będziemy mogli też wpisać go ręcznie), obok
wyświetlana będzie informacja o ilości bitów na jeden piksel obrazu (zazwyczaj jego zawartość
będzie wyświetlana na czerwono, ale tym nie należy się zbytnio przejmować, zwłaszcza jeżeli
wartość przekroczy 0,200). Jeżeli na zakładce General ustawiliśmy wielkość pliku wynikowego,
to AcidRip sam dobierze odpowiednią wartość bitrate i raczej nie ma sensu jej zmieniać.
Filmy DVD Video często mają dosyć szerokie czarne pasy u góry i na dole ekranu. Można się ich
pozbyć, a najłatwiej to zrobić używając narzędzia Crop. Najłatwiej to zrobić posługując się
opcją Detect, która automatycznie ustawi optymalne opcje przycinania. Można też ustawić
ręcznie wszystkie parametry, ale to rozwiązanie polecam raczej zaawansowanym koderom.
Teraz przeskalujemy obraz używając narzędzia Scale. Zaznaczamy pola Scale, aby
włączyć/wyłączyć skalowanie oraz Lock aspect aby zachować prawidłowe proporcje obrazu. Za
pomocą strzałek ustawiamy pożądaną wielkość obrazu.
Jeżeli zależy nam na czasie i zdecydujemy się na kodowanie jednoprzebiegowe to warto
posłużyć się filtrami polepszającymi jakość obrazu, spowolni to nieco proces kompresji (przy
użyciu filtra pp spadek wydajności wynosi około 10%), ale za to obraz pozbawiony będzie
charakterystycznych bloczków. Aby uruchomić filtry przechodzimy na sam dół zakładki Video,
gdzie znajdują się pola umożliwiające przekazanie do programu kodującego parametrów filtrów.
Ze swojej strony mogę polecić użycie filtrów pp z opcją de (pp=de w polu Pre filters) oraz
Prawa autorskie © VideoAudio.pl 2001-2008
hqdn3d równym 2:1:2 (hqdn3d=2:1:2 w polu Post filters). Drugi filtr warto użyć tylko w
przypadku kompresji video z bitrate poniżej 850 kbps. Filtr pp sprawi, że obraz w
kompresowanym materiale będzie pozbawiony charakterystycznych dla niskich bitrate
kwadracików, drugi z filtrów, hqdn3d, usunie z obrazu szumy.
Rys. 2. AcidRip - Zakładka ustawień Video.
Teraz możemy zobaczyć podgląd obrazu po operacjach przycinania i skalowania. Przechodzimy
do zakładki Preview i odznaczamy pole Embed (pozostawienie tej opcji spowoduje
wyświetlenie podglądu osadzonego w oknie programu AcidRip), by zobaczyć obraz w
faktycznym rozmiarze w osobnym oknie programu MPlayer. Zaznacznie opcji Flickbook sprawi,
że jako podgląd zobaczymy tylko początki rozdziałów dostępnych w materiale DVD.
Prawa autorskie © VideoAudio.pl 2001-2008
Rys. 3. Osadzony podgląd obrazu
Przechodzimy do zakładki Queue. Wyświetla ona informacje o zadaniach, które oczekują na
wykonanie. W polu Queue widzimy polecenia programów MPlayer i Mencoder, natomiast pod
tym polem znajdują się dwa przyciski: Clear - czyści listę zadań, Export - zapisuje listę zadań
jako skrypt powłoki, co umożliwia wykonanie w prosty sposób kompresji w momencie, kiedy
możemy korzystać tylko z wiersza poleceń lub na innej maszynie.
Rys. 4. Lista zadań na zakładce Queue
Ostatnia zakładka Settings, pozwala na zmianę ustawień programu. Możemy tu wskazać inne
niż domyślne położenie programów MPlayer, Mencoder i lsdvd, wskazać katalog tymczasowy
Cache (sugeruję katalog tymczasowy w katalogu użytkownika /home/nazwa_uzytkownika/tmp). Dalej znajdują się opcje związane z buforowaniem
materiału DVD na dysku. Opcja Cache DVD spowoduje zgranie materiału z płyty DVD na dysk
twardy do wskazanej w polu Cache lokalizacji, a opcja Delete cacheusuwa po zakończeniu
kodowania plik tymczasowy. Zaznaczenie Cache DVD spowoduje płynniejszą pracę Mencodera,
a przy okazji oszczędzamy w ten sposób napęd DVD.
Zaznaczenie opcji Overwrite files umożliwi programowi AcidRip nadpisywanie plików,
natomiast opcja Shutdown spowoduje wyłączenie komputera po wykonaniu przez program
wszystkich zadań. Opcja Compact Box decyduje o tym, czy po rozpoczęciu kodowania AcidRip
zostanie przełączony do trybu kompaktowego, czy też pozostanie w trybie FullView. Użycie opcji
Enforce size sprawi, że AcidRip będzie tak sterował Mencoderem, żeby plik wynikowy nie
przekroczył wskazanego przez nas rozmiaru. Włącznie opcji PPC croping spowoduje, że do
przycinania (kadrowania) materiału zostanie użyta mniej niezawodna, ale nieco szybsza metoda
naprzemienna. Zaznaczenie pola Eject DVD, włącza funkcje wysuwania tacki napędu DVD po
zakończonym zgrywaniu materiału. Na tej zakładce znajduje się jeszcze pole Language, w
które możemy wpisać domyślny język ścieżki audio.
Prawa autorskie © VideoAudio.pl 2001-2008
Rys. 5. Zakładka z ustawieniami programu AcidRip.
Jeżeli wszystkie parametry pracy programu i pliku wynikowego mają już pożądane przez nas
wartości, to pozostaje nam już tylko kliknięcie w przycisk Start i cierpliwe czekanie na
zakończenie kompresji. Postęp możemy obserwować w prawej części okna programu, w
sekcjach Cache status (pokazuje informacje o tym ile materiału zostało już zgrane do pliku
tymczasowego) oraz w części Encoding status, gdzie program wyświetla komunikaty o
postępie kodowania materiału, czasie, który pozostał do końca zgrywania, tempie kodowania
oraz aktualnej wartości bitrate.
Rys. 6. AcidRip w trakcie kompresji pracujący w trybie Compact
W razie problemów warto zainteresować się zawartością znajdujacego się na samym dole
interfejsu programu okna komunikatów. Okno to wywołujemy przyciskiem Debug. Oprócz okna
komunikatów Output log znajdują się tam trzy dodatkowe przyciski - Save - zachowuje logi
programu w pliku, Clear - czyści okno komunikatów, Hide - ukrywa okno komunikatów.
Jak nie zepsuć kopii zapasowej filmu:
1. Zanim przystąpimy do właściwej konwersji, warto na próbę skompresować na przykład
jeden z rozdziałów i sprawdzić, czy przy ustawionych przez nas parametrach kopia ma
zadowalającą jakość
Prawa autorskie © VideoAudio.pl 2001-2008
2. Przy stosowaniu kodeków XviD i x264 nie powinno się zbytnio kombinować przy
wymiarach obrazu, a jeżeli jest to konieczne - pamiętać o tym, że wysokość klatki musi
być podzielna przez 8
3. Jeżeli w ustawieniach programu ustawiliśmy domyślny język ścieżki audio na Polish, to
przed rozpoczęciem konwersji filmu należy sprawdzić, czy ścieżka z tą wersją językową
znajduje się na rozwijane liście Language w sekcji Audio w zakładce General. Jeżeli nie
to należy ją zamienić na inną istniejącą, ponieważ w przeciwnym wypadku kopia filmu
zostanie zapisana bez dźwięku
4. Warto poświęcić trochę więcej czasu na konwersję i skompresować materiał video w trybie
dwuprzebiegowym. Jakość filmu będzie o wiele lepsza niż w przypadku kodowania
jednoprzebiegowego.
5. Jeżeli AcidRip wyświetli komunikat Mencoder interrupted by user nie należy panikować
i przeczytać informacje poprzedzające ten komunikat, które można znaleźć w polu Debug
6. Przy buforowaniu zawartości DVD na dysku należy pamiętać o tym, by katalog
tymczasowy znajdował się na partycji z systemem plików obsługującym pliki o objętości
ponad 4 GB (czyli FATy odpadają) oraz o tym, że użytkownik, z którego konta
korzystamy, musi mieć prawo do zapisu na danej partycji czy w katalogu
7. Partycja, na którą zostanie zapisana kopia filmu, powinna mieć wystarczająco dużo
miejsca, by pomieścić wszystkie pliki, które powstaną w wyniku konwersji materiału DVD
do formatu AVI.
Prawa autorskie © VideoAudio.pl 2001-2008

Podobne dokumenty