Poradnik: stabilizacja video w prosty sposób. Jak wyeliminować drgania z nagrań?

Witam w pierwszym poradniku votdtech, po długiej przerwie od pisania wracamy z poradnikiem prostej, lecz skutecznej stabilizacji video za pomocą programów XMedia Recode oraz VirtualDub wraz z wtyczką Deshaker!

UWAGA! W związku z przypadkami kopiowania treści niniejszego artykułu i wrzucania go na serwisy typu Chomikuj.pl w postaci plików Word informuję, iż nie zgadzam się na kopiowanie i udostępnianie moich wpisów, a wobec osób naruszających prawo w ten sposób, będą podejmowane odpowiednie kroki prawne!

Poradnik jest dedykowany osobom, które interesują się obróbką filmów, lecz nie są profesjonalistami i oczekują rezultatów jak najmniejszym kosztem.

Stabilizacja wideo przydaje się, gdy mamy nagrane np. filmy z wycieczek lub z rodzinnych okazji, lecz nie mieliśmy przy sobie statywu - głównie więc do filmów nagrywanych "z ręki". Niniejszy poradnik doradzi w jaki sposób zastosować darmowy filtr Deshaker w celu wyeliminowania efektu trzęsącego się obrazu!

Składniki - czyli czego potrzebujemy:
1. XMedia Recode - wygodny, darmowy program do konwersji video, dostępny pod adresem: http://www.xmedia-recode.de/en/download.html
2. VirtualDub - darmowy edytor video o potężnych możliwościach http://www.virtualdub.org/
3. Deshaker - plugin do VirtualDuba http://www.guthspot.se/video/deshaker.htm

Składnik 1. to jedynie propozycja, można zastosować swój ulubiony program do konwersji, jednakże ten daje szybkie i bezproblemowe rezultaty.

Poradnik:
1. Przygotowanie materiałów wideo do obróbki
Odpalamy XMedia Recode. Do stabilizacji wideo musimy mieć przygotowany materiał w formacie, który odtwarza VirtualDub. Ogółem ten radzi sobie z plikami w formatach: DivX, XviD, MJPEG, HUFFYUV, MPEG-1, MPEG-2, natomiast ma problemy z takimi formatami jak H.264, x264 (możliwe jest odblokowanie ich użycia, lecz jest to dosyć problematyczne - najlepiej korzystać z wyżej wymienionych).




Krok 1. Przeciągnij plik z materiałem wideo przeznaczonym do stabilizacji do okienka z programem i wybierz format (a właściwie kontener) AVI z rozszerzeniem AVI.



Krok 2. Wprowadź dane, tak jak na screenshocie: format MJPEG, zerknij również na górę, gdzie program wyświetla liczbę klatek obrazu np. 30 Hz - jeżeli ta wartość jest zgodna z rzeczywistością, zostaw na oryginalny framerate, jeżeli zaś jest odmienna - wybierz z listy rozwijanej - jest to bardzo ważny krok! Program ma nieco problemów z ustaleniem liczby klatek na sekundę w filmikach kręconych na urządzeniach z systemem Android - wtedy bezwzględnie należy ustawić 30 fps z racji tego, iż Android kręci filmiki w zmiennej ilości klatek na sekundę i program być może bierze najniższą wartość - stąd importuje filmiki w 15 fps. MJPEG jest formatem najwygodniejszym, nie daje zbyt dużych plików i daje się łatwo edytować (stabilizować:))


Krok 3. Tutaj do wyboru - dźwięk albo konwertować albo można skopiować, polecam skonwertować do wysokiej jakości MP3 i zaznaczyć stały bitrate - VirtualDub nie lubi MP3 w VBR.


Krok 4. Jak już wszystko ustawimy, klikamy na Dodaj zadanie.



Krok 5. A następnie Konwertowanie. Przy komputerze o średniej konfiguracji konwersja powinna przebiec bardzo sprawnie.

2. Stabilizacja

Już po konwersji zamykamy XMedia Recode i otwieramy VirtualDuba. Pamiętajmy o zainstalowaniu Deshaker poprzez jego rozpakowanie do folderu Filters wewnątrz VirtualDuba.





Krok 1. Przeciągamy materiał z wideo do okienka z programem, a następnie wchodzimy w menu górne Video -> Filters

Krok 2. W okienku Filters wybieramy Add...

Krok 3. Z listy filtrów wybieramy Deshaker. Jeżeli go tam nie ma, upewnijmy się, że go zainstalowaliśmy.

Krok 4. Teraz musimy ustawić parametry przebiegu analizy naszego materiału. Wytłumaczę tu podstawowe funkcje (reszta prawdopodobnie nam się nie przyda):



