piątek, 15 lipca 2016

Stary PC a video – część 2

W poprzednim wpisie podrzuciłem kilka „rybek” w postaci plików filmowych odtwarzających się na różnych, niekoniecznie nowych i niekoniecznie wydajnych komputerach. Pora na „wędkę”, czyli garść porad, jak samodzielnie przekodowywać pliki video, dostosowując je do naszych potrzeb.

Podobnie jak w przypadku oglądania, także i tutaj obowiązuje prosta zasada: im wydajniejszy sprzęt, tym lepsza zabawa. Rzecz jednak w tym że sam proces kodowania plików, poza początkowym ustawieniem parametrów, nie wymaga żadnej interakcji z użytkownikiem. Jeśli więc obróbką filmów będziemy zajmowali się jedynie dorywczo, możemy wykorzystać stosunkowo słaby sprzęt, zajmując się innymi sprawami w czasie, gdy komputer będzie wykonywał ciężką robotę.

Zanim przejdziemy dalej chciałbym jednak przekazać kilka uwag. Obróbka filmów jest zagadnieniem skomplikowanym. Niektórymi aspektami, jak na przykład montażem (z małym wyjątkiem, o którym na końcu), nie będę się tutaj zajmował, bo na co dzień tego nie robię i się na tym nie znam. Jednak nawet sam proces przekodowywania może przyprawić o ból głowy, gdyż bywa bardzo „kapryśny”. Łatwo może się okazać, że po wielu godzinach oczekiwania otrzymamy plik miernej jakości, albo nieodtwarzający się na docelowym urządzeniu, albo z dźwiękiem przesuniętym w czasie w stosunku do obrazu i tak dalej. Wpływ na to może mieć bardzo wiele czynników: rodzaj i jakość materiału źródłowego (nawet plik w tym samym formacie, ale zapisany z innymi parametrami lub na innym urządzeniu może dać inne wyniki), użyty program przekodowujący, wybór kodeków i ustawione parametry kodowania, a nawet stan techniczny maszyny (problemy z dostępem do dysku mogą dać naprawdę „ciekawe” efekty).

Nic nie zastąpi własnego doświadczenia i prób. Jeśli już jednak testujemy, to na krótkich fragmentach filmu, bo inaczej na wynik będziemy czekać bardzo długo. Z drugiej strony fragment nie może być zbyt krótki, bo niektórych efektów możemy nie zauważyć. Moim zdaniem w większości przypadków wystarczy trzy do dziesięciu minut filmu, w zależności od tego, co chcemy testować.

1. Dobieramy oprogramowanie

Poniżej podaję kilka propozycji oprogramowania do przekodowywania plików filmowych. Jak zwykle jednym z podstawowych kryteriów (na potrzeby tego bloga) jest dla mnie możliwość uruchamiania aplikacji pod kontrolą Windows 98, ale to nie znaczy, że użytkownicy nowszych systemów nie znajdą tu czegoś dla siebie. Wszystkie programy były testowane pod Windows XP i powinny działać również (te, lub nowsze wersje), aż do Windows 8.1.

Zestaw może się wydawać dość rozbudowany i zawiera różne aplikacje, mogące służyć do tego samego celu. Tak na przykład przekodować plik do formatu AVI da się zarówno za pomocą Format Factory, AviDemux jak też VirtualDub. Chodzi jednak o możliwość wyboru alternatywnego programu w przypadku wystąpienia kłopotów opisywanych powyżej. Moim zdaniem jest to zestaw minimum.


Format Factory to nowoczesny i wygodny program do konwersji plików multimedialnych. Jeżeli chcemy przekodowywać filmy, koniecznie musimy go mieć na komputerze. Korzysta z własnego zestawu kodeków, co pozwala na niezaśmiecanie systemu. Problem w tym, że skoro to program nowoczesny, na pewno nie jest przeznaczony dla Windows 98. Rzeczywiście: nawet z zainstalowanym KernelEx program nie uruchamia się, wywołując komunikat błędu w bibliotece msvcr100.dll. Pomaga dopiero uaktualnienie do nieoficjalnej wersji KernelEx 4.5.2015.10 by jumper (oficjalnie KernelEx nie jest już rozwijany), oraz zainstalowanie biblioteki gdiplus.dll (plik po rozpakowaniu należy skopiować do katalogu C:\Windows\System). Podczas instalowania Format Factory pojawia się komunikat błędu, jak na załączonej ilustracji. Nie ma się czym przejmować, błąd dotyczy instalacji Ask Toolbar. Nawet lepiej, jeśli to badziewie się nie zainstaluje. Po zamknięcia komunikatu wszystko przebiega normalnie. Należy jeszcze tylko ustawić tryb kompatybilności na Windows XP SP2 (menu kontekstowe → zakładka KernelEx).

