Grupą docelową nie są osoby profesjonalnie zajmujące się video-filmowaniem,
Ci bowiem używają profesjonalnego oprogramowania, w większości komercyjnego.
Z tego poradnika dowiesz się:
- Jak przycinać klipy, także bezstratnie.
- Dodawać filtry.
- Kompresować.
Do obróbki video posłużą nam popularne i darmowe programy:
VirtualDub
http://virtualdub.sourceforge.net/
VirtualDubMod
http://virtualdubmod.sourceforge.net/
Ten ostatni jest wymagany dla osób posiadających nagrania w MPEG-2.
Osobiście mam jeszcze taki grabber video na złącze PCMCIA:
Prolink PixelView PlayTV Mobile 4in1
który tworzy pliki w tym przestarzałym formacie z przeplotem:
Wymagane encodery i pluginy
Plugin DirectShow Input Driver
Potrzebny do otwierania plików video zapisanych z użyciem kontenera MP4 lub MKV,
np. pliki MOV z kamer KeyChain 808#13.
http://forums.virtualdub.org/index.php? ... =7&t=15093
Brak tego pluginu objawia się komunikatem:
Plugin Deshaker – stabilizuje obraz video.Example.mov is of an unknown or unsupported file type.
http://www.guthspot.se/video/deshaker.htm
Bezstratny kompresor HuffYUV
Dla osób, które chcą zapisać efekty pracy bezstratnie, a następnie użyć innego (niekoniecznie) narzędzia do końcowej kompresji.
Niestety w 64 bitowej wersji Windowsa 7 nie potrafię go poprawnie zainstalować (na 32 bitowej wersji używałem go bez problemu), więc nie będzie opisu na temat jego wykorzystania.
Kodek X264 zawiera profil bezstratnej kompresji, więc prawdopodobnie może on go zastąpić.
Pluginy do VirtualDub kopiujemy po prostu do folderu plugins.
Kodek XviD
Dla osob kompresujących do XviD - brak opisu w tym poradniku.
https://www.xvid.com/download/
Kodek AVC
http://www.videolan.org/developers/x264.html
Binarki:
http://download.videolan.org/pub/x264/binaries/
Kodek audio Lame
http://lame.sourceforge.net/
Skracanie klipów AVI
Pliki MOV nie pozwalają na skracanie filmów bez ponownej kompresji, dlatego warto rozważyć aktualizację Firmware kamerki 808 i wybrać AVI zamiast MOV.
W przypadku plików AVI (standardowy kontener systemu Windows) skracanie klipów jest bardzo proste.
Otwieramy plik w VirtualDub i z menu wybieramy kolejno:
Video → Direct strem copy
Audio → Direct strem copy
Zaznaczamy wybrany fragment klipu strzałkami (2).
Następnie używamy przycisków (1) aby przesunąć zaznaczenie do najbliższych klatek kluczowych.
Pojawi się znaczek [K] (3).
Jeśli tylko jeden interesujący fragment chcemy wyeksportować, wystarczy w tym momencie użyć już tylko:
Edit → Crop to selection
Teraz wystarczy już tylko zapisać plik:
File → Save as avi...
Skracanie klipów MOV
Jak już zostało wspomniane, bezstratnie w VirtualDub tego nie wykonamy i będzie wiązało się to z rekompresją,
a że jest to temat na następy punkt, w tym miejscu opiszę tylko otwieranie takich plików w VirtualDub i sposób wykonania bezstratnego cięcia w polecanym na końcu poradniku Free Video Editor z pakietu DVDVideoSoft.
W mojej wersji VirtualDub nie trzeba nic specjalnego wykonywać, ale w innych wersjach może być potrzeba ręcznego wskazania filtru DirectShow input driver.
Jako nazwę pliku wpisujemy "*" i naciskamy ENTER.
Następnie wybieramy klip video.
Próba zapisania takiego pliku wg poprzedniej instrukcji wygeneruje błąd:
Użyjemy więc alternatywnego oprogramowania w tym celu, czyli wspomnianego Free Video Editor.
Najważniejsze czynności zostały zaznaczone na zdjęciu.
- otwieramy plik
- zaznaczamy interesujący fragment
- klikamy Invert selection [Z]
- zaznaczamy Original format
- zaznaczamy Split by selections
- zapisujemy wyniki pracy Save video
Przed kompresją filmu zawsze zalecam (i tutaj zacytuję sam siebie z innego tematu na forum):
Jeśli więc materiał źródłowy masz w rozdzielczości Full HD, film wynikowy powinien być w rozdzielczości HD.Ponowna kompresja wymaga zmniejszenia rozdzielczości przynajmniej o jeden poziom, aby zachować podobną, albo nawet taką samą jakość przy oglądaniu filmu w rozdzielczości natywnej - wynikowej.
Następnie odpowiednio: HD → 480p, 480p → 360p.
Operacje do przeprowadzenia:
Video → Full processing mode
Video → Filters → Add...
Dodajemy filtr Resize (jeśli zmieniamy rozdzielczość), którego okno konfiguracji wygląda następująco:
Najpierw wpisałem wybraną wysokość filmu 480p.
Szerokość została wyliczona automatycznie (przy zaznaczeniu Aspect ratio: Same as source) na 853.333,
co jest błędne, dlatego nastepnym krokiem było zaznaczenie opcji Aspect ratio: Disabled i poprawienie szerokości z zaokrągleniem w górę do liczby całkowite 854px (podzielne przez dwa – o tym w nastepnym punkcie).
W tym kroku mamy również możliwość dokonania kadrowania, jeśli plik źródłowy jest w innym formacie niż docelowy:
Video → Compression
Kodek XviD nie będzie opisywany, gdyż poradnik byłby za długi, dlatego skupię sie tylko na x264, który daje lepsze efekty przy mniejszych plikach wynikowych.
Jak widzimy, jest kilka ograniczeń, np. wysokość pliku musi być podzielna przez 2.
Oto lista rekomendowanych rozdzielczości przez YouTube dla formatu 16:9:
- 2160p: 3840x2160
- 1440p: 2560x1440
- 1080p: 1920x1080
- 720p: 1280x720
- 480p: 854x480
- 360p: 640x360
- 240p: 426x240
Naciskamy "Configure" i przechodzimy do ustawień Encodera.
Przy standardowych ustawieniach dostałem bardzo dobre wyniki (Load Defaults).
Obowiązkowo zaznaczamy opcję Virtual Dub Hack, inaczej podczas kompresji dostaniemy kilka ostrzeżeń z błędami.
Kompresji możemy dokonać używając stałej wartości bitrate ABR, lub np. podając wartość ratefactor CRF (domyślnie).
Jest jeszcze kilka innych opcji, np. kompresja dwu-przebiegowa, która daje lepsze efekty i mniejszy plik, ale wymaga od nas większej pracy.
Domyślna wartość CRF to 23. Eksperymenty zaczynamy od tej właśnie wartości podążając w dół (do 1.0).
Dodatkowe filtry
Najczęstszymi filtrami jakie zapewne będziesz używał to:
- resize
- deinterlace – pozbycie się przeplotu
- deshaker – stabilizacja video
- null-transform – głównie do kadrowania
Zmiana fps
Przed końcową kompresją należy jeszcze zdecydować o fps.
W większości przypadków zostawiamy go bez zmian:
Video → Frame rate
Tutaj trzeba postępować ostrożnie, gdyż nieumiejętne posługiwanie się tą funkcją może spowodować rozsynchronizowanie się ścieżki dźwiękowej.
Kilka przykładów z życia:
Zmiana fps z 60 na 30:
- Frame rate conversion → Process every other frame (decimate by 2).
- Change frame rate to 60
- Convert fo fps 30
Gdy mamy już zainstalowany kodek Lame, wybieramy format mp3.
Audio → Full processing mode
Audio → Compression
Lepsze efekty daje kodek AAC, następca kodeka mp3, ale na tę chwilę nie znalazłem Encodera do VirtualDub-a.
Koniec prac zwieńczamy oczywiście zapisując plik z rozszerzeniem mp4 (dla h.264).
Podsumowując, zamieszczam klatki z klipów zakodowane w XviD i X264 stosująć ten sam bitrate.
Informacje o klipie:
- Długość klipu: 10s.
- Bitrate video: ~450kbps
- Rozdzielczość: 480p
- Rozmiar pliku: ~600kB (bez dźwięku).
XviD Zoom 200%
X264 Zoom 100%
X264 Zoom 200%
Widać wyraźnie, że kodek X264 wygrywa.
Oczywiście normalnie nie uzyskasz tak dobrego obrazu przy opisywanym bitrate ze źródeł ogólnie dostępnych, jak nasze kamerki.
Trzeba wziąć pod uwagę, że źródłem był klip o rozdzielczości 4k...
Photobucket chyba nie zastosował własnej kompresji zdjęć, co wnioskuję po rozmiarze zdjęcia.
Dodatkowe polecane oprogramowanie:
DVDVideoSoft
http://www.dvdvideosoft.com/pl/
avs4you - płatne (zakupiłem, polecam)
http://www.avs4you.com/
K-Lite Codec Pack
http://www.codecguide.com/
W skład zestawi wchodzą kodeki, Player, MediInfo i inne przydatne narzędzia.
Lekcja 2
Tylko dla Geeków
W tej części opiszę poszczególne i najważniejsze moim zdaniem parametry kodeka x264vfw.
Zalecałem użycie domyślnych ustawień, które dobrze się sprawują i w dalszym ciągu je polecam - nie ma sensu ich zmieniać.
Jednakże, jeśli używasz alternatywnego oprogramowania i alternatywnych encoderów dostarczanych z danym narzędziem, warto pogłębić wiedzę.
Aktualizacji poradnika by nie było, gdybym nie odkrył, że w płatnym oprogramowaniu AVS Video Editor i jego encoderze ustawiane są parametry na wyrost, co przekłada się na kompatybilność odtwarzania na różnych urządzeniach.
To czy dany film może zostać odtworzony na danym urządzeniu, zależy od jego profilu (ang. Profile) i poziomu (ang. Level).
Dotyczy to zarówno XviD jak i X264.
Lista możliwych poziomów została podana na stronie Wikipedii:
http://pl.wikipedia.org/wiki/H.264/MPEG-4_AVC
Poziom definicje między innymi maksymalną rozdzielczość i fps.
Należy wybrać najmniejszy poziom odpowiadający naszym wymaganiom.
AVS Video Editor wybiera najwyższy poziom 5.1 bez względu na zastosowaną rozdzielczość i fps, co ogranicza odtwarzanie naszego filmu do urządzeń, które potrafią odtworzyć filmy poziomu 5.1.
X264 automatycznie dobiera parametry biorąc pod uwagę szereg ustawień użytkownika.
Jeśli chcesz wyliczyć poziom ręcznie, wystarczy posiłkować się zacytowaną tabelką,
ewentualnie użyć darmowego narzędzia, np.
H.264 Level Calculator
https://gist.github.com/moret/1217033
Jest to zwykła strona internetowa wykorzystująca JavaScript, którą odpalamy w przeglądarce (po ściągnięciu).
Wpisujemy wymaganą rozdzielczość, fps i dostajemy odpowiedni Poziom, który należy zastosować, np.:
Wyliczony Poziom wyznacza nam także. maks. Bitrate, jaki możemy zastosować, wg tabelki dla poziomu 3 otrzymujemy:
- 352x480@61.4 (12)
- 352x576@51.1 (10)
- 720x480@30.0 (6)
- 720x576@25.0 (5)
Przykładowo dla poziomu 2.2 możliwe parametry filmu to:
- 352x480@30.7(10)
- 352x576@25.6 (7)
- 720x480@15.0 (6)
- 720x576@12.5 (5)
Wspomniałem tylko o poziomach, ale są jeszcze profile.
Jeśli zainstalowałeś pakiet kodeków K-Lite, powinieneś mieć narzędzie MediaInfo (można zainstalować jako oddzielny program), które występuje w menu kontekstowym po kliknięciu prawym klawiszem myszy na wybrany film.
Dla filmu demo stworzonego na potrzeby tej lekcji uzyskuję następujące wyniki:
Czyli High@L3.0.
Rodzaje profili:
- Profil Podstawowy – Baseline Profile (BP) Głównie dla aplikacji o najniższym wykorzystaniu kodera, ten profil wykorzystywany jest przede wszystkim do wideokonferencji oraz urządzeń i aplikacji przenośnych.
Np. starsze urządzenia iPod i iPhone 1/3G. - Profil Główny – Main Profile (MP) Uniwersalny dla klientów przekazów strumieniowych np. satelitarnych DVB-S2 oraz naziemnych DVB-T i DVB-T2 o rozdzielczości nieprzekraczającej 720x576 pikseli.
Np. iPhone 4, iPad 1, Apple TV 2 i starsze - Profil Wysoki – High Profile (HiP) Głównie wykorzystywany dla klientów przekazów strumieniowych o wysokiej rozdzielczości np. satelitarnych DVB-S2 oraz naziemnych DVB-T i DVB-T2. Skuteczniejszy od Main Profile, ponieważ jest w stanie w pełni skorzystać z rozdzielczości 1280x720i, 1280x720p oraz 1920x1080i. Stosowany jest również do kompresji filmów na dyskach HD DVD i Blu-ray.
Np. iPhone 4S, iPad 2, Apple TV 3 i starsze
Dla naszych zastosowań oczywiście High:
Wysoka rozdzielczość (od 720p i 720i), HD DVD i Blu-ray, dla filmów przechowywanych na dysku.
Krótki opis potwierdzający wiedzę encyklopedyczną (z Wikipedii):
http://www.gravlab.com/2013/11/07/diffe ... -profiles/
Kompresja 2-przebiegowa
Jeszcze lepsza jakość, mniejszy plik wynikowy, większa ilość poświęconego czasu.
Wybierając kompresję dwu-przebiegową, tracimy możliwość wybrania kompresji typu CRF.
Pamiętając jaki bitrate ostatnio się sprawdził, wybieram ABR 450kbps.
- Wybieramy Rate Controll: Multipass – 1st pass (pierwszy przebieg).
- Wybieramy lokalizację dla nowo-tworzonego pliku statystyk Stats file.
- Zapisujemy plik.
Po skończonej kompresji jeszcze raz wchodzimy w ustawienia encodera i wybieramy drugi przebieg:
- Rate Controll: Multipass – Nth pass.
- Zapisujemy film do tego samego pliku (zastępujemy go).
GOTOWE.
Stosunek pojemności pliku dla pojedynczego i podwójnego przebiegu:
613 KB vs 584 KB
Oczywiście rozmiar to nie jedyna zaleta dwu-przebiegowej kompresji.
Lekcja 3
Scalanie klipów bez rekompresji.
Wiele kamer dzieli filmy na klipy i jest to całkowicie normalne.
Aby scalić klipy w jeden dłuższy film, muszą być spełnione pewne wymagania, takie jak:
identyczny format, rozdzielczość, fps, itp.
Jednym słowem, klipy muszą pochodzić z tej samej kamery.
W przypadku AVI, możemy posłużyć się VirtualDub-em.
- Otwieramy pierwszy klip za pomocą VirtualDub File → Open video file...
- Następny dodajemy przez File → Append AVI segment...
- Powtarzamy punkt 2 dla pozostałych klipów
- Video → Direct stream copy
- Audio → Direct stream copy
- Zapisujemy plik File → Save as AVI
A co z plikami MOV?
Niestety, VirtulDub tego nie wykona.
Nie ma też takiego narzędzia w pakiecie DVDVideoSoft.
W płatnym pakiecie avs4you - który zresztą posiadam - znalazłem AVS Video ReMarker, który pozwala skracać i scalać klpy video bez ponownej kompresji, cytuję informacje ze strony:
O tych ograniczeniach wspominałem już wcześniej.Note: the files must have the same parameters - frame size (height, width), frame rate, coded with the same codec etc. so that you can merge them without the need of re-encoding.
Działa to trochę dziwnie, gdyż plik źródłowy posiada ścieżkę dźwiękową:
a wyjściowy już:PCM
Bit rate: 512 Kbps
Channel(s): 1 channel
Z tego wynika, że jeśli chodzi o ścieżkę dźwiękową, to raczej nie jest to „direct stream copy” - wg nomenklatury VirtualDub.PCM
Bit rate: 1 411.2 Kbps
Channel(s): 2 channels
Bitrate Video mniej więcej się zgadza, ale identyczny nie jest.
Szybkość scalania jest jednak na tyle duza, że pozwala przypuszczać na brak zastosowanej ponownej kompresji video (po co mieliby kłamać w helpie?).
http://www.avs4you.com/guides/how-to-me ... files.aspx