Jak rozpocząć naukę edycji video w Blenderze i nie uciec z krzykiem po dwóch minutach.

To nie będzie tutorial, a raczej opis efektów mojego kilkudniowego podejścia do blendera jako narzędzia obróbki video. Na co dzień na domowym komputerze hula Linux i – pomijając okazyjne wypady na Steama, do którego pingwiniej wersji nie mam motywacji zaglądać – przełączanie się na windowsa, na którym rezyduje Movie Studio, chciałem ograniczyć do minimum. Drugą przyczyną, dla której zacząłem interesować się przesiadką, jest to, że od jakiegoś czasu – z dużymi przerwami, oczywiście – chodzi za mną kwestia nauki blendera jako prawie-wszystkomającego softu do 3D, w którym chciałbym się wreszcie trochę podciągnąć, pomimo nienadrabialnych w zasadzie braków warsztatowych i zdolnościowych. Nie mówiąc o tym, że dziełka jak poniższe, w zasadzie mimochodem wplatające FX, a stworzone przez szesnastolatka, wyrwały mnie z butów. A ja też chciałbym wyrywać kogoś z butów.

Bottom line: żeby się przynajmniej nie rozjeżdżało. Proszę.

W poprzednim podejściu odpadłem na samiutkim początku; najbanalniej w świecie w jedynym zaimportowanym klipie rozjechała mi się wizja z fonią.

Co by nie mówić, zamknięty software [Movie Studio] potrafi rozleniwić, ogłupić – albo, w zależności od punktu widzenia, pewne sprawy mieć dopracowane. Albo ja byłem natenczas dramatycznie krótki na zagadnienie – dość powiedzieć, że winę za ów rozjazd ponosiła ręczna konieczność ustawienia fps-ów dla projektu, co MS robiło samoistnie. Teraz albo wiem więcej, albo miałem więcej determinacji – dość, że po imporcie pliku AVCHD [50 fps] i przestawieniu we właściwościach projektu na owe 50 fps z wcześniejszych 25 fps ścieżka audio i video wyrównały się.

Przynajmniej w przybliżeniu. Ścieżce video brakowało jednej ramki [wiem, że dźwięk liczy się w sekundach, nie w ramkach; piszę o liczbie podanej we właściwościach ścieżki]. A mnie zaczęła ogarniać zimna furia – skoro jednej klatki, czyli ułamka sekundy, brakuje na piętnastosekundowym ujęciu, to dalsze próby z dłuższym materiałem do czasu wyjaśnienia tej sprawy nie mają sensu. Pomocna, gadająca dłoń na Polskim Kursie Blendera zasugerowała mi aktualizację do najnowszej wersji [ubuntowe repo nie grzeszy aktualnością]. Yeah! Miłe skutki uboczne; nie dość, że pobrana 2.77 automagicznie określa fps projektu na podstawie pierwszego importowanego pliku, to jeszcze całkiem mimochodem okazało się, że problem z brakującą jedną klatką zniknął. Co ciekawe, jak pokazały testy w tzw. międzyczasie, podczas importu MP4 problem nie występował. Na fali entuzjazmu wyrenderowałem sobie coś ze wspomnianego AVCHD 50 fps i postanowiłem dokleić MP4, kręcone w 25fps.

Jest dobrze, ale nie fatalnie.

To jest to miejsce, w którym wyszedł kolejny mój brak wiedzy, a przynajmniej złe założenie. W Movie Studio mogę dodawać do projektu pliki filmowe kręcone dowolnym klatkażem, 50 czy 25 fps nie robi różnicy [a w ferworze naszego jednoosobowego Hollywoodu niekiedy można zwyczajnie zapomnieć o synchronizacji ustawień pomiędzy komórką i lustrzanką]. Klatkaż jest bez znaczenia, MS potrafi zinterpolować odpowiednio ujęcia z innym fps, niż określony dla projektu – dla „filmowej” maniery 25fps ujęcia AVCHD 50 fps zostaną w tle skonwertowane. I odwrotnie.

Blender tego nie potrafi. I patrząc wstecz, to kosztowało mnie najwięcej czasu i potu. Klip 25 fps zestawiony obok 50 fps jest w blenderze nieustawialny; któryś z nich musi zostać zdesychronizowany, a za tym idzie nie tylko arbitralna długość klipu w edytorze, ale również rozjazd z dźwiękiem. Innymi słowy, w gołym blenderze zestawienie klipów o różnej wartości fps jest nieużywalne. No ale przecież ludzie w tym montują filmy…

memset(fullFilename, 0, PATH_MAX*sizeof(char));

Blender NIE OFERUJE motion interpolation i już. Aha. Szukamy konwertera.

Pierwsze znalezisko – AviSynth. Pudło, nie znalazłem wersji linuksianej. Starłem krew z twarzy i szukam dalej. Znalezisko #2 – avxsynth. Nie jest źle.

Skądś znalazłem binarkę, odpalam onelinera – Version() działa. Jesteśmy w domu. Kolejny oneliner otwierający MTSa – działa. W przedpokoju wycieram buty. Dla formalności otwieram MP4.

Napisałem „otwieram”? No nie wierzę. Guzik, nie otwieram. Guglu gulgu, wypluj ciurkiem, jak otworzyć empeczwórkę? Gugiel na to: „Miast gardłować, całość trza zrekompilować”.

Kompilajca [litrówka mi się wymsknęła – „kompilajca” zamiast „kompilacja”. Zostawię to, jak napisałem, bo „kompilajca” lepiej rymuje się z „jajca”… ale nie uprzedzajmy faktów]… Kompilacja avxsynth składa się z trzech części. FFmpeg, ffms2 i podmiotu na końcu. FFmpeg przechodzi bezszmerowo. ffms2 ogłasza bunt na pokładzie, gdzieś tam chce -fPIC. Paradne, powiadam. Pierwszy i ostatni jak dotychczas kawałek kodu w C popełniłem jakieś 10 lat temu. Recepta wuja G. jest banalna – a weź i dopisz [tu jakieś dwie opcje linkera]. Próbuję dopisywać w losowych miejscach. Nie działa.

I tak upłynął wieczór i poranek, dzień pierwszy.

Kończą mi się pomysły na śródtytuły.

Mija następny dzień. Wciąż [tu jakieś dwie opcje linkera] próbuję wpisać do makefile/configure. Gdyby dało to jakiś efekt, w tym miejscu bym to opisał.

Nie opiszę.

Wyzuty z wszelkich nadziei na sukces znajduję przy innym zagadnieniu receptę, polegającą na dopisaniu do configure parametry –enable-shared. To ogarniam. Build ffms2 przechodzi gładko, level completed.

Naprawdę już jestem w domu, płaszcz wieszam w korytarzu.

W tym momencie właściciel domu zwanego blender wypuszcza na mnie rozeźlonego rotweilera.

Kompilacja avxsynth wypieprza się widowiskowo i bez wątpienia.

Weny na śródtytuły wciąż brak.

Po upływie następnych parunastu godzin sięgam enty raz po gugla. Tylko po to, by w którymś linku znaleźć informację, że avxsynth jest „dead” i że jego następcą jest vapoursynth. Kompilacja przebiega z grubsza podobnie, jak poprzednie, szczęściem znajduję o dziwo [a tak z zupełnie innej beczki – czy „o dziwo” to przypadkiem nie wołacz?] gdzieś binarki.

Elementy suspensu w tej notce chyba już mi się również wyczerpały. Próbny skrypt w pythonie, wykorzystujący ów vapoursynth… nie działa, nie mogąc znaleźć biblioteki, do wykonywalnej binarki której ‚which’ znajduje drogę bezproblemowo. Pieprzę ten interes, nie będę poświęcał kolejnego kwartału na wymuszoną naukę ld/ldconfig i budowy pakietów pod debianopodobnymi. To, co nakręciłem, przemontuję pod Movie Studio, a na przyszłość o prawidłowym klatkażu trzeba będzie zwyczajnie pamiętać i już.

