Batch render – hurtowy rendering w Sony Vegas Pro
Czasem podczas pracy z materiałem wideo zdarzają się nam sytuacje, gdzie ręczna praca i klikanie po ekranie za bardzo się nie sprawdza, choćby z powodu czasu, jaki musielibyśmy na to poświęcić. W takich sytuacjach nieocenioną pomoc niosą skrypty, automatyzujące pracę programu.
Vegasowe skrypty nie są zbyt popularne, mało który z początkujących użytkowników w ogóle wie o ich istnieniu. Na krótkim przykładzie przedstawię, jak za pomocą dwóch skryptów wykorzystać Vegasa Pro do hurtowego przekodowania materiału wideo.
Powiedzmy, że komputer niezbyt dobrze sobie radzi z obróbką plików AVCHD z naszej nowej kamery. Owszem, możemy go wciągnąć na Timeline, ale płynna praca jest niemożliwa. Obraz się "tnie", wszystko chodzi wolno jak żółw. Co wtedy robić? Można oczywiście rozbudować komputer, ale prostszym i zwykle wystarczającym zabiegiem jest przekodowanie materiału wideo do "lżejszego" niż AVCHD formatu wideo. Oczywiście można użyć któregoś z wielu programów do konwersji, my jednak użyjemy do naszego Vegasa. Może nie jest on mistrzem świata w jakości kodowania, są też oczywiście specjalizowane programy służące temu celowi, ale w większości przypadków naprawdę to, co oferuje ten program nam wystarczy aż nadto.
Coż więc prostszego! Wciągamy więc taki klip wideo na Timeline, zaznaczamy i renderujemy do wybranego przez nas formatu. Voilà! I potem następny, następny, następny... A jeśli tych plików będzie np. 100? Uciążliwe prawda? To zrobimy to trochę inaczej i zaprzęgniemy do pracy automat.
1) Ustawiamy nasz projekt identycznie jak format plików wejściowych. Najlepiej skorzystać w tym celu z funkcji Match Media Settings (menu File -> Properties)
2) Wyłączamy opcję Automatic Crossfades
3) Zaznaczamy wszystkie klipy wideo które chcemy poddać konwersji i przeciągamy go na oś czasu. Klipy poukładają się na ścieżce jeden za drugim. Nie przejmujcie się, jeśli będą między nimi dziury, bo np. usunęliśmy któryś z plików.
4) By móc hurtowo renderować pliki, musimy najpierw utworzyć regiony (Uwaga, to nie jedyne zastosowanie regionów, polecam lekturę manuala!). W tym wypadku (hurtowego transkodowania) przyjmiemy zasadę:
jeden plik wejściowy = jeden region = jeden plik wyjściowy.
Klikamy dwukrotnie na klipie tak, by pojawił się u góry granatowy pasek, tzw. Loop region,
a następnie naciskamy klawisz „R”. W ten sposób utworzymy region o długości naszego klipu wideo.
Trzeba nadać mu jakąś nazwę. Oczywiście musielibyśmy w ten sposób utworzyć regiony dla wszystkich klipów (event’ów), co jak wspomniałem, jest uciążliwe. Do tego każdy region musi mieć unikalną nazwę!
Vegas niestety nie oferuje narzędzia do hurtwoego tworzenia regionów. Użyjemy więc skryptu, który zrobi to za nas. Z repozytorium plików, z działu Vegas – dodatki (albo po prostu klikając na link...), pobierzcie proszę plik Create_Regions_From_Event_File_Names.zip. W pliku tym znajduje się skrypt autorstwa Johna Mayera Create_Regions_From_Event_File_Names.js który należy skopiować do podkatalogu Script Menu
Wchodzi teraz do menu Tools -> Scripting i powinniśmy tam zobaczyć nasz skrypt. Gdyby go nie było, należy użyć funkcji Rescan Script Menu Folder.
Skoro nasz skrypt jest już widoczny, to ostatnią czynnością jaka nam została do wykonania jest jego uruchomienie. Jeśli wszystko do tej pory zrobiliśmy poprawnie, skrypt utworzy regiony dla wszystkich event'ów na osi czasu.
Skoro mamy już regiony, to uruchamiamy kolejny skrypt, tym razem „firmowy” skrypt instalowany domyślnie wraz z programem, czyli oczywiście Batch render.
Tu widać najfajniejszą rzecz związaną z używaniem skryptów: wykonanie za nas wielu czynności. W tym wypadku możemy zaznaczyć jednocześnie parę formatów wyjściowych, np. AVI, MOV i SONY AVC, do tego równocześnie (no prawie...) np. dźwięk jako WAV. Wybieramy właściwy preset w danej kategorii, zaznaczamy koniecznie „Render Regions”, naciskamy OK, po czym udajemy się na dłuższy spacer, do koleżanki albo wybieramy inne przyjemne zajęcie. Po powrocie zastaniemy wyrenderowane przez nas pliki.
Uwaga: przedstawione na ilustracji zaznaczenie PAL DV Widescreen to tylko przykład!
Można to wykorzystać np. do utworzenia plików „miniatur”, tzw. proxy niskiej rozdzielczości, na których prowadzimy wstępny montaż, a przed ostatecznym renderingiem podmienimy na pliki pełnej rozdzielczości. Można też jednocześnie przygotowawać formaty dla różnych mediów - jeden dla DVD, inne dla Blu-Ray, inne dla YouTube...
Na koniec parę uwag:
1) Koniecznie sprawdźcie, czy na dysku jest wystarczająca ilość miejsca na nasze rendery, pliki tymczasowe itd. Szczególnie, kiedy zaznaczamy parę rodzajów docelowych formatów.
2) Skryptu Batch Render będziemy zwykle używać do powtarzalnych czynności, przykładowo do konwersji filmów ze swojej kamery. Presety widoczne w oknie skryptu to wszystkie presety dostępne normalne w oknie Renders as..., także te utworzone przez użytkownika (Custom presets). Warto więc najpierw na pojedynczym pliku przetestować wszystkie ustawienia i ewentualnie utworzyć swój szablon, by uniknąć później przykrych niespodzianek.
3) Wsadowego renderingu możemy użyć do każdego event’u znajdującego się na osi czasu, także do mediów generowanych. Możemy też „hurtowo” wyrenderować pliki audio. Wszystko zależy od Waszej pomysłowości oraz oczywiście – potrzeb.
4) Żadna nazwa regionu nie może się powtórzyć – w przeciwnym wypadku skrypt zatrzyma się z komunikatem błędu! Wszystkie konwertowane klipy (event'y) musza znajdować się na tej samej ścieżce!
5) Skrypt Batch Render tworzy pliki o niezbyt ładnych nazwach. Jeśli jako bazową nazwę pliku podaliśmy FILM a wybranym presetem jest AVI w formacie PAL Wide, to skrypt będzie tworzył pliki o nazwie w stylu FILM_Video for Windows_PAL DV Widescreen[1].avi z kolejnymi numerami. Nie jest to zbyt wygodne, szczególnie, gdy chcemy utworzyć pliki proxy o nazwie bazowej identycznej z plikami o pełnej rozdzielczości.
W repozytorium plików umieściłem zmodyfikowany skrypt Batch Render. Pobierz plik Batch-Render-nazwy.zip, rozpakuj go i umieść zawarty w nim skrypt w katalogu Script Menu, podobnie jak poprzedni skrypt.
Zmodyfikowany skrypt tworzy pliki o nazwach zgodnych z nazwą regionu. Jeśli więc dodaliśmy np. pliki 0021.mts, 0022.mts itd. to pierwszy z użytych przez nas skryptów utworzy regiony o nazwach 0021, 0022 itd. W tym momencie nasz zmodyfikowany Batch Render utworzy pliki np. 0021.avi, 0022.avi.
Zachęcam wszystkich do eksperymentów i szukania nowych zastosowań dla vegasowych skryptów.
Serdecznie podziękowania dla Rocco C. bez którego pomocy nie powstałby ten artykuł. Grazie Rocco!