Graczem będąc…

…gry recenzując

Nagrywanie filmów z gier

Posted by Skan w dniu 22 Wrzesień 2010 21:42


Nagrywanie filmów z gier

Od paru miesięcy zdarza mi się rejestrować moje granie, i dzielić się tym na Youtube. Moje pierwsze filmy były delikatnie mówiąc brzydkie, a próbując usprawnić proces nagrywania/dekodowania/wysyłania przegooglowałem kilkanaście poradników i kilkadziesiąt (lub i kilkaset) postów na różnych stronach i forach. Po tej lekturze i tak część moich pytań pozostawała bez odpowiedzi (a niektóre z tekstów były nieaktualne lub odnoszące się tylko do danej gry), więc metodą prób i błędów dochodzić musiałem do odpowiednich wniosków – a co za tym idzie dużo lepszej jakość filmów i większego komfortu podczas nagrywania. Dodać do tego należy też fakt, iż często pojedyncza „próba” równała się godzinie lub dwóm obrabiania/kompresowania i kilku godzinom uploadu na YT. Mając pod ręką poradnik który właśnie piszę, zapewne uniknąłbym tych żmudnych godzin owocujących crapem który kasowałem :)

Cały czas przy tym się uczę, więc kilka razy w tym tekście pojawi się zwrot „nie wiem” – jeśli przeczyta ten tekst ktoś, kto ma większe pojęcie niż ja i napotka w nim jakieś babole, to będę wdzięczny za sprostowanie/doinformowanie w komentarzach. A więc do dzieła:

Składniki

Fraps – kultowy program do nagrywania klipów z gier. Posiada kilka darmowych zamienników i przynajmniej jeden komercyjny, ale większość poradników z których się uczyłem polecała Frapsa, i ten poradnik również będzie oparty o jego użycie. Program kosztuje ~37$ (~ 111zł). Warto zainwestować, bo Fraps podobno jest najlepszy. Dostępna jest też wersja shareware, ta pozwala jedynie na 30 sekundowe klipy, które będą zawierały logo Frapsa.

x264vfw – kodek, za pomocą którego kompresować będziemy filmy nagrane Frapsem. Również „podobno” najlepszy w sensie stosunku jakość/wielkość pliku.

VirtualDub – darmowy program, za pomocą którego będziemy edytować i dekodować film.

2 dyski twarde – teoretycznie można się obyć z jednym – to zależy od waszego HDD. Mój Seagate Baraccuda 7200 gdy przyszło mu jednocześnie nagrywać film i obsługiwać grę dostał czkawki (co skutkowało ~10 klatkami na sekundę w grze). Tak więc przynajmniej w moim przypadku, nagrywane filmy musiały iść na osobny HDD.

Opcjonalnie

Dobry procesor – skróci czas dekodowania.

Dobry upload łącza – skróci czas wysyłania na Youtube.

Nagrywanie

(w skrócie dla leni: ustaw Frapsa jak na screenie obok i nagrywaj ;))

Tutaj jest w sumie prosto – odpalamy Frapsa (najlepiej od razu zainstalować go na drugi HDD), wchodzimy w zakładkę „Movies” ( screen nr.1) i tutaj mamy:

-Video Capture Hotkey (1) – wyjaśniać nie trzeba, warto jednak zadbać, żeby przycisk ten nie miał również jakiegoś zastosowania w grze (domyślnie jest to F9 – a on często odpowiada za „quick load” w grach). F12 jest dość optymalnym wyjściem.

-Video Capture Settings