Wtem nagle!

O zielenieniu trawy.

Na ochnastej stronie gugla, nie wzmiankowany niemal przez wspomniany PKB, leży sobie link do Blender Velvets. Obiecuje w zasadzie dokładnie to, czego szukam, i całą masę innych rzeczy. Entuzjazmu z wiekiem chyba niestety coraz mniej, bo ograniczam się do ściągnięcia ZIPa i idę spać. A co gorsza, w sobotni poranek nie zrywam się o szóstej rano i nie kontynuuję analizy. Robię, co muszę, i parę minut po południu siadam i rozpakowuję, doklikując parę opcji w blenderze, bo do tego sprowadza się instalacja.

velvet_revolver03Unfriggingbelievable, jak mawiają bracia Czesi. Velvet Revolver robi dokładnie to, do czego został napisany, milknę w oszołomieniu. Mój testowy projekt ze zmiksowanymi ujęciami 25 i 50 fps renderuje się wreszcie tak, jak należy. Z początku co prawda lekkim stresem napawa mnie rozdzielczość wynikowego pliku, ale szybko to naprawiam. Całkiem na marginesie rozwiewam również kolejną niewypowiedzianą obawę o workflow – jak w praktyce z ochnastu pierdylionów ujęć wyłowić tylko te o określonym klatkażu i zmienić je na pożądany wynikowy? Jak widać na załączonym obrazku, Revoler poradzi sobie i z tym, wystarczy każdy fps umieścić w oddzielnym folderze.

Skłamałbym, pisząc w tym miejscu, że Tarantino może zacząć czuć się niepewnie. Skłamałbym choćby dlatego, że klawiszologia blendera zdecydowanie nie jest czymś, co biały mężczyzna może przyswoić sobie lekko, łatwo i przyjemnie. Nie da się i już. Nie jest to jednak wielkim problemem, bo przyda się ona do pozostałych opcji w programie, a jeśli Wam również chodzą po głowie efekty specjalne i wyrywanie znajomych z butów, znajomość pozostałych ficzerów blendera może okazać się nieoceniona.

Tak więc – pierwsza bitwa wygrana, wojna toczy się dalej. Przeciwnik wybrany – zamknięty soft odrzucamy z przyczyn ideologicznych. Na placu boju z narzędzi godnych uwagi zostaje tylko cinelerra, ale i ona nie wytrzymuje konfrontacji. Jej buildy na ubuncianych są dramatycznie niestabilne, moja kopia potrzebowała do wywałki jakieś półtorej minuty. A po drugie – zbliżony czas nauki daje znacznie większy efekt w przypadku oprogramowania dysponującego znacznie większą ilością funkcji. Cinelerra [abstrahując od jej możliwości edycji video, których z racji poprzedniego punktu nie udało mi się poznać] jest tylko edytorem video.

Nic, tylko siadać do nauki. Życzcie mi wytrwałości.

One thought on “Jak rozpocząć naukę edycji video w Blenderze i nie uciec z krzykiem po dwóch minutach.

  1. Nie chcę być niegrzeczny, ale marudzisz, Waść, okrutnie. Zaprawdę zaprawdę powiadam Ci, ciesz się, bo Ty masz przynajmniej do dyspozycji jakikolwiek soft. Do tego, czego ja potrzebuję, tj. prowadzenia/liczenia zawodów brydżowych softu na platformę inną niż Windows po prostu nie ma. *Nie ma*. No nic, trzeba zakasać rękawy i napisać. Samo się nie zrobi. 😉

    Lubię to

Skomentuj

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

Logo WordPress.com

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

Zdjęcie z Twittera

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

Facebook photo

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

Google+ photo

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

Connecting to %s