Video output: Motion vectors pozwala nam obserwować analizę materiału wideo, zaś None wyłącza podgląd, ale jednocześnie przyspiesza analizę

Block size: Warto zostawić domyślną wartość, jest to liczba pikseli na które składa się jeden blok analizy, wyższe wartości to większe bloki, a więc szybsza analiza (lecz mniej dokładna).

Scale: Full - analizuje materiał wideo w oryginalnej rozdzielczości, Half - zmniejsza o połowę, Quarter - 1/4. Im mniejsza rozdzielczość tym gorsze rezultaty stabilizacji, lecz szybsza analiza. Polecamy opcję Half.

Use pixels: Tutaj zaś do wyboru pomijanie pikseli - np. analiza dotyczy wszystkich, co 4, co 9 albo co 16 piksela - im większa wartość tym szybsza analiza.

Color mode: Grayscale - analiza odbywa się w czerni i bieli i jest mniej dokładna, RGB - w kolorze, lecz analiza dłużej trwa.

Myślę, że tyle opcji wystarczy. Teraz klikamy na OK i znowu OK (aby wyjść z menu Filters). Teraz musimy nacisnąć przycisk jak na screenshocie:


Teraz filtr dokona analizy - należy poczekać aż wideo skończy się odtwarzać - może to niestety trochę potrwać, nawet na najgorszych ustawieniach, lecz efekt będzie warty oczekiwania. Najlepiej jeżeli zrobimy sobie przerwę na kawę - a może nawet dwie.

Po skończonej analizie wchodzimy spowrotem w Video -> Filters, wybieramy Deshaker.


Tym razem ustawienie processing pass powinno być na Pass 2 (jeżeli nie ma tam go, to należy przestawić z Pass 1 na Pass 2.

Teraz musimy dokonać ostatecznych ustawień.

Resampling - polecamy opcję Bicubic - stabilizacja obrazu odbywa się na jego przybliżeniu, a zatem potrzebny jest filtr, który nam przeskaluje obraz, tak aby krawędzie nie ząbkowały.

Edge compensation - None (large borders) - przy tym ustawieniu, po bokach stabilizowanego obrazu będą czarne ruszające się obwódki, dlatego lepiej wybrać inną opcję. Adaptive zoom (some borders) albo Adaptive zoom only obniży nam liczbę czarnych obwódek, lecz ich całkowicie nie zlikwiduje. Kolejnymi opcjami są Fixed zoom (no borders) - lecz wtedy program przybliża obraz do najwyższej wartości i w ten sposób tracimy dużo obrazu po bokach, Adaptive+fixed (no borders) oraz Adaptive+fixed only zaś dostosowuje wartość przybliżenia w zależności od sceny. Wydaje się to najlepszą opcją.

Poniżej mamy nastawienia tego z jaką szybkością ma działać stabilizacja - można potestować różne nastawienia i znaleźć swoje własne, jednakże dla szybkości obróbki lepiej je zostawić bez zmian.

Jeżeli już wszystko ustawimy, należy nacisnąć OK i drugi raz OK, żeby wyjść z menu Filters.

Teraz naciśnijmy przycisk play z małym 0 (tak jak poprzednio) i po lewej stronie będzie się odtwarzać oryginalne wideo, zaś po prawej już po stabilizacji. Nasze wideo będzie wyglądać jak kręcone na statywie!

Niestety wraz ze stabilizacją nasze wideo może też wyglądać dziwnie - np. może wystąpić efekt pływania obrazu, możemy utracić sporo obrazu z brzegów, a także momentami może wystąpić efekt motion blur - niestety jeżeli mamy materiał nagrany naprawdę trzęsącą się ręką, to żadna stabilizacja nie pomoże, ale jeżeli ręka nam tylko nieco drży - efekt może być naprawdę piorunujący! 

Teraz wystarczy tylko ponownie skompresować wideo - niestety jest to najprostsza metoda, a jeżeli jesteśmy amatorami, to prawdopodobnie będzie ona wystarczająca.

Aby to uczynić, należy wejść w Video -> Compression i wybrać format kompresji - polecam HuffYUV albo ponownie MJPEG. Ewentualnie możemy zainstalować x264, DivX, XviD i kompresować od razu w tych formatach.

Po ustawieniu kompresji, musimy jedynie wybrać File -> Save as AVI..., nazwać nasz plik i czekać aż się skonwertuje.

Od teraz nasi domownicy nie będą cierpieli na chorobę morską oglądając nasze dzieła ;).