a) Liczba klatek na sekundę (FPS) (2) – jeśli myślimy o wrzuceniu filmu na Youtube, to teoretycznie możemy wpisać tutaj 29,97 (bo na tyle właśnie YT je konwertuje). Przyśpieszy to przetwarzanie filmu przez YT, co skróci czas w którym film się stanie dostępny dla publiki. Ale…Fraps przy nagrywaniu „wymusza” w grze taką liczbę klatek, w jakiej nagrywa – co sprawi, że w trakcie nagrywania będziecie grali mając na liczniku około 30FPS. W zupełności wystarcza do turowych strategii czy mało dynamicznych gier, jednak w przypadku takich np. strzelanek komfort grania znacznie się pogorszy. Co niejako wpłynie na to, co zobaczymy w filmie – na pewno ciężko będzie nagrać dynamiczne akcje gdy gra nam się ślimaczy. Jeśli mamy dobry sprzęt, to możemy spokojnie ustawić 60 lub i 100FPS – liczba tych klatek w grze będzie i tak niższa z uwagi na zamulanie wywołane procesem rejestrowania, jednak nadal będzie się grało normalnie, natomiast w przypadku 29,97 klatek jest to znacznie utrudnione. Btw, w necie można dość często znaleźć stwierdzenie „nie ma sensu ustawiać więcej niż 30 bo ludzkie oko i tak nie widzi więcej niż ~25”. Jest to mit (choć z ziarnkiem prawdy). Przy działaniu oka ludzkiego w ogóle nie można mówić o klatkach na sekundę, a liczba FPSów w grze wpływa na to, jak szybko rozgrywa się akcja na ekranie i jak szybko możemy na nią zareagować. Poniżej 25 klatek zaczynamy natomiast zauważać przerwy pomiędzy poszczególnymi klatkami, i zapewne stąd ten mit (a więcej o nim tutaj: klik). Zresztą samemu możemy przeprowadzić test: uruchomcie sobie szybką grę, a potem włączcie nagrywanie frapsem z 30 klatkami na sekundę – różnica w płynności jest kolosalna.

b) Full-size/Half-Size (3)– przy Full-size nagrywany obraz będzie w takiej rozdzielczości, w jakiej gramy w grę. Przy Half-size uwalony o połowę. Half przydaje się, jeśli Fraps nam zbytnio muli podczas nagrywania + pliki z filmem są mniejsze. Obcięcie rozdzielczości o połowę sprawi jednak, iż aby film w YT zakwalifikował się jako HD musiałby być oryginalnie nagrywany w rozdzielczości przynajmniej 2560×1440. Jeśli grasz w innej, lepiej uwalić trochę ustawienia graficzne w grze i nagrywać w trybie Full-Size – a za to cieszyć się ładniejszym filmem na Youtube. Warto też pamiętać, że YT pozwala na oglądanie filmów w dwóch trybach HD – czyli 1080p (1920 x 1080) i 720p (1280×720). Jeśli więc chcesz nakręcić gameplay ze strzelanek a nagrywanie drastycznie zmniejsza liczbę fpsów, rozważ zmianę rozdzielczości w grze do owych 1280×720 (jeśli nakręcisz w jakiejkolwiek wyższej od 720p a niższej od 1080p to YT i tak go skonwertuje do 720) – w ten sposób i wilk będzie syty i owca cała. Czyli film będzie ładnie wyglądał, a liczba fpsów w grze pozwoli na komfortowe granie. Przykład.

-Sound Capture Settings (4): Zaznaczamy Record Sound jeśli chcemy nagrywać również dźwięk. Opcja „Detect best sound input” powinna nam ustawić „What U Hear” – jeśli przy okazji chcemy nagrywać nasz głos, to w ustawieniach dźwięku poza Frapsem ustawiamy tak, aby słyszeć to, co mówimy do mikrofonu.

Tyle co do Fraps’a – teraz uruchamiamy grę, wciskamy hotkey, nagrywamy film który nas interesuje, i wchodzimy do katalogu gdzie zapisywane były filmy.

Obróbka

Desynchronizacja:

Filmy nagrywane frapsem są dość sporych rozmiarów – to dlatego, że Fraps nie obrabia ich w biegu, i trzeba to robić samemu. W moim przypadku filmy 3 minutowe zajmują około 4 giga – i na tyle zresztą dzieli je Fraps podczas nagrywania. Czyli co ok.3 minuty kończy się zapisywać jeden plik, a zaczyna nowy, co przynajmniej u mnie powoduje freez, którego długość zmienia się wraz z czasem nagrywanego filmu (czyli przy 3 pliku jest to około sekundy, natomiast przy 6 już około 2). Wiąże się z tym też desynchronizacja dźwięku – od około 3 pliku w filmie występuje freez w obrazie, natomiast nie występuje w ścieżce dźwiękowej, i dlatego zanim złożymy film w jedną całość, trzeba dopasować synchronizację w poszczególnych fragmentach. Jeśli nie masz w planach nagrywania filmów dłuższych niż ~5 minut, następną część możesz pominąć i przejść do „Łączenie”. Istnieje możliwość, że to jakieś niedociągnięcia w moim sprzęcie wywołują tą desynchronizację – proponuję więc sprawdzić to samemu, i przy nagrywaniu długiego filmu wejść do jego ostatniego fragmentu. Jeśli nie zauważycie desynchronizacji (a ta w przypadku 15 minutowego filmu może na końcu dochodzić nawet do 2 sekund), to problem was nie dotyczy. W przypadku występowania (i jeśli chcecie ten desync naprawić), polecam założyć w katalogu z filmami katalog „synchro” – i tam zapisywać pliki poddane synchronizacji. Pierwsze dwa pliki w moim przypadku zawsze synchro trzymają, więc je możemy tam wrzucić z biegu. Następnie otwieramy VirtualDub (screen nr.2), w lewym górnym rogu „Open Video File…” (1), wybieramy plik. Później wchodzimy w zakładkę „video” (3) i ustawiamy „Direct Stream Copy”. Teraz w nagraniu szukamy jakiegoś charakterystycznego momentu, w którym bez wątpliwości możemy ustalić, że występuje desynchronizacja. Może to być jakiś pojedynczy strzał, czy ruch warg w przypadku cutsceny – cokolwiek, co da się idealnie do siebie dopasować. Jeśli już znaleźliśmy taki moment, wchodzimy na górze w zakładkę „Audio”(4) i tutaj wybieramy pierwsze od góry, czyli „Interleaving…”. Tam widzimy pole „Delay audio track by” i tutaj wpisujemy wartość opóźnienia w milisekundach (jedna sekunda = 1000ms). U mnie wygląda to tak, że 3 plik wymaga opóźnienia 700ms a każde kolejne wydłużają ten czas o ~350ms. Zależeć to jednak może od sprzętu więc polecam dopasowywać indywidualnie. Gdy już w wybranym wcześniej fragmencie widzimy zadowalającą nas synchronizację, wchodzimy ponownie w „File” i wybieramy opcję „Save as AVI…” – wybieramy folder „synchro” i zapisujemy plik – polecam nazwę przy której nie będzie wątpliwości co do kolejności danego pliku, np. „a , b ,c”. Odradzam jednak kolejność numeryczną (czyli 1,2,3…), bo w takim przypadku przy łączeniu plików w jedną całość VirtualDub automatycznie połączy wszystkie pliki, czego w niektórych przypadkach możemy nie chcieć.

Innym sposobem na uniknięcie takiego desyncu jest przerwanie nagrywania i ponowne uruchomienie (hotkey x2) – łatwo jednak o tym zapomnieć rejestrując jakąś akcję wymagającą uwagi, pojawi się też trwająca 0,5-1 sekundy przerwa w nagraniu.

Łączenie:

Otwieramy VirtualDub (screen nr.2), następnie w lewym górnym rogu z zakładki File wybieramy „Open video file…” (1)  i otwieramy pierwszy plik naszego filmu. Następnie klikamy na „Append AVI segment…” i wybieramy drugi fragment filmu – tak aż do ostatniego. Jeśli synchronizowałeś dźwięk (punkt poprzedni), wtedy pomiędzy poszczególnymi odcinkami połączonego filmu będą występować freezy – o takiej samej długości, jaka była desynchronizacja. Jeśli jesteś perfekcjonistą, możesz chcieć je usunąć, i żeby to zrobić najprościej będzie zastosować następująca metodę: przed dołączeniem kolejnego pliku przesuwamy suwak na dole aż do samego końca, czyli do ostatniej klatki filmu. Następnie dołączamy kolejny odcinek pliku, i z zakładki „edit” (2) na górze wybieramy „Set selection start” (ew. skrót „home” lub z paska na dole „półstrzłkę w lewo”(7)). Teraz, używając strzałki „prawo” lub dwóch strzałek z paska skrótowego na dole (6) posuwamy się do przodu, aż do klatki w której zauważymy ruch. Teraz z zakładki „edit” wybieramy „Set selection end” (lub skrót „end” ew. „półstrzałka w prawo”(8)). Mamy tym sposobem dokładnie, co do klatki zaznaczony fragment freez’a, który usuwamy w zakładce „edit” opcją „delete” (lub skrótem klawiszowym „delete”). Analogicznie, możemy z połączonego już filmu usunąć fragmenty, których w gotowym filmie nie chcemy. Lub z musu, jeśli film jest za długi (max który przyjmuje Youtube to 15 minut).

Kompresja

Audio

Mając już ściągnięty i zainstalowany kodek x264vfw (przed łączeniem etc. filmu), możemy się zabrać do zmniejszania wagi naszego filmu. Jeśli nasz film posiada dźwięk, najpierw wchodzimy w zakładkę „Audio”, tam wybieramy opcję „Full processing mode”, a później, również z zakładki „Audio” klikamy w opcję „Conversion”. Widzimy tam pole „Sampling Rate” i zapamiętujemy lub zapisujemy wartość w nawiasie obok napisu „No change”. Jest to bitrate naszej ścieżki audio w filmie oryginalnym i chcemy, aby taki sam był w kompresji. Teraz z zakładki „Audio” klikamy w „Compression” i tam, z listy, wybieramy znajomy format „Lame MP3”. Teraz z listy po prawej wybieramy ten sam bitrate który miał film, i szczerze mówiąc pomiędzy resztą wyborów jakiś zasadniczych różnic nie ma. Ja zawsze wybieram „256 kbps CBR” i działa ładnie, więc też to polecam ;) Po wyborze klikamy „Ok”

Video

Teraz gwóźdź programu, czyli kompresja video. Wchodzimy w zakładkę „Video”, upewniamy się, że jest zaznaczona opcja „Full processing mode” (powinna być domyślnie), a następnie wybieramy „Compression” (screen nr.3 obok – kliknij aby powiększyć). Jeśli kodek został zainstalowany poprawnie, powinniśmy na liście widzieć „x264vfw – H.264/MPEG-4 AVC Codec” (1). Wybieramy go i teraz po prawej stronie klikamy „configure”(2). Wyjaśnianie tego, co teraz będziemy robić zajęło by drugie tyle tekstu, więc po prostu podam łopatologicznie co robię ja (i co skutkuję całkiem niezłą jakością) bez wgłębianie się w szczegóły. Z zakładki „Rate Control” wybieramy „Multipass – 1st pass (fast)(3). Teraz na suwaku „Target Bitrate”(5) ustawiamy jakość finalną filmu. Im więcej, tym lepsza jakość, ale też większy plik i dłuższa operacja kompresji. Jeśli więc jakoś wybitnie nie zależy wam na jakości, to wartość może wynosić nawet 1000, to samo jeśli nie macie zbyt wiele czasu/cierpliwości a macie słaby sprzęt lub/i upload. Ja ustawiam 10000 dla filmów ~15 minutowych, 20000 dla ~10 i 30000 dla ~5 i niżej. Po ustawieniu klikamy „ok” i „ok”, a następnie w zakładce „File” wybieramy „Save as AVI…” i wybieramy miejsce docelowe – nie będzie to jednak nasz film „właściwy”, tylko bardziej plik służący jako wzór dla kompresji właściwej. Pokaże nam się okno z przebiegiem kompresji (screen nr.4), i tutaj odznaczamy okienko „Show input video”(4) i „Show output video” (5) (żeby niepotrzebnie nie obciążać procka) oraz w rozwijanym okienku „Processing thread priority” (3) wybieramy Highest. W okienku „Projected File Size”(1) widzimy przewidywany rozmiar pliku a w „Total time (estimated)”(2) przewidywany czas kompresji. Obie te liczby będą się zwiększać mniej więcej do połowy kompresji, więc nie sugerujcie się pierwszym wrażeniem ;). Po zakończeniu kompresji otrzymamy stosunkowo mały plik avi oraz, co ważniejsze, plik x264.stats. Nie zamykamy okna VirtualDubu, bo to nie koniec – teraz ponownie używamy „Video->compression->x264vfw->configure” i tym razem w zakładce „Rate control” wybieramy „Multipass – Nth pass”. Nic więcej nie zmieniamy – bitrate musi być taki sam, jak poprzednio. Teraz znów „save as AVI…”, i ponownie odznaczamy okienka w oknie, które nam się pokazało. Teraz zachodzi kompresja właściwa, i w zależności od ustawionego bitrate i waszego sprzętu może potrwać nawet około godziny, dwóch w przypadku filmów 15 minutowych. Proces ten będzie zżerał sporo zasobów z proca, więc granie w tym samym momencie odpada – da radę natomiast przeglądać net czy oglądać film ;) Po kompresji filmu polecam obejrzeć go w celu stwierdzenia, czy wszystko gra. Miałem kilka razy przypadek, że przy nagrywaniu w trybie 100FPS doszło do dziwnej desynchronizacji filmu. Po około godzinie obrabiania i 2 godzinach kompresji byłem tym faktem lekko…zirytowany, ale zastanawiający był fakt, że gdy odtwarzanie doszło do końca (łącznie ze ścieżką dźwiękową), to obraz odgrywał się dalej. Ryzykując wrzuciłem na Youtube (~8 godzin uploadu) i tam okazało się, że gra normalnie. Nie mam pojęcia o co chodzi, ale jeśli też ci się to przydarzy, to kierując się moim przykładem sprawdź najpierw, czy film po jego „skończeniu się” dalej odtwarza obraz. Jeśli tak, wrzucaj na YT – powinno być wszystko ok.

Upload na Youtube

Rzecz niezbędna na początek, to oczywiście konto na Youtube. Jeśli mamy założoną skrzynkę pocztową w Gmailu, to możemy założyć konto w oparciu o nią – zaoszczędzi to formalności (nick na YT sobie wybierzecie – nie będzie taki sam jak nazwa konta na gmail) . Po założeniu konta klikamy w „prześlij film”. Tam, z prawej strony ekranu widzimy opcję „Zaawansowane przesyłanie filmu video”(strzałka, screen nr.5), i bez wahania ją wybieramy. Opcja ta pozwala nam bowiem na wznowienie uploadu jeśli w którymś momencie zostanie przerwany, co też zresztą mi się przytrafiło przy przesyłaniu standardową metodą. Po 6 godzinach uploadu (pozostała 1) straciłem połączenie na 30 sekund i tym sposobem dowiedziałem się, ile tak naprawdę znam bluzgów ;) Inną zaletą „zaawansowanego” jest to, że można wysyłać pliki ważące więcej niż 2GB. Podczas gdy film się przesyła możemy wypełnić pola opisujące nasz film, lub, jeśli ma to być film tylko dla ciebie lub/i znajomych zaznaczyć jedynie opcję „niepubliczny”. Upload dużych plików lepiej zostawiać sobie na czas spania – dla porównania, przy moim uploadzie 1mb wysłanie na YT pliku ważącego 2gb trwa około 8 godzin. Przy okazji uploadu, warto też wspomnieć o ostrzeżeniach widywanych na innych forach – otóż wg plotek (mnie to nie spotkało i nie miałem czasu/chęci sprawdzać), jeśli nagramy równo 15 minutowy film w FPS innym, niż Youtubowy (czyli 29,97), to po kompresji przez YT długość będzie minimalnie większą – a to sprawi, że YT filmu nie przyjmie (i kilka godzin uploadu pójdzie się „walić”). Dlatego lepiej nagrywać filmy o czasie np. 14:58 – co też sam czynie. Nie wiem ile w tym prawdy, ale czujcie się ostrzeżeni ;)

I to właściwie wszystko – zdaję sobie sprawę, ile opcji jest dostępnych jeśli chodzi o kompresję, ustawienia etc, lecz opisałem jedynie jak robię to ja – a i tak zajęło sporo tekstu. Pominąłem też edycję filmu samą w sobie (czyli wrzucanie do niej własnych treści), bo to już trochę wyższa szkoła jazdy, której nie tykam ;). Efekty mojego nagrywania (w jakości 720p) możecie zobaczyć na kanale bloga, lub przykład pierwszy z brzegu, przy zastosowaniu powyższych instrukcji (pamiętajcie, żeby zmienić na HD po wejściu):

http://www.youtube.com/watch?v=Wgd8AzvowBA – film po kompresji z 20000 bitrate waży 1,06GB, kompresje trwały łącznie ~1,5h a upload na YT ~3 godziny. Brak synchronizacji w cutscenie na początku występuje oryginalnie w grze (brawa dla Lucasarts :p)

Psuedobibliografia, czyli lista znajdek które nauczyły mnie najwięcej:

http://forums.ddo.com/showthread.php?t=249197, http://www.wcreplays.com/forums/showthread.php?t=113891,

About these ads

Odpowiedzi: 8 to “Nagrywanie filmów z gier”

  1. v7v.pl powiedział/a

    Super poradnik… Dużo mi pomógł z kompresją wideo i audio

  2. Szmuggler powiedział/a

    Dzięki Skan za ten poradnik! Tego właśnie szukałem!

  3. barte$ powiedział/a

    udało mi się!! po 5 godz. pracy….. Xd

  4. Zielony powiedział/a

    A ja mam takie pytanie
    Złaczylem wszystkie filmy chce zobaczyc czy działa a tu tylko sciezka dzwiekowa co zrobic mam zeby działalo??

  5. Zielony powiedział/a

    I co sie stanie jesli zrobie tak z filmem 45minutowym ?

  6. Anonim powiedział/a

    Własnie tego szukałem kolo jesteś najlepszy

  7. Hollie Beldon powiedział/a

    You’ve made some really good points there. I looked on the web for more info about the
    issue and found most people will go along with your views
    on this web site.

  8. Louisa powiedział/a

    s compensation, unemployment and bankrupt history, as wrll as education, credential and employment
    verification. Visitt our deddicated website at People Finder USA and find detailed information and tips on how too
    find people in USA. If you failed to do this, you might geet the records of tthe
    wrong person.

Dodaj komentarz

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

WordPress.com Logo

Komentujesz korzystając z konta WordPress.com. Log Out / Zmień )

Twitter picture

Komentujesz korzystając z konta Twitter. Log Out / Zmień )

Facebook photo

Komentujesz korzystając z konta Facebook. Log Out / Zmień )

Google+ photo

Komentujesz korzystając z konta Google+. Log Out / Zmień )

Connecting to %s

 
Follow

Otrzymuj każdy nowy wpis na swoją skrzynkę e-mail.

Join 33 other followers

%d bloggers like this: