|
|
|
Konwersja MPEG-2 (DVD) na MPEG-4 (DivX) |
Temat dość ostatnio popularny w sieci i wśród użytkowników odtwarzaczy DVD. I nic dziwnego... ;-)
W końcu niewielu jest posiadaczy napędów DVD-R(W) czy DVD-RAM, mogących wykonać kopię filmu DVD.
Nic więc dziwnego, że wydajna kompresja wideo i audio jest aktualnie tematem intensywnie eksploatowanym.
MPEG-4, a w szczególności wersja grupy DivX ;-) , jest na dzień dzisiejszy najchętniej stosowaną
kompresją video i wspólnie z MPEG-1 Layer 3 (MP3) do audio jest najczęściej wybierana jako
metoda zapisu filmów w wysokiej rozdzielczości (mowa o większej od standardowych dla MPEG-1).
Aby nie przydłużać nudnego i niekokretnego wstępu od razu przejdę do rzeczy, czyli jak skompresować
zawartość DVD (MPEG-2) na DivX (MPEG-4).
Hardware:
- Czytnik DVD-ROM (najlepiej o wysokiej prędkości odczytu)
- Miejsce na HDD (przeciętnie ok 7 ~ 8 GB)
- WYDAJNY procesor (aby nie zniechęcić się przynajmniej 0.5 GHz ;-] )
- 64 MB RAM (minimum, ale nie potrzeba więcej niż 128)
Software:
- Ripper DVD (po polskiemu "deszyfrator i kopier z DVD") np. deCSS
- Dekompresor z MPEG-2 (dalej opisane...) np. osławiony FlasK
- Pakiet kompresorów/dekompresorów czyli kodeków DivX (aktualnie v3.11 alpha)
- Subripper (po polskiemu "wyciągacz napisów" hehe ;-) np. SubRip
- Kalkulator bitrate'u (ilość danych na sek.) np. Bearson's BitRate Calculator v1.0
A teraz coś w rodzaju instrukcji step-by-step...
A) Przygotowanie kompa do kompresji
Jeśli sprawa hardware'u jest załatwiona, można przystąpić do instalacji softu.
Jeśli wybierzemy deCSS (jest w serwisie...) to będziemy mieć do dyspozycji okienkowego
rippera DVD, jednego z najlepszych. Instalacja nie powinna przysporzyć problemów.
Może się zdarzyć, iż danej płyty DVD nie będzie można zdeszyfrować
przy użyciu deCSS. Wtedy trzeba sięgnąć po coś innego, jak np. DOD's Ripper, ale jest
to wersja textowa (są jednak nakładki okienkowe...).
Następnie instalujemy FlasK MPEG (aktualnie v0.594), a instalacja nie powinna sprawiać problemów,
tym bardziej, że jest wersja polska (polish language pack).
Dostępne są wersje optymalizowane przez "zapaleńców", którzy wprowadzają
poprawki przyśpieszające przeliczanie pod konkretnymi procesorami. Jest np. wersja
"PX3 V3 Second Strike", która zawiera optymalizacje dla procesorów Athlon.
Teraz tylko instalacja SubRip (np. v0.9b), która też jest bezproblemowa.
Dostępne są różne programy do wyciągania napisów z plików VOB. SubRip jest
jednym z najpopularniejszych, ale rzecz jasna nie jedynym, więc warto sprawdzać możliwości innych.
Pozostaje już tylko zainstalować zestaw kodeków DivX, w którym zawarte są kodeki
- DivX MPEG-4 Low Motion
- DivX MPEG-4 Fast Motion
- DivX Audio V1
- DivX Audio V2
- Fraunhofer IIS Layer-3 professional
B) Rippowanie DVD
Po uruchomieniu deCSS'a wybieramy literę napędu DVD-ROM i zaznaczamy pliki VOB (Video OBject).
Nazwy plików VOB są dość charakterystyczne o postaci VTS_XX_YY.VOB, gdzie XX oznacza numer ścieżki
video a YY kolejny numer pliku VOB składającego się na tą ścieżkę. YY wynika stąd, iż
pliki VOB mają maksymalny rozmiar 1 GB (zaokrąglenie z 1073512448 bajtów). Widać więc, że na
jednej płycie DVD mieścić się może 99 ścieżek video. Najczęściej interesujące nas pliki VOB
mają nazwę VTS_01_Y.VOB i łącznie zajmują najwięcej... Ale najlepsze są przykłady:
Mamy listę plików w deCSS postaci:
VIDEO_TS.BUP // informacja o zawartości płyty w wersji BUP
VIDEO_TS.IFO // informacja o zawartości płyty w wersji IFO
VIDEO_TS.VOB // inicjujący plik VOB (np. logo wydawcy DVD itp...)
VTS_01_0.BUP // inf. o zaw. danej ścieżki w wer. BUP (napisy, audio, itp.)
VTS_01_0.IFO // inf. o zaw. danej ścieżki w wer. IFO (napisy, audio, itp.)
VTS_01_0.VOB // menu dla danej ścieżki VOB
VTS_01_1.VOB // to, o co właściwie chodzi... ;-)
VTS_01_2.VOB
VTS_01_3.VOB
VTS_01_4.VOB
VTS_01_5.VOB
VTS_01_6.VOB // aż dotąd.
VTS_02_0.VOB
VTS_02_1.VOB
Pliki VTS_02_Y.VOB są w takim przypadku najczęściej materiałami dodatkowymi, czyli np. trailery,
wycięte sceny, itp. To, co nam będzie potrzebne, to: plik IFO oraz pliki VOB z "właściwą" zawartością.
Chodzi rzecz jasna o te, które najczęściej najwięcej zajmują. Plik IFO zawiera informacje o
multipleksowanych danych w plikach VOB, czyli ścieżkach video (jeśli np. film jest nagrany z innych
ujęć kamery... to mamy wtedy więcej niż jedną ścieżkę), ścieżkach audio (najczęściej języki,
wersja z komentarzem, lektorem itp.) oraz tytułach w różnych językach i wersjach (np. dla niesłyszących).
A zatem: uruchamiamy deCSS, zaznaczay wybrane pliki VOB i plik IFO (najczęściej VTS_01_0.IFO), wybieramy docelowy folder
i... zapuszczamy rippowanie. Aby było nieco jaśniej wystarczy spojrzeć na rysunek... ;-)

Jeśli wszystko przebiegło poprawnie, to możemy się zabrać za
C) Kompresję do DivX
Mamy zgromadzony materiał z DVD, przygtowany soft. A więc:
Włączamy Flaska i (za pierwszym razem) wybieramy wersję językową. Ukazuje nam się okienko
z obrazkiem w środku. Wszystko ładnie, trzeba tylko teraz to "ładnie łyknąć" ;-)
Wszystkie opisane tu opcje/operacje dotyczą anglojęzycznej wersji
FlasK'a.
1) Ładujemy dane do rekompresji
Wybieramy File/Open DVD, odnajdujemy nasz katalog z plikami z DVD
i wybieramy nasz plik IFO (najczęściej VTS_01_0.IFO). Ukazuje się okno z informacją o zawartości
plików VOB tj. DVD titles, czyli ścieżki video,
Zapamiętujemy czas trwania filmu. Wykorzystamy to później...
następnie
DVD Audio tracks, czyli dostępne ścieżki audio oraz
DVD subtitles, czyli oczywiście dostępne napisy w danych językach.
Wybieramy ścieżkę video o najdłuższym czasie trwania (najczęściej...), czyli nasz film, następnie
domyślną ścieżkę audio (najczęściej pierwsza i najczęściej English...) oraz interesujący nas
język napisów. Ale UWAGA! Nie proponuję wybierania jakiegokolwiek języka napisów, ponieważ
nakładanie napisów we FlasK'u nie jest idealne i część z nich może się po prostu... zgubić.
Smętne ale prawdziwe. Z resztą... bardziej profesjonalnie jest skompresować film w oryginalnej
wersji i wyświetlać napisy z zewnętrznego pliku. W takim razie naciskamy
FlasK this DVD!. Upewniamy się, czy jest wybrana opcja
Options/Select Output Format/AVI Output, następnie
Global Project Options i ukazuje się okno z pięcioma zakładkami:
Video, Audio, Post Processing, Files oraz General.
Pierwsza dotyczy parametrów video i będzie chyba najważniejsza. Okienko wygląda mniej więcej tak:
Zaczynamy od Show Output Pad i ukazuje się okienko z pojedynczą
klatką z filmu.
Klikamy Reset settings i obraz wygląda tak, jak oryginał.
Włączamy Crop i dopasowujemy parametry tak, aby zasłonić czarne,
niepotrzebne pola. Można też nieco przyciąć sam obraz, jeśli nam to nie przeszkadza. Im mniejsza
rozdzielczość, tym przy danym bitrate'cie większa jakość materiału po kompresji. Nie można jednak
przesadzać ze zbyt małą, bo rzecz jasna utracimy szczegóły. Ale samo obcinanie jest co najwyżej
pożyteczne... ;-] Kiedy mamy już przycięty obraz klikamy Hide i
powracamy do wcześniejszego okna. Framerate (FPS) zazwyczaj będzie 25 (PAL), ale może się zdarzyć
inny, jak np. NTSC (30 fps) lub będziemy mieli film w oryginalnej ilości klatek, czyli 24 fps.
Deinterlace będzie konieczny jedynie w przypadkach materiałów przeznaczonych do odtwarzania
w zwykłym trybie TV (czyli z przeplotem) i zdarza się najczęściej przy dodatkowych materiałach
do filmu. Ale to osobny temat-rzeka.
Przechodzimy do zakładki Audio:
Tu w zasadzie są dwie zasadnicze opcje: wybór sposobu przetworzenia Audio i próbkowanie dźwięku.
Domyślnie włączone ma być Decode audio, czyli dekompresja z AC3
i kompresja do innego formatu oraz opcja Same as input we
fragmencie ustawień próbkowania.
Teraz zakładka Post Processing:
Tutaj mamy wybór jakości prztwarzania/skalowania obrazu. HQ oznacza najlepszą jakość i najwolniejsze
działanie, ale nie polecam opcji wcześniejszych, bo jakość jest wtedy widocznie gorsza. Włączamy
Keep aspect ratio. Parametry (piksele) w polach przy Crop settings
powinny być takie, jakie ustawiliśmy przy użyciu Show Output Pad.
Następnie zakładka Files:
Wybieramy miejsce docelowe i nazwę pliku AVI. NIE WPISUJEMY rozszerzenia, ponieważ FlasK
robi to za nas, chyba że ktoś lubi nazwy typu KLIP.AVI.AVI ;-) Pozostałe opcje są chyba jasne.
Należy wziąść pod uwagę fakt, że pliki AVI mają formalne ograniczenie
do 2 GB (na partycjach typu FAT) ! Jeśli w kroku dotyczącym bitrate'u (nieco dalej) damy zbyt
duży i plik AVI przekroczy 2GB, to cała praca zda się na nic.
Na końcu zakładka General:
Tu też jest niewiele opcji. W zasadzie interesuje nas Compile whole file
oraz Shut down computer.... Pierwsza oznacza, że zostanie skompresowany
cały film od pozycji startowej, którą można przesunąć z początku do wybranego punktu przy użyciu
Run.../Player (z menu głównego okna recz jasna...). Druga umożliwia
wyłączenie komputera po skończeniu kompresji, co po uwzględnieniu długiego czasu liczenia, jest
sensownym rozwiązaniem kiedy zapuszczamy kompresję na noc... dłuugą noc. ;-)
Naciskamy OK i wracamy do poprzedniego okna.
2) Określamy parametry materiału wyjściowego
Wybieramy Options/Output Format Options i pojawia się okienko:
Klikamy na pierwszy Select Codec i wybieramy z listy "DivX ;-) MPEG-4 Low-Motion"
i wciskamy Konfiguruj. Teraz najwyższy czas jest na to, aby uruchomić
kalkulator Bitrate'u. Jeśli jest to Berason's... to mamy okienko:
Jak łatwo zauważyć wybieramy kolejno: czas trwania filmu (widoczny przy ładowaniu IFO), ilość
płyt CD lub wpisujemy rozmiar, jakość/bitrate dźwięku MP3... i otrzymujemy wartość bitrate'u
dla kompresji Low-Motion, która napewno jest "bezpieczna". O tym, czy wybrać Low-Motion, czy
Fast-Motion więcej w poddziale MPEG (menu po lewej).
Niemal nigdy rozmiar pliku wyjściowego jest przewidywalny. Bitrate video, który
nam wskazał program jest wartością maksymalną, a kompresor pracuje w trybie VBR (Variable BitRate),
czyli dynamicznie dobiera wartość bitrate do kompresowanych danych video. Np. czarne, puste pole
będzie kompresowane z minimalnym bitrate'em.
Wracamy do okna konfiguracji Low-Motion:
i ustawiamy wartość bitrate wyliczoną przez kalkulator. Standardowo ustawiamy keyframes na 10
a Compression Control na 100. Jeśli chcesz się więcej dowiedzień na ten temat, to zapraszam do
poddziału o MPEG (menu po lewej). Naciskamy OK i znowu
OK.
Wrócilismy do okna parametrów we FlasK'u. Klikamy na
drugi Select Codec i wybieramy z listy kompresorów audio
"Format: MPEG Layer-3" oraz bitrate (najczęściej 128 kbps) dla którego liczyliśmy
w kalkulatorze bitrate łączny. Wygląda to mniej więcej tak:
Klikamy OK i wracamy do okna parametrów FlasK'a.
W zasadzie jeśli nie chcemy nic kombinować, to parametry są już ustawione i możemy wcisnąć
OK.
A teraz WIELKI MOMENT... wybieramy Run.../Start Conversion i GO!
Ale mogłoby być za fajnie, gdyby nie było jakiegoś problemu, który często wygląda tak:
A skąd to?! Ano stąd, że FlasK nie odczytał jeszcze, że nasz materiał wejściowy jednak ma 48 kHz
(najczęściej) a ustawienia kodeka audio były na 44.1 kHz (kto wnikliwie patrzył na screen'y, to
zauważył... ;-] ). Jest to pewnien "błąd" FlasK'a ale na szczęście nieuciążliwy. Trzeba teraz
tylko raz jeszcze dostać się do ustawień kodeka (patrz wcześniej) audio i ponownie wybrać
"MPEG Layer-3" i bitrate, który tym razem będzie dotyczył właściwego próbkowania:
Teraz ponownie wybieramy Run.../Start Conversion
i mamy PRAWDZIWE GO!
Teraz możemy iść do znajomych, na spacer albo... przespać się.
Acha! Jeszcze look'nijmy na okno pracy ;-) :
Tu możemy sobie "ładnie poczytać" jak (za)wolny mamy procesor, jakie są parametry wejściowe,
a jakie wyjściowe. Możemy sobie również podejrzeć aktualnie prztwarzane klatki video (ale jest
to obraz źródła, a nie DivX'a !), aby bardzo wnikliwie obejrzeć film... ;-)
Pozostaje jeszcze wyciągnięcie napisów, ale to w "następnym seansie" będzie dopisane. ;-)
|
|