Od czasu pojawienia się pierwszego znanego filmu Clipquake wybuchła niemal epidemia. Każdy gracz, włącznie ze mną chciał zrobić swój własny film. Wbrew pozorom nie jest to wcale trudne, jedynie pracochłonne. Poniżej przedstawiam szczegółowe kroki postępowania przy produkcji z naciskiem na osiągnięcie jak najmniejszego pliku przy zadowalającej jakości.
Dema z q3 nie można bezpośrednio przekonwertować do pliku medialnego. Cała procedura polega na wybraniu odpowiednich klatek z dema, zapisaniu ich jako plików graficznych i połączeniu w film. Zacznijmy jednak od początku.
Najpierw musimy wiedzieć które klatki chcemy zrzucić do filmu, bo na pewno epizodów gdzie spadamy do lawy albo dostajemy centralnie rakietą nie chcemy filmować ... Przyda się w tym poniższy skrypt, który umieścimy w odrębnym configu i wyexec'ujmy go przed uruchomieniem dema:
set demfastf "timescale 2; bind rightarrow vstr demsuperff"
set demsuperff "timescale 10; bind rightarrow vstr demfastf"
set demslowmo "timescale 0.5; bind rightarrow vstr demfastf"
set dempause "timescale 0.3; bind rightarrow vstr demfastf"
set demnormal "timescale 1; bind rightarrow vstr demfastf"
timescale "1"
bind rightarrow "vstr demfastf"
bind uparrow "vstr demnormal"
bind downarrow "vstr dempause"
bind leftarrow "vstr demslowmo"
set startavi "cl_avidemo 25; bind kp_uparrow vstr stopavi"
set stopavi "cl_avidemo 0; bind kp_uparrow vstr startavi"
vstr stopavi
set r_mode "3"
set cg_drawfps "0"
set cg_fov "90"
//set cg_draw2d "0"
set cg_drawgun "0"
set s_initsound "0"
snd_restart
Przyjrzyjmy się po kolei liniom skryptu. Pierwsze 10 służy do przewijania dema. Możliwe jest to jedynie przy użyciu kursorów, ponieważ naciśnięcie innego klawisza w czasie odgrywania dema spowoduje wyjście do menu. Przewijanie jest wygodne, bo możemy zwolnić akcję (kursor w lewo i w dół), kiedy leci akurat jakaś wspaniała rakieta lub też przyspieszyć (w prawo i drugi raz w prawo jeszcze szybciej), kiedy nasza akcja do nagrania ma miejsce dopiero w 10-tej minucie dema. Następne trzy linie kontrolują nagrywanie przyszłego filmu, a konkretnie rozpoczęcie i zakończenie zrzucania klatek. Kiedy chcemy nagrać dany fragment naciskamy kursor w górę na klawiaturze numerycznej i naciskamy go ponownie, kiedy chcemy zatrzymać nagrywanie.Rozpocznie się wtedy proces zrzucania klatek dema do 1MB`owych plików TGA, do katalogu screenshots. Demo przy tej operacji zwolni do kilku fps na sekundę, ale jest to normalne, ponieważ dysk nie nadąży z zapisywaniem tak dużej ilości plików (oczywiście trzeba postarać się o sporo wolnego miesjca na dysku). Dlatego w czasie nagrywania trzeba zoptymalizować system, czyli wyłączyć niepotrzebne programy i ustawić grafikę q3 na jak największą wydajność. Ostatnie linie skryptu właśnie pomagają ją osiągnąć - r_mode 3 ustawia rozdzielczość 640*480, a nawet polecałbym r_mode 2 jako 512x384. Nie chodzi tutaj zasadniczo o wydajność, ale w wyższych rozdzielczościach modele na przyszłym filmie będą za małe i nie będzie widać dobrze akcji. Podobny cel ma domyślny fov, równy 90 stopni, jeśli ktoś gra na większym oraz wyłączenie zasłaniającej widok broni (oczywiście autor filmu może mieć inną koncepcję jeśli chodzi o fov i drawgun). Opcja cg_draw2d, stojąca w skrypcie jako komentarz pozwala wyłączyć liczniki healtha i inne elementy na ekranie (nie zawsze tego chcemy). Ostatnie dwie linie wyłączają dźwięk, ponieważ dźwięku nie da się zapisać do plików TGA, a w głośnikach w czasie nagrywania będzie słychać tylko rzężenie.
Bliżej trzeba się przyjrzeć komendzie cl_avidemo, a ściślej jej wartości. Skrypt zawiera wartość w miarę optymalną, ale najlepiej jest dobrać ją eksperymentalnie zależnie od wymagań jakościowych, wielkości przyszłego pliku oraz możliwości sprzętowych. Wartość 25 oznacza, że w czasie nagrywania będzie zrzucanych 25 klatek na sekundę, czyli 25 plików TGA, czyli 25MB miejsca na dysku na sekundę! Za to jakość, a raczej płynność przyszłego filmu (pomijając kompresję) będzie bardzo dobra, największą wartość avidemo jaką się stosuje jest 30. Przy wartości cl_avidemo 5 klatek będzie po prostu za mało, żeby zachować płynność obrazu. Jeśli nasz komputer nie daje rady, lub mamy za mało miejsca to trzeba tę wartość zmniejszyć, jednak konieczne jest dobranie jej metodą prób i błędów. Trzeba też jeszcze zauważyć, że wartość cl_avidemo ma oprócz płynności filmu wpływ jeszcze na jego szybkość i długość. Im większa tym film wolniejszy i dłuższy, im mniejsza to film szybszy i krótszy i oczywiście wielkość pliku mniejsza. Wskutek tych wzajemnych zależności nie można podać optymalnej wartości cl_avidemo, jednak 25, przy dobrej klasy sprzęcie na początek jest dobre. Jeśli chcemy użyć innej wartości to pamiętajmy, że trzeba ją wpisać w powyższy skrypt w linii 11.
Mamy już więc sporą ilość plików TGA. Teraz zostaje już tylko połączyć je w film. Użyjemy do tego celu niewielkiego, 50-kB'owego programiku, który można ściągnąć z naszego serwisu:
pjBmp2Avi.
Obsługa jego jest banalna. Wskazujemy na katalog screenshots, pole Input Name zostawiamy puste, zaznaczamy TGA i wybieramy nazwę dla pliku. Key Rate zostawmy na poziomie 1. Frame Rate powinno być równe wartości cl_avidemo. Jeśli będzie się znacznie różnić od niej, to film będzie rozsynchronizowany, np. przy cl_avidemo 10 i FR 5 film będzie bardzo wolny, a przy FR 15 zbyt szybki w stosunku do tego co zrzucaliśmy. Po połączeniu klatek nie będziemy mogli dodawać już nowych, czyli np. początkowych klatek z napisami. Trzeba zrobić takie klatki wcześniej, np. w Photoshopie, zapisać jako jednowarstwowe TGA i nadać nazwę alfabetycznie niższą od shot0000 (pjBmp łączy pliki w kolejności alfabetycznej). Lepiej jednak takie efekty wykonywać w Premiere lub Media Studio.
Kiedy wciśniemy już Create wyskoczy nam okienko z pytaniem o wybór kodeka dla filmu. Z dostępnych obecnie kodeków tylko 2 są na tyle dobre żeby się nimi zajmować, oczywiście jeśli zależy nam na rozsądnych rozmiarach pliku - Microsoft MPEG4 (format asf) i DivX MPEG4 (lub jego klony - Xvid czy 3vix).
Zalecam jednak najpierw zapisywanie filmu w miarę nieskompresowanego, dlatego najpierw wybierzemy kodek Microsoft Video 1. Dlaczego - film będziemy prawdopodobnie łączyć z innymi przy użyciu Premiere i później dopiero kompresować całość. Poza tym Premiere lepiej pracuje na prostszym formacie MPEG2 niż MPEG4.
Jeśli chodzi o kompresję finalną mamy do wyboru dwie drogi. Pierwsza, której zasadniczo nie polecam ze względu na niską jakość to konwersja do asf. Jest to jednak najlepsza droga do otrzymania bardzo małego pliku. Do tego celu będzie potrzebny jeszcze jeden śmieszny w obsłudze program - On-Demand Producer. Ściągniemy go również od nas: On-Demand Producer.
Po uruchomieniu otwieramy nasz film i klikamy czerwony guzik po prawej stronie. Zostawiamy pole Encode Current File i klikamy Dalej. Teraz tylko będziemy musieli wybrać jakość kompresji. Interesują nasz oczywiście tylko template`y, które mają w nazwie Video i trzeba o nich wiedzieć tyle, że im więcej kb czy Mb w nazwie tym lepsza jakość i słabsza kompresja. Tak więc znów odpowiedni Template trzeba dobrać eksperymentalnie. Zadowalająca jakość jest dopiero na poziomie 1Mb, ale rozmiar pliku będzie już dość duży jak na asf.
Druga droga kompresji to najlepszy kompromis między jakością filmu a wielkością pliku. DivX przy odpowiednich ustawieniach pozwala osiagnąć dobrą jakość filmu przy wielkości pliku wraz z audio mp3 około 8MB za minutę. Asf 1Mb przy zdecydowanie gorszej jakości osiąga zbliżone wielkości pliku, a nawet większe. Kodek DivX aktualnie w wersji 5.02 ściągniemy od nas - DivX 5.02. Po zainstalowaniu w oknie pjBmp2Avi pojawi się nowy kodek DivX Codec 5.02. Kompresji do avi z użyciem DivX'a dokonamy jednak w bardzo dobrym i co ciekawe darmowym programie do obróbki technicznej filmów -
Virtual Dub. PjBmp2Avi powinien służyć jedynie do połączenia klatek w mało skompresowany film i więcej nie powinniśmy się nim zajmować.
Kiedy otworzymy nasz nieskompresowany film w VirtualDubie zobaczymy dwa panele - z lewej input, czyli oryginalny film, z prawej output, czyli film po wprowadzonych przez nas zmianach. Wprowadzone zmiany będzie mogli obserwować od razu właśnie w panelu output, jednak nie są one zapisywane i w przypadku zawieszenia się programu będziemy musieli obrabiać film od nowa. Zapisywanie trwa długo, ponieważ tworzony jest nowy film z oryginalnego. Żeby zapisać wybieramy z menu polecenie Save As Avi (F7). Jakie zmiany możemy wprowadzić do filmu? Spore, choć nie jest to program do wprowadzania efektów specjalnych. Kilka najważniejszych wymieniam poniżej:
- Kompresja wideo z użyciem DivX. Z menu Video wybieramy Compression i wybieramy kodek o nazwie DivX 5.02 Codec. Najlepszy współczynnik kompresja/jakość osiagniemy stosując kompresję dwupasmową. Wybieramy w tym celu najpierw 2-pass, first pass. Ilość kilobitów/sekundę jest dyskusyjna. Proponuję na początek około 800 (teoretycznie im większy kbits/sec tym słabsza kompresja i wyższa jakość). O key frame interval trzeba wiedzieć tyle, że jeśli będzie za duży, to wystąpią później problemy z ręcznym przewijaniem filmu. Im większy interval to w zamian wielkość pliku będzie nieco mniejsza. Na początek pozostawmy 300. Resztę parametrów zostawmy przy wartościach domyślnych. Klikamy OK, wybieramy Save As Avi, ale w oknie wyboru nazwy pliku zaznaczmy Add Operation To Job List. Teraz powtórnie wróćmy do okna konfiguracji DivX`a. Wybierzmy 2pass, second pass. Klikamy OK i powtórnie Save As Avi i znowu zaznaczamy Add To Job List. Następnie klikamy F4 oraz start. Po chwili mamy gotowy skopresowany film DivX!
- Kompresja audio z użyciem mp3. Kiedy mamy już film możemy wstawić do niego ścieżkę dźwiękową w postaci pliku wav. Jeśli ma to być kawałek z mp3, to otwórzmy Winampa, w oknie Preferences i Plugins wybierzmy plugin Disk Writer i puśćmy kawałek. Spowoduje to dekompresję pliku mp3 do wav, który później możemy obrobić w CoolEdit czy GoldWave. Długość pliku wav powinna być równa długości filmu. Kiedy mamy już wav, zaznaczamy w menu Audio WAV Audio. Pojawi się okno wyboru pliku. Zaznaczamy następnie Full Processing Mode oraz klikamy Compression. Zaznaczymy MPEG Layer3. Zalecam 44kHz stereo, 128kbits (jeśli w oknie nie ma kodeka mp3 zalecam zainstalować NimoPack. Po zatwierdzeniu możemy już odsłuchać nasz wav w filmie, klikając Play Output, pamiętając jednak, że nie został on jeszcze zapisany do pliku (Save As Avi). Kompresji audio należy dokonać równocześnie z kompresją wideo - czyli ustawić DivX`a, ustawić mp3 i dopiero zapisywać do Job List lub Save as avi.
- Zmiana rozdzielczości filmu. Domyślnie z plików TGA powstaje film w rozdzielczości równej rozdzielczości pliku, czyli równej też rozdzielczości ekranu w q3 podczas zrzucania klatek. Mimo, że Windows Media Player i tak zawsze odtwarza go w małym oknie, możemy się przekonać, że po naciśnięciu alt+enter nie nastąpi utrata jakości w trybie pełnoekranowym. Kosztem tak wysokiej rozdzielczości jest oczywiście dużo większy plik. Wspomniane wyżej 8MB za minutę filmu otrzymamy przy rozdzielczości 512*384, a jeszcze mniejszy plik przy 320*240. Z menu video wybieramy Filters, klikamy Add, wybieramy resize, wpisujemy rozdzielczość, klikamy ok. Niestety ewentualne klatki z napisami mogą ulec wtedy dość wyraźnemu zniekształceniu.
- Napisy do filmu. Możemy przy pomocy filtru Subtitler stworzyć własne napisy, które będą się pojawiały w określonym czasie. Filtr nie jest jednak domyślny i trzeba go ściągnąć ze strony domowej VirtualDub. Napisy będziemy musieli zrobić w innym darmowym programie - SubStation Alpha - http://www.eswat.demon.co.uk . Kiedy napisy będą gotowe zapisujemy je jako plik ssa, który następnie otwieramy we wspomnianym filtrze Subtitler i od razu po kliknięciu Play Output możemy je oglądać.
- Logo do filmu - podobne do tych jakie mają stacje telewizyjne w rogu ekranu. Może być nawet animowane. Służy do tego kolejny filtr o nazwie Logo, ale również nie jest domyślny i trzeba go ściągnąć ze strony.
- Wiele innych domyślnych filtrów, a także wygodne usuwanie pojedynczych klatek z filmu.
Bardziej zaawansowaną edycję gotowego filmu umożliwiają dopiero specjalistyczne programy, z których najpopularniejsze są Ulead Media Studio Pro oraz Adobe Premiere. Oba są trudne w obsłudze, ale za to umożliwiają wprowadzenie do filmu tekstu na dowolnej klatce (nie napisu, jak w Subtitler z VirtualDub) oraz oferują ogromną ilość efektów specjalnych. W tych programach można również dokonać finalnej kompresji audio i wideo, ale nie są one do tego przystosowane, stąd zaleca się stosować VirtualDub.
Tak wygląda z grubsza droga od dema q3 do filmu avi.
Pozostaje mi tylko życzyć sukcesów w nowym, jakże ciekawym zawodzie ...
rkniunia | 2003-02-24 16:14:05
eeeee wszyscy mi mowia ze to jest latwe(robienie filmiku) ale jak przeczytalem to wszystko to wydaje mi sie ze jest to trudne jak zycie z teściową :P
#635010
kissiel | 2003-06-01 06:45:38
qrde a co jesli mam demko w cpma? NIe wiem ale jakos nie chce mi za chiny przyporzadkowac klawiszy np. startavi do up_arrow tylko musze wpisywac recznie w konsoli...
#643361
kissiel | 2003-06-01 08:31:18
no qrde w osp tez za cholere nagrac nic nie mozna! :[
#643363
kleszczu | 2003-07-04 14:54:31
fajne byłoby jakbyście zrobili tak jak na tej stronce www.austrix.net/howtomovie/howtomovie-step1.html
tylko że po polsku to bylo by GITES!!!!!!!!!!!!!!!!!!
#646295
cd.bloody | 2003-08-07 18:36:44
hihihi... spoks artykul
#649441
SixCo | 2003-10-01 09:11:47
Jush sie zabieram za krecenie :)
#655290
Taurus | 2003-12-06 16:49:59
a mozna nakręcic z demek cpma?
#663509
Taurus | 2003-12-07 12:13:17
ej Rozz wytłumacz w tym artykule wszystko.Czy można robic film z dem z cpma?.A jak można, to jak?
bo ten sposób który opisałeś niedziala na demach z cpma.:)))
#663601
BehEmoT | 2003-12-15 11:23:41
Yo Rozz, pisałem że nie mogę zrobić nawet screenshota, ale config mam wporządku.
Czarny dokument widze a nie screenshota, czemu?
#664679
BehEmoT | 2003-12-16 09:08:33
Mała poprawka.
Jeśli kiedykolwiek ktoś z was będzie miał problem taki sam jak mój (poniżej) to to jest już definitywnie wina systemu (konkretnie sterów od grafiki).
#664968
XariS | 2004-01-17 07:25:42
Mam pytanko; nie wie moze ktos skad sciagnac jakies konfigi do obracania, oddalania kamery, (ten na orgu ktory sie znajduje nie odpowiada mi) jesli ktos wie to bardzo prosze niech umiesci linka do tego lub skontaktuje sie ze mna ! :D
#669295
sWr | 2004-03-04 10:26:25
qrcze to na początku mam wy,exec,ować ??
a jak moge zmienic kamere podczas krecenia dem??
6329824
#674784
sWr | 2004-03-04 10:28:29
Jak sie posługiwać Adobe Premiere 6.0 ?
rozkminiam to już z tydzien i nic nie potrafie :P
#674785
EndrYou | 2004-03-09 20:54:27
ludzie, mam pare problemow, otórz probuje skompresowac filmik w virtualdubie ale nie mam mozliwosci skorzystania z divx. Nie ma go tam. sa inne mpeg-4 itp. Co mam zrobic? help
#675314
marcosx | 2004-03-17 08:48:10
Mam pewien problem z nakręceniem filmu. Dokładniej chodzi o nagrywanie dem z punktu widzeniea spectatora, tak aby kamera obserwowała całą akcje, lub poruszałą sie niezależnie od niej tak jak na filmah "Anahilation" lub "fur1". Jeżeli ktoś ma jakiś wiadomości na ten temat niech da linka do jakijś strony lub może jakąś małą instrukcje......
#675967
puma125 | 2004-05-29 20:28:24
Właśnie zrobiłem film, wielkie THX za ten artykuł, jak coś to służę pomocą teoretyczną innym "reżyserom":D
#666482
Cepik | 2004-06-10 11:51:15
dobry artykuł
#637990
[B]oo[B] | 2005-03-27 10:41:15
No dobra zrobiłem demko przerobiłem na klatki i program pjBmp2Avi nie skleja go w całość czy jest ktoś kto by mi mógł pomóc bardzo był bym wdzięczny POZDRO!!! ;)
#711566
VAD | 2006-07-02 22:57:59
Żyję żyję, cieszę się że mapa się podoba. Nie gadałem nic wcześniej bo miałem troche ważnych rzeczy na głowie i nie miałem czasu.
#733716
IMWint | 2006-07-03 17:46:01
ludzie...powiedzcie mi skąd ja mam wziąśc dźwięk do tego???
#733715
Zaloguj się by dodać komentarz.