Mimo wszystko nie można oczekiwać, że pod Windows 98 wszystko będzie działało jak należy. Kłopoty sprawia na przykład tryb podglądu, wykorzystujący systemowy Media Player. Podgląd wprawdzie się uruchamia, ale nie ma nad nim żadnej kontroli. Może się też okazać, że nawet po zamknięciu okna, Media Player działa dalej w tle, obciążając procesor. No cóż: program nie jest przystosowany do współpracy z tą wersją odtwarzacza. Przydać się może Process Explorer (wersja działająca pod Windows 98 znajduje się tutaj), do „zabicia” upartego procesu. Mogą też wystąpić problemy z niektórymi kodekami, ale te podstawowe powinny działać.

Wersja 3.2 Format Factory nie jest najnowsza (w chwili pisania tego artykułu dostępna już była 3.9.0.1), ale wypróbowałem ją pod Windows 98, a ponadto jest dostępna w postaci pełnego pliku instalacyjnego, a nie loadera ściągającego właściwy program z Internetu (loader nie działa pod Windows 98).

Avidemux 2.6.8 (KernelEx)

To następna obowiązkowa pozycja w arsenale. Ten program do liniowej edycji plików video, opracowany pierwotnie dla Linuksa, po przeniesieniu do środowiska Windows sprawdza się świetnie. Oprócz zmiany kodowania pozwala na wycinanie fragmentów, łączenie plików, nakładanie filtrów itp. To znowu nie jest program dla Windows 98, wersja 2.6.8 działa jednak bardzo dobrze pod kontrolą tego systemu z zainstalowanym KernelEx (nowsze już nie).

Program korzysta z własnych kodeków. Obsługa może wydać się skomplikowana, zwłaszcza z powodu dużej liczby niezrozumiałych dla początkującego użytkownika ustawień, na szczęście nie musimy konfigurować wszystkiego, najlepsze ustawienia dla typowych zastosowań łatwo sobie wypracować, a dzięki społeczności aktywnych w Internecie użytkowników – łatwo o wsparcie.


VirtualDub to prawdziwy klasyk w dziedzinie liniowej edycji video. Zmiana parametrów kodowania, precyzyjne wycinanie i łączenie fragmentów, nakładanie filtrów, możliwość zmiany ścieżki dźwiękowej to tylko niektóre z możliwości, które w dodatku można rozszerzać przez instalowanie zewnętrznych „wtyczek”. Do tego dochodzi bardzo wygodny interfejs z jednoczesnym podglądem materiału wejściowego i wyjściowego, co pozwala na natychmiastową ocenę zastosowanych efektów. Program umożliwia ponadto przechwytywanie obrazu z zewnętrznych źródeł, takich jak kamery, tunery telewizyjne i inne, pod warunkiem, że w systemie Windows zainstalowane są odpowiednie sterowniki. W dodatku wszystko to za darmo i działa pod Windows 98 bez żadnych KernelExów czy innych rozszerzeń.

Niestety program ma też wady. Obsługuje mniejszą liczbę wejściowych formatów plików niż aplikacje opisane powyżej, między innymi nie jest obsługiwany format MOV, w którym został zakodowany nasz oryginalny film. Nie posiada własnej bazy kodeków, bazując na tych, które są zainstalowane w systemie. Na szczęście potrafi korzystać z ffdshow z całkiem dobrymi rezultami. Jeśli jednak chcemy mieć ścieżkę dźwiękową w popularnym formacie MP3, nie obejdziemy się bez kodeka Lame ACM.


TMPGenc to bardzo wyspecjalizowany program konwertujący pliki video z różnych formatów wejściowych do formatu MPEG-1 lub MPEG-2. Konwersja do tego ostatniego jest zresztą ograniczona czasowo do 30 dni, potem trzeba zapłacić. Za darmo pozostaje tylko MPEG-1.

Rodzi się wobec tego pytanie, po co nam w ogóle taki program, skoro inne, jak choćby Format Factory, również oferują konwersję do MPEG-1 i 2, a przy tym za darmo? Otóż, chociaż pliki MPEG mogą służyć do odtwarzania na bardzo słabych komputerach i urządzeniach przenośnych ze względu na minimalne wymagania systemowe dekodera, to jednak podstawowym ich zastosowaniem jest tworzenie płyt Video CD, o czym szczegółowo dalej. W tej zaś dziedzinie TMPGenc nie ma sobie równych.

Ostatnia wersja dostępna za darmo (z ograniczeniami podanymi powyżej) to 2.525. Działa bez problemu pod Windows 98, nie wymaga KernelEx.


Właściwie staram się nie pisać na tym blogu o programach wymagających minimum Windows XP, z prostego powodu: wielu już to zrobiło lepiej, niż ja mógłbym kiedykolwiek, wystarczy poszukać. Tym razem jednak robię wyjątek: programy Jacka Pazery polecam każdemu, kto choćby dorywczo zajmuje się transkodowaniem plików multimedialnych, a to ze względu na sposób podejścia do tematu.

Nie znajdziemy tu „bajeranckich”, rozbudowanych interfejsów (przeciwnie: można je chyba określić jako „siermiężne”), mnóstwa zagmatwanych funkcji, kombajnów do wszystkiego, którym brakuje już tylko gwizdka i wodotrysku. Zamiast tego – prosta zasada: w zależności od tego, z czego na co chcemy konwertować, wybieramy konkretny program, ustawiamy kilka opcji w prostym, ale przemyślanym i funkcjonalnym interfejsie, klikamy „KONWERTUJ” i... możemy zająć się czymś innym do czasu zakończenia operacji.

Aplikacje działają bardzo stabilnie i generują pliki wysokiej jakości. Tak trzymać!


Haali Media Splitter (obecnie Haali Matroska Splitter) to filtr DirectShow pozwalający otwierać nietypowe kontenery z materiałami video w plikach multimedialnych MKV (Matroska), MP4, OGG, OGM, AVI oraz MOV. Zawiera podstawowy zestaw kodeków wykorzystywanych w tych kontenerach, a we współpracy z ffdshow pozwala na odtwarzanie większości plików video. Jest niezbędny, jeśli chcemy konwertować nasz źródłowy plik MOV programem TMPGenc.

Wersja 1.7.189 jest bardzo stara (opublikowana 3.06.2007), ale w późniejszych zrezygnowano ze wsparcia dla Windows 98.


Zestaw narzędzi do operowania napisami do filmów. Umożliwia między innymi zgrywanie napisów z płyt DVD do plików tekstowych, wyświetlanie filmów z napisami w aplikacjach nie posiadających takiej funkcji, korektę synchronizacji napisów z materiałem filmowym itp. W skład pakietu wchodzą między innymi dwie „wtyczki” do VirtualDuba: VobSub – umożliwiająca dodanie napisów z plików VOB (DVD) i TextSub – pozwalająca na wkopiowanie do materiału video napisów znajdujących się w pliku tekstowym.

Podczas instalacji tego narzędzia spotkałem się z drobnym problemem. Otóż jeśli zaznaczymy instalację dodatków do VirtualDub-a jak na ilustracji (a należy zaznaczyć, zależy nam na nich), w dalszej kolejności pojawia się monit o wskazanie katalogu, w którym jest zainstalowany VirtualDub. Cokolwiek byśmy nie wskazali, zawsze wyświetli się komunikat o tym, że ścieżka jest nieprawidłowa. Dzieje się tak, gdyż kiedyś katalog na „wtyczki” nosił nazwę plugins, a w nowej wersji VirtualDuba – plugins32. Pliki textsub.vdf i vobsub_vd.vdf, o które właśnie nam chodzi, rozpakowują się jednak do katalogu VobSub (standardowo: C:\Program Files\Gabest\VobSub). Wystarczy je stamtąd przekopiować do podkatalogu plugins32 (przykładowo: C:\Program Files\VirtualDub-1.10.4\plugins32).


Jeśli mamy komputer skonfigurowany do oglądania filmów (patrz część pierwsza), ffdshow i DirectX na pewno mamy zainstalowane. Do przekodowywania przydadzą się tym bardziej.


To wprawdzie nie jest program do obróbki filmów, tylko do nagrywania płyt, ale bardzo wyspecjalizowany: służy wyłącznie do nagrywania Video CD. Wprawdzie większość aplikacji nagrywających, jak na przykład Nero, też to potrafi, VCDEasy jest jednak (ale tylko do tej wersji!) całkowicie darmowy, nie wyświetla żadnych reklam i nie instaluje w systemie żadnych dodatków.
Sam chętnie z niego korzystam.


Uwaga:
VCDEasy odwołuje się do nagrywarki CD wykorzystując sterownik Adaptec ASPI lub Nero. Jeden z nich musi być zainstalowany w systemie, jeżeli chcemy mieć możliwość bezpośredniego nagrywania płyt.

2. Przerabiamy nasz film

Skoro mamy już zebrane stosowne oprogramowanie, pora je zaprząc do pracy. Chciałbym jednak zaznaczyć, że wszystko o czym napiszę poniżej w żadnym razie nie pretenduje do wyczerpania tematu. Podaję jedynie kilka, mam nadzieję że przydatnych i inspirujących przykładów, zachęcając jednocześnie do własnych eksperymentów.

Z MOV na AVI

Na początek przygotowałem plik z filmem „Ukradnij ten film 2” nadający się do oglądania na słabszych komputerach. Jakość miała być przy tym wystarczająca do oglądania na ekranie laptopa lub monitora stacjonarnego o przekątnej do 15 cali, ale efekt okazał się całkiem niezły również na ekranie 32-calowego telewizora LCD.

Do wykonania takiej pracy doskonale nadaje się program Format Factory. Zastosowane ustawienia
przedstawione są na ilustracji, zrzut ekranu z Format Factory 3.2.0. W rzeczywistości do przygotowania przykładowego pliku została użyta wersja Format Factory 2.8.0, ustawienia i efekt końcowy są jednak takie same.

Plik wynikowy, dla tych którzy nie mają ochoty na wykonanie eksperymentu samodzielnie, znajduje się tutaj (do oceny jakości plik należy pobrać, nie korzystając z odtwarzacza serwisu Chomikuj.pl).

Operacja wykonana na moim laptopie Toshiba (przypominam parametry: Procesor Pentium III 500 MHz, 192 MB RAM), zajęła około czterech godzin. Długo? Pewnie że długo, jak na film trwający 44 minuty. Łatwo policzyć, że obróbka dwugodzinnego filmu na takim sprzęcie zajęłaby w przybliżeniu 12 godzin. Jak jednak wspomniałem wcześniej, proces nie wymaga żadnej interakcji z użytkownikiem. Można uruchomić zadanie i zająć się innymi sprawami, choćby udać się do pracy albo pójść spać (pod warunkiem, że komputer nie stoi w sypialni!). W ten sposób nasz wiekowy sprzęt potrafi przerobić plik video, którego nie był w stanie odtworzyć!

Robimy Video CD

Video Compact Disk (VCD) to standard zapisu cyfrowego strumienia audio-video na zwykłej płycie kompaktowej opracowany w 1993 roku, a więc na dwa lata przed DVD. Specyfikacja tego formatu (dla obowiązującego w Polsce przed wprowadzeniem telewizji cyfrowej standardu PAL) przedstawia się następująco:
  • Kodek: MPEG-1
  • Rozdzielczość: 352 x 288
  • Format: 4:3
  • Liczba klatek na sekundę: 25
  • Strumień danych: 1150 kbit/s
Z założenia jakość obrazu miała być porównywalna do kasety VHS, jest to jednak sprawa dyskusyjna, ze względu na występujące artefakty kodowania i niższą rozdzielczość, zwłaszcza pionową. Z drugiej strony, w obrazie nie występują szumy charakterystyczne dla taśmy analogowej, lepsze jest też odwzorowanie konturów powierzchni barwnych (brak „obcięcia” pasma). Moim zdaniem jakość uzyskiwana z bardzo dobrej, nowej kasety VHS, odtwarzanej na wysokiej klasy magnetowidzie, jest lepsza, ze względu na wyższą „ostrość” obrazu. Jednak z przeciętną kasetą wygrywa już VCD.

Standard Video CD był w swoim czasie bardzo popularny w Chinach i wykorzystywany komercyjnie: filmy na płytach CD można było normalne kupić w sklepie. Były znacznie tańsze niż wchodzące dopiero na rynek DVD i kompatybilne z większością stacjonarnych odtwarzaczy. Również w Polsce można było kupić płyty VCD, zwłaszcza jako dodatki do gazet czy czasopism, gdzie chodziło o maksymalne ograniczenie kosztów. Sam mam kilka takich w swojej kolekcji. Wadą było to, że aby zmieścić pełnometrażowy film potrzebne były dwie lub trzy płyty.

Obecnie płyty VCD podzieliły los kaset VHS: jakość obrazu, wystarczająca dla telewizorów kineskopowych, okazała się zbyt niska dla współczesnych, wielkoekranowych odbiorników. Jeśli jednak chcemy tanim kosztem, posługując się zabytkowym komputerem PC, przygotować płytę z naszym filmem dającą się odtworzyć w stacjonarnym odtwarzaczu (nawet nieobsługującym DivX), zachęcam do dalszej lektury. No a jakość? Może Was pozytywnie zaskoczyć, zwłaszcza w tych fragmentach filmu, gdzie nie występuje szybki ruch i drobne szczegóły („gadające głowy”).

Materiałem wyjściowym do nagrania na płytę będzie plik video zakodowany kodekiem MPEG-1, który przygotujemy programem TMPGEnc. Wprawdzie niemal wszystkie programy do przekodowywania video mogą tworzyć pliki zgodne ze standardem VCD, jednak uważam, że tylko TMPGEnc tworzy pliki o jakości obrazu porównywalnej z oferowaną przez płyty nagrane „fabrycznie”. Ponadto wyjątkowe możliwości konfiguracji programu, pozwalające wpływać na większość parametrów kodowania, umożliwiają, kosztem pewnych odstępstw od standardu, uzyskanie lepszej jakości obrazu lub zmieszczenie dłuższego filmu na jednej płycie, o czym jednak nieco dalej.

Przyglądając się jednak uważnie specyfikacji VCD, zauważyliście być może dwie istotne trudności: po pierwsze – standard nie przewiduje innej proporcji boków obrazu niż 4:3, podczas gdy nasz film ma proporcje 16:9, po drugie – standard nie przewiduje odrębnej ścieżki z napisami, a myślę, że większość widzów chciałaby mieć podgląd polskiego tekstu.

Zajmijmy się najpierw drugim problemem. Najprościej to zrobić korzystając z funkcji wyświetlania napisów ffdshow, najpierw jednak musimy „przekonać” TMPGEnc, aby przy odczytywaniu źródłowego pliku video korzystał właśnie z tego kodeka.

Po uruchomieniu TMPGEnc zamykamy okno z informacją o ograniczonym czasie działania kodeka MPEG-2 (można zaznaczyć, żeby nie pojawiało się ponownie), następnie zamykamy Project Wizzard i otwieramy „Option” → „Preferences” → „VFAPI plug-in”. W oknie dialogowym odnajdujemy „DirectShow Multimedia File Reader” i klikając prawym klawiszem myszy zwiększamy jego priorytet, tak aby znalazł się na początku listy, jak na ilustracji (pamiętamy, że ffdshow to w istocie filtr DirectShow?).

Pora na konfigurację samego ffdshow. Z menu „Start” → „Programy” → „ffdshow” uruchamiamy „Konfiguracja dekodera video ffdshow”. Włączamy napisy i zwiększamy rozmiar czcionki do 150% w pionie i w poziomie (ilustracja). Czcionki muszą być duże, żeby napisy były swobodnie czytelne z większej odległości (przy oglądaniu Video CD odległość od ekranu zwykle zwiększamy, aby mniej nam przeszkadzały artefakty).

Zadbajmy jeszcze, żeby plik tekstowy z napisami miał taką samą nazwę (rozszerzenie oczywiście inne) i znajdował się w tym samym katalogu, co nasz plik video.

Teraz możemy już wrócić do wizzarda („File” → „Project Wizzard”), wybrać Video CD – PAL i otworzyć źródłowy plik MOV z filmem. Pamiętajmy, że musimy mieć zainstalowany Haali Media Splitter, inaczej nic z tego! Ustawmy „Video type: Progressive” i „Aspect ratio: 16:9 625 line (PAL)”. Otworzy się okno dialogowe „Filter setting” w którym zaznaczamy „Source range”. W rzeczywistości nie chodzi nam wcale o ograniczanie zakresu, tylko o okno podglądu, które się pojawi po wybraniu tej opcji. Przesuwamy suwak i sprawdzamy, czy w obrazie filmowym pojawiają się napisy. Jeśli tak, to klikamy „Cancel”. W kolejnym oknie „Bitrate setting” możemy ocenić, czy wynikowy plik zmieści się na płycie CD. Nasz film jest krótki, zostanie więc jeszcze spory zapas. Kliknijmy jednak przycisk „Expert” i wybierzmy zakładkę „Advanced”.

Interesuje nas szczególnie zawartość pola „Positioning method”. Standardowo jest tam „Full screen”. Jeśli tak zostawimy, to przy odtwarzaniu wykonanej płyty obraz zostanie rozciągnięty w pionie, tak żeby proporcja boków wynosiła 4:3 (standard VCD). W takim przypadku właściwie każdy film powinien mieć tytuł „Chudy i chudszy”. Znam osoby, które w taki sposób oglądają telewizję, zwłaszcza że tak traktują obraz szerokoekranowy niektóre sieci kablowe. Mnie to jednak strasznie denerwuje, spróbujemy więc uzyskać obraz o prawidłowych proporcjach.

Wybierzmy zatem „Positioning method: Center (custom size)” wprowadźmy szerokość obrazu 352 piksele (zgodnie ze standardem)... No tak: ale jaka powinna być wysokość? Zgodnie ze standardem to 288 pikseli, ale wtedy proporcje byłyby 4:3. Łatwo policzyć, że dla 16:9 wysokość obrazu powinna być mniejsza i wynosić 215 pikseli. Ze względów technicznych szerokość i wysokość obrazu powinny jednak być wielokrotnością 16, w przeciwnym razie większość odtwarzaczy nie będzie w stanie poprawnie zdekodować pliku. Mamy zatem do wyboru: 208 pikseli (13x16) lub 224 piksele (14x16). Wybierzmy tę drugą wartość: wprawdzie obraz będzie lekko rozciągnięty w pionie, ale nieznacznie, wykorzystamy zaś nieco lepiej powierzchnię ekranu (w przypadku telewizora lub monitora 4:3), oraz dostępną, jakże niewielką rozdzielczość pionową. Niech więc zaawansowane ustawienia kodowania MPEG wyglądają jak na ilustracji.

Co się stanie podczas odtwarzania? Odtwarzacz „wie”, że obraz VCD ma proporcje 4:3, jednak rzeczywista wysokość obrazu jest mniejsza niż standardowa. W takim przypadku obraz zostanie uzupełniony czarnymi pasami na górze i na dole, do pełnej wysokości. Tak właśnie powinno być!

No a co, jeśli odtwarzamy na nowoczesnym odbiorniku z ekranem o proporcjach 16:9? Wtedy mamy zwykle dostępną funkcję dostosowywania proporcji, która pozwoli nam „odciąć” czarne pasy i rozciągnąć obraz na cały ekran. Tak więc nasza płyta VCD będzie kompatybilna z każdym telewizorem.

Możemy już zaakceptować zawartość kolejnych okien dialogowych i uruchomić kodowanie. Na mojej Toshibie trwało to około 4 godziny, ale z lepszym procesorem będzie zdecydowanie szybciej.

Odczekaliśmy te kilka godzin i już mamy plik wynikowy. Jeśli ktoś nie chce tracić czasu, może od razu pobrać gotowy stąd. Możemy teraz zapisać go na płytę CD. Możemy, ale to nie będzie Video CD!

Standardowa płyta VCD ma specjalny nagłówek (inny niż w przypadku płyt audio czy płyt z danymi) i określoną strukturę plików. Program, którym nagrywamy takie płyty, musi to „umieć”, co sprowadza się zwykle do tego, że występuje w nim opcja „Video CD”. Możemy też użyć wyspecjalizowanego programu, jakim jest VCD Easy.
Dla leniwych, albo tych którzy nie mają czasu a chcieliby szybko sprawdzić jak płyta Video CD odtwarza się na ich sprzęcie, przygotowałem płyty w postaci plików BIN/CUE (należy pobrać oba pliki). Obraz może być przeniesiony na płytę przy pomocy dowolnej aplikacji nagrywającej obsługującej ten format.

kVCD – „lepsze” VCD

Płyta VCD ma dwie podstawowe wady: pierwsza to niska jakość obrazu (o czym już dużo napisałem), druga to ta, że na jednej standardowej płycie można umieścić do 80 minut materiału filmowego (korelacja z 80 minutami muzyki na płycie CD Audio nie jest przypadkowa). Każdej z tych wad (ale nie obydwu naraz) możemy częściowo zaradzić, odchodząc jednak od standardu.

TMPGenc umożliwia nie tylko głęboką ingerencję w proces kodowania MPEG poprzez modyfikowanie tablicy kwantyzacji i zmiany grupowania ramek obrazu, ale także odczytywanie konfiguracji z szablonów. Umożliwiło to na przygotowanie szablonów z ustawieniami pozwalającymi na poprawę jakości obrazu, lub zwiększenie ilości materiału filmowego na jednej płycie nawet do 120 minut (kosztem dalszego pogorszenia jakości, niestety).

Ceną za to jest obniżenie kompatybilności: niektóre stacjonarne odtwarzacze (ale jest ich niewiele) „nie tolerują” kVCD. Nie ma tu żadnej reguły, w końcu działamy poza standardem. Jedynym sposobem na sprawdzenie, czy nasz odtwarzacz akceptuje kVCD, jest przygotowanie płyty i próba jej odtworzenia.

Przykładowe szablony kVCD umieściłem tutaj. Archiwum należy rozpakować w podkatalogu Template TMPGenca (np. C:\Program Files\TMPGEnc\Template). Po tej operacji „Project Wizzard” udostępni nam dodatkowe formaty (ilustracja), nic tylko eksperymentować.

Do celów porównawczych przygotowałem plik Steal This Film II kVCD.mpg korzystając z szablonu KVCD-CQ-352x576-_PAL_-PLUS. Zwiększenie rozdzielczości pionowej w porównaniu ze standardem zaowocowało wrażeniem lepszej ostrości obrazu, przy czym wielkość pliku zwiększyła się tylko nieznacznie.

Uwaga:
Z niezrozumiałych dla mnie powodów (być może po to, żeby bardziej „optymistycznie” oszacować rozmiary generowanych plików) w części szablonów nie uwzględniono ścieżki dźwiękowej. Nie jest to wielki problem, można uzupełnić konfigurację „ręcznie” (pod warunkiem, że się o tym pamięta), można też zmodyfikować szablon (to jest plik tekstowy).

Dygresja
Jeśli już teraz wpadł komuś do głowy pomysł, żeby przegrać zasoby domowej wideoteki z kaset VHS na płyty VCD (lub kVCD) – szczerze odradzam. Szumy taśmy analogowej są traktowane przez kodek jako szybko zmieniające się, drobne elementy obrazu, które należy zakodować. Efektem jest bardzo kiepska jakość (mnóstwo artefaktów). Jeśli mimo to ktoś chciałby spróbować, polecam włączenie filtru odszumiającego w TMPGEnc (Noise reduction) i ustawienie takich parametrów, przy których szumy znikną niemal całkowicie (ale drobne elementy obrazu znikną też).

Jeśli ktoś doczytał aż do tego momentu – moje gratulacje! Może się jednak okazać, że jeśli tylko mamy w miarę nowoczesny odtwarzacz stacjonarny (z obsługą DivX i Xvid) i nie mamy ambicji, żeby nasze płyty były kompatybilne z każdym odtwarzaczem, całe to Video CD możemy spokojnie odłożyć do lamusa. Znacznie lepszą jakość uzyskamy nagrywając po prostu na płytę nasz plik AVI (jako plik). Dobry odtwarzacz sobie z tym poradzi.

Robimy DVD

Tyle się rozpisałem o VCD, a czy nie dałoby się przypadkiem samodzielnie zrobić DVD? W końcu jakość obrazu z takiej płyty jest bez porównania lepsza. Owszem, da się, ale... nie pod Windows 98. Potrzebny jest specjalny program do przygotowywania DVD. Takich aplikacji jest całkiem sporo, zarówno darmowych, jak i komercyjnych, wszystkie jednak mają wspólną cechę: wymagają co najmniej Windows 2000 lub nawet XP. O takich zaś nie piszę, bo wielu bardzo dobrze zrobiło to przede mną.

Jeśli jednak mogę coś z tego miejsca nieśmiało zaproponować, to do pierwszych eksperymentów polecam DVD Flick. Program ten wprawdzie nie jest już rozwijany, ale ma minimalne wymagania systemowe i jest bardzo prosty w obsłudze. Szczególnie łatwo robi się w nim płyty DVD pozbawione menu startowego, co osobiście bardzo lubię: wkładam płytę do odtwarzacza i od razu rozpoczyna się odtwarzanie filmu, żaden wybór scen i inne takie „wynalazki” nie są mi potrzebne. Polecam jednak zadbać o to, żeby źródłowe pliki filmowe miały od razu właściwe proporcje obrazu (jeśli tak nie jest – przekodujmy). Korekta tego w DVD Flick daje zwykle efekty niezgodne z oczekiwaniami.

Mobilne video

Trzeba sobie jasno powiedzieć: współczesne urządzenia mobilne są w stanie odtworzyć niemal każdy plik video, w zasadzie nie ma więc o czym pisać. Ten blog dotyczy jednak starych komputerów, mam więc na myśli takie urządzenia mobilne jak Pocket PC, odtwarzacze MP-4 czy stare telefony z możliwością odtwarzania multimediów (które jeszcze nie nazywały się „smartfonami”). Dla takich urządzeń potrzebny jest stosunkowo niewielki strumień danych (żeby słaby procesor się „wyrobił”), mniej istotna jest natomiast jakość obrazu (niewielkie, o niskiej rozdzielczości wyświetlacze). Do tych właśnie zastosowań wymyślono format 3GP.
Przykładowy plik video o wysokiej (jak na 3GP) jakości przygotowałem (pod Windows XP) za pomocą programu Pazera Free Video to 3GP Converter. Parametry zostały ustawione jak na ilustracji. „Gotowiec” dla leniwych albo zapracowanych leży tutaj.

Wszystko byłoby dobrze, gdyby nie jeden, tyci, tyci problem. Na moim Pocket PC nie udało mi się uzyskać wyświetlania napisów z pliku tekstowego. Po długiej szarpaninie z konfiguracją odtwarzacza (TCPMP 0.81) postanowiłem w końcu obejść problem i wkopiować napisy do materiału filmowego, podobnie jak to zrobiłem w przypadku Video CD.

Rzecz jednak nie jest taka prosta: nie można użyć funkcji wyświetlania napisów ffdshow, bo Pazera 3GP Converter (a także np. Format Factory) ma własny zestaw kodeków i po prostu z niego nie skorzysta. Zdecydowałem się na kodowanie dwuetapowe: najpierw przygotowałem plik AVI z wkopiowanymi napisami, a następnie ten plik przekodowałem do 3GP.

Do przygotowania pliku pośredniego możemy wykorzystać na przykład program VirtualDub z zainstalowanym filtrem TextSub (będzie dostępny po zainstalowaniu VobSub). VirtualDub nie obsługuje niestety plików MOV, dlatego jako źródłowy wykorzystałem plik AVI przygotowany za pomocą Format Factory. Powoduje to oczywiście obniżenie jakości, ale po przekodowaniu do 3GP jakość i tak „poleci na łeb”, nie ma więc się czym przejmować.

Po wczytaniu pliku do VirtualDuba pora na konfigurację. Ścieżka dźwiękowa nie będzie modyfikowana, dlatego w menu „Audio” zostawiamy zaznaczenie przy „Direct stream copy”. W menu „Video” natomiast, gdzie powinna być zaznaczona opcja „Full processing mode” klikamy „Filters” i tu właśnie zaczyna się zasadnicza konfiguracja.

Najważniejsza sprawa: obraz z wkopiowanymi napisami nie powinien być w dalszym procesie kodowania przeskalowywany, gdyż czcionki stracą na czytelności. Zatem pierwszym filtrem, który dodamy, będzie „resize” i ustawimy rozmiar obrazu na 352 x 288.

Następnie dodajemy filtr TextSub i wczytujemy plik z napisami. Po zamknięciu okna przesuwamy suwak: w oknie z podglądem materiału wyjściowego powinny pojawić się napisy. Jest tylko jeden problem: TextSub nie obsługuje napisów w formacie TXT, proponuję więc posłużyć się plikiem w formacie SMI stąd.

Właściwie najlepiej byłoby teraz rozpocząć przekodowywanie („File” → „Save as AVI”), ale wtedy VirtualDub zapisze nasz film w pliku nieskompresowanym. To daje najlepszą jakość, ale potrzebujemy dużeeeeeego twardego dysku.

Aby uniknąć wygenerowania gigantycznego pliku otwieramy „Video” → „Compression”. Powinien być dostępny „ffdshow video codec”. Wybieramy go, klikamy „Configure” i ustawiamy parametry jak na ilustracji.
Duża wartość bitrate sprawi, że utrata jakości będzie stosunkowo niewielka, przy akceptowalnych rozmiarach pliku (warto poeksperymentować z tą wartością).
Teraz już możemy zapisać nasz pośredni plik AVI, a następnie przekodować go do docelowego formatu 3GP. Ponownie posłużyłem się programem pana Pazery. Ostateczny efekt możecie ocenić po pobraniu tego pliku, ale gorąco zachęcam do wygenerowania go samodzielnie.

Wycinamy reklamy

Jeśli materiałem wyjściowym do dalszej obróbki jest plik video zawierający reklamy, warto się ich pozbyć. Nie tylko zabierają czas i denerwują widza (zwłaszcza oglądanie starych reklam po kilku latach jest kompletnie bez sensu), ale przede wszystkim bardzo wydłużają czas przekodowywania, gdyż w zależności od wydajności procesora długość każdej reklamy mnoży się razy kilka lub kilkanaście.

Rodzi się pytanie: wycinać reklamy przed przekodowaniem pliku, czy też może po? Z uwagi na to, co napisałem powyżej, odpowiedź wydaje się jednoznaczna: przed. Jest jednak wyjątek od tej reguły: jeśli sprzęt, na którym dokonujemy operacji, jest na tyle mało wydajny, że nie jest w stanie płynnie odtworzyć źródłowego pliku (jak w przypadku mojego laptopa i pliku MOV w wysokiej rozdzielczości), próba jakiejkolwiek obróbki przed kodowaniem nie powiedzie się: program będzie „mulił” tak przeraźliwie, że nic się nie da zrobić. Lepiej wtedy przekodować całość do bardziej „strawnej” postaci (godząc się na dużo dłuższy czas operacji) i do dalszej obróbki wykorzystać plik wynikowy.

Do wykonania zadania wykorzystamy Avidemux. Po wczytaniu pliku źródłowego ustawiamy parametry kodowania wynikowego pliku („Copy” jeśli operację wykonujemy po przekodowaniu). Następnie ustawiamy kursor na ostatniej klatce kluczowej przed reklamą i klikamy „A”, po czym ustawiamy kursor na pierwszej klatce kluczowej za reklamą i klikamy „B”. Ważne jest, aby nawigować wyłącznie po klatkach kluczowych (inaczej cięcie nie będzie precyzyjne), do dokładnego ustawienia pozycji wykorzystujemy więc przyciski oznaczone na ilustracji czerwoną obwódką (a nie te ze strzałkami). No a co dalej? Skoro trzeba coś usunąć, to klawisz „Delete” na klawiaturze i gotowe! W ten sam sposób traktujemy wszystkie reklamy, po czym zapisujemy plik (czyli uruchamiamy przekodowanie).

Jeśli wszystko zostało dobrze zrobione, to podczas oglądania filmu widz nie ma prawa zauważyć, gdzie były reklamy.

Bardzo podobnie wykonuje się powyższe operacje w programie VirtualDub. Moim zdaniem ma on wygodniejszy interfejs: dwa okna podglądu dla materiału wejściowego i wyjściowego, przyciski przewijania do następnej sceny (identyfikacja sceny następuje na podstawie detekcji różnic pomiędzy sąsiednimi klatkami – nie zawsze działa niezawodnie), wygodniejsza konfiguracja, jednak mniejsza liczba obsługiwanych formatów plików wejściowych i częstsze występowanie braku synchronizacji obrazu i dźwięku ogranicza jego stosowanie.

4 komentarze:

  1. Jeśli jestes maniakiem win 98 i potrzebujesz kompa z tym systemem, moge ci odsprzedać za rozsądną cenę :-)
    cier84@interia.pl

    OdpowiedzUsuń
    Odpowiedzi
    1. Nie prowadzę muzeum, to co mam w zupełności mi wystarczy. Wystaw na Allegro za rozsądną cenę ;-) albo podaruj jakiemuś dzieciakowi, a jeśliby nie wiedział co z tym zrobić, skieruj na mojego bloga. :-)

      Usuń
  2. Kolega maniak win 98 ja się tak do win 7 przyzwyczaiłem że nie chcę mieć innego :)

    OdpowiedzUsuń
    Odpowiedzi
    1. Tak naprawdę, to jestem „maniakiem” Windows XP, ale pod kontrolą tego systemu wszystko o czym tutaj piszę staje się oczywiste, więc po co pisać? A poza tym liczę się z ewentualnością, że Microsoft może niebawem uczynić niemożliwą aktywację Windows XP po prostu wyłączając serwery i co wtedy? Windows 98 aktywacji nie wymaga i każdy może, i będzie mógł „do końca świata i jeszcze dalej”, zainstalować go i używać kiedy mu się spodoba.

      Usuń