Wszystkie rodzinne filmy wideo są digitalizowane i dostępne do oglądania na prywatnym serwerze multimediów
W rezultacie powstało 513 pojedynczych klipów wideo. Każdy z nich posiada tytuł, opis, datę nagrania, znaczniki dla wszystkich uczestników, wskazujące wiek w momencie nagrania. Wszystko znajduje się na prywatnym serwerze multimediów, do którego dostęp mają tylko członkowie rodziny, a hosting kosztuje mniej niż 1 dolara miesięcznie.
W tym artykule omówiono wszystko, co zrobiłem, dlaczego zajęło mi to osiem lat i jak osiągnąć ten sam wynik znacznie łatwiej i szybciej.
Pierwsza naiwna próba
Około 2010 roku moja mama kupiła jakiś konwerter VHS na DVD i przepuściła przez niego wszystkie nasze domowe nagrania wideo.
Oryginalne płyty DVD nagrane przez moją mamę (nie wiem, co stało się z brakującymi literami)
Problem w tym, że mama nagrała tylko jeden zestaw płyt DVD. Wszyscy krewni mieszkają w różnych stanach, więc przekazywanie dysków było niewygodne.
W 2012 roku moja siostra dała mi te DVD. Skopiowałem pliki wideo i przesłałem wszystko do magazynu w chmurze. Problem rozwiązany!
Zgrywanie DVD z rodzinnymi filmami do magazynu Google Cloud
Kilka tygodni później zapytałem, czy ktoś widział te taśmy. Okazało się, że nikt nie patrzył. Nawet nie spojrzałem. W dobie YouTube'a ściąganie trzygodzinnych plików o nieznanej treści w poszukiwaniu ciekawych materiałów jest głupotą.
Tylko moja mama była zachwycona: „Świetnie” – powiedziała – „możemy wreszcie wyrzucić te wszystkie kasety?”
Och, och. To przerażające pytanie. A co jeśli pominęliśmy jakieś wpisy? Co by było, gdyby taśmy można było digitalizować w wyższej jakości? A co jeśli na etykietach znajdują się ważne informacje?
Zawsze czułem się nieswojo wyrzucając oryginały, dopóki nie miałem całkowitej pewności, że wideo zostało skopiowane w najwyższej możliwej jakości. Musiałem zatem zabrać się do pracy.
Nie miałam pojęcia, w co się pakuję.
Nie brzmi to tak ciężko
Jeśli nie rozumiesz, dlaczego zajęło mi to osiem lat i setki godzin, nie winię cię. Ja też myślałem, że to będzie łatwe.
Oto jak wygląda proces digitalizacji od początku do końca:
Dokładniej, tak to wygląda w teorii. Oto jak wyszło w praktyce:
Większość czasu poświęcono na przerabianie tego, co zostało już zrobione. Ukończyłem jeden etap, a po jednym lub dwóch etapach znalazłem jakiś błąd w technice. Musiałem wrócić i zrobić to od nowa. Na przykład nakręciłem wideo z 20 taśm, zanim zdałem sobie sprawę, że dźwięk jest trochę niezsynchronizowany. Albo po tygodniach montażu eksportowałem wideo w formacie, który nie obsługiwał transmisji strumieniowej w Internecie.
Aby zachować zdrowie psychiczne czytelnika, przedstawiam ten proces tak, jakby posuwał się do przodu w sposób systematyczny, aby nie zmuszać Cię do ciągłego cofania się i powtarzania wszystkiego, tak jak ja musiałem.
Krok 1: Przechwyć wideo
OK, wróćmy do 2012 roku. Mama bardzo chciała wyrzucić kasety, które trzymała przez dwadzieścia lat, więc kiedy się spotkaliśmy, od razu wręczyła mi ogromne kartonowe pudło. Tak zaczęła się moja przygoda z digitalizacją.
Oczywistą decyzją było powierzenie pracy profesjonalistom. Wiele firm zajmuje się cyfryzacją, a niektóre specjalizują się w domowym wideo.
Ale jestem dość wrażliwa na punkcie prywatności i nie chciałam, żeby obcy ludzie oglądali nasz rodzinny film przedstawiający intymne momenty z mojego życia osobistego, w tym moją naukę korzystania z nocnika (w odpowiednim wieku; nic dziwnego!). A ja też myślałam, że w digitalizacji nie ma nic skomplikowanego.
Spoiler: okazało się to naprawdę trudne.
Pierwsza próba nagrania wideo
Mój ojciec nadal miał stary rodzinny magnetowid, więc poprosiłem go, żeby wykopał go z piwnicy na następny rodzinny obiad. kupiłem tani adapter RCA na USB na Amazon i zabrałem się do pracy.
Do przetwarzania wideo z urządzenia przechwytującego USB użyłem programu VirtualDub, wersja 2012 jest trochę przestarzała, ale nie krytyczna.
Kadry w programie VirtualDub, jak czytałem książkę ojcu w wieku czterech lat
Atak zniekształceniem dźwięku
Kiedy rozpocząłem proces edycji, zauważyłem niewielki brak synchronizacji pomiędzy dźwiękiem i obrazem. Dobra, nie ma problemu. Mogę trochę przesunąć dźwięk.
Dziesięć minut później znowu zabrakło synchronizacji. Czy za pierwszym razem nie poruszyłem wystarczająco mocno?
Stopniowo dotarło do mnie, że dźwięk i obraz nie tylko nie są zsynchronizowane, ale w rzeczywistości są nagrywane z różnymi prędkościami. Na całej taśmie coraz bardziej się od siebie oddalają. Aby zsynchronizować, musiałem ręcznie regulować dźwięk co kilka minut.
Jeśli Twoja konfiguracja przechwytuje dźwięk i obraz z różną szybkością, jedynym rozwiązaniem jest ręczna korekta dźwięku co kilka minut
Czy możesz sobie wyobrazić, jak trudno jest rozróżnić dźwięk 10 milisekund wcześniej i 10 milisekund później? To naprawdę trudne! Oceńcie sami.
W tym filmie bawię się z moim biednym, cierpliwym kotkiem, który ma na imię Czarna Magia. Dźwięk jest trochę niezsynchronizowany. Ustal, czy jest przed obrazem, czy za kulisami?
Przykład klipu wideo z niezsynchronizowanym dźwiękiem i obrazem
W tym momencie wyskakuje Black Magic, fragment z pięciokrotnym spowolnieniem:
Brak synchronizacji dźwięku i obrazu, pięć razy wolniej
odpowiedź: Dźwięk pojawia się z kilkumilisekundowym opóźnieniem.
Może zamiast setek godzin prywatnego czasu wydać dodatkowe sto dolarów?
Sama korekcja dźwięku wymagała wielu godzin żmudnej, szaleńczej pracy. W końcu przyszło mi do głowy, że desynchronizacji można uniknąć, stosując lepsze i droższe urządzenie do przechwytywania wideo. Po krótkich poszukiwaniach kupiłem nowy na Amazon:
Nawet w przypadku nowego urządzenia desynchronizacja nigdzie nie zniknęła.
Magnetowid z przedrostkiem „super”
Być może problem tkwi w magnetowidzie. NA fora o digitalizacji powiedziano, że w przypadku magnetowidu z „korektorem czasowym” (TBC) nie nastąpi desynchronizacja. Ta funkcja jest dostępna we wszystkich magnetowidach Super VHS (S-VHS).
Ależ oczywiście! Dlaczego zadawałem się z głupcami zwykłe Magnetowid, jeśli jest dostępny супер-VCR, który rozwiązuje problem?
Nikt już nie produkuje magnetowidów S-VHS, ale nadal można je kupić w serwisie eBay. Za 179 dolarów kupiłem model JVC SR-V10U, który wydaje się dobrze nadawać do digitalizacji VHS:
Zabytkowy magnetowid JVC SR-V10U kupiłem na eBay'u za 179 dolarów
„Super” magnetowid przyszedł pocztą. Po kilku miesiącach zmagań z brakiem synchronizacji dźwięku byłem uszczęśliwiony, że istnieje sprzęt, który rozwiąże wszystkie moje problemy.
Otworzyłem pudełko, podłączyłem wszystko - ale dźwięk nadal był nagrywany z inną prędkością. Ech.
Męczące poszukiwania, rozwiązywanie problemów i wiele lat zmagań
Podjąłem żałosną próbę rozwiązania problemu. Oglądanie tego było bolesne. Za każdym razem wyciągałem cały sprzęt z szafy, czołgałem się na kolanach za pulpitem, żeby wszystko podłączyć, próbowałem przechwycić wideo - i znowu obserwowałem, że nic nie działa.
Natknąłem się na przypadkowy post na forum z 2008 roku o instalacji jakiegoś dziwnego, niepodpisanego chińskiego sterownika... To okropny pomysł, ale jestem zdesperowany. Jednak nie pomógł.
Niezmiennie się poddawałem, odłączałem wszystko i sprzęt chowałem w szafie jeszcze przez kilka miesięcy.
Poddaj się i oddaj kasety profesjonalistom
Nadszedł rok 2018. Przeniosłem taśmy wideo i tony sprzętu do czterech różnych mieszkań i miałem się przeprowadzić z Nowego Jorku do Massachusetts. Nie mogłam znaleźć już siły, żeby je podjąć ponownie, bo już zdałam sobie sprawę, że sama nigdy nie dokończę tego projektu.
Zapytałem rodzinę, czy można zawieźć taśmy do firmy zajmującej się digitalizacją. Na szczęście nikt nie sprzeciwił się – wszyscy chcieli jeszcze raz zobaczyć nagrania.
Я: Ale to oznacza, że jakaś firma będzie miała dostęp do wszystkich naszych domowych nagrań wideo. Pasuje ci to? Siostro: Nie obchodzi mnie to. Tylko ty się tym martwisz. Czekaj, więc mogłeś po prostu komuś zapłacić? Я: Uh-uh…
Digitalizacja wszystkich 45 kaset kosztuje 750 dolarów. Wydaje się drogie, ale wtedy zapłaciłbym wszystko, żeby nie mieć już do czynienia z tym sprzętem.
Kiedy przekazali pliki, jakość wideo była zdecydowanie lepsza. Na moich klatkach zniekształcenia były zawsze widoczne na brzegach kadru, ale specjaliści zdigitalizowali wszystko bez żadnych zniekształceń. Co najważniejsze, dźwięk i obraz są idealnie zsynchronizowane.
Oto film porównujący profesjonalną digitalizację i moje domowe próby:
Porównanie digitalizacji profesjonalnej i domowej w filmie, na którym moja mama nagrywa moją pierwszą próbę programowania
Krok 2. Edycja
W sesjach domowych około 90% materiału jest nudne, 8% ciekawe, a 2% niesamowite. Po digitalizacji nadal masz dużo pracy do wykonania.
Montaż w Adobe Premiere
Na kasecie VHS długi strumień klipów wideo przeplatany jest pustymi fragmentami. Aby edytować taśmę, musisz określić, gdzie zaczyna się i kończy każdy klip.
Do edycji użyłem programu Adobe Premiere Elements, który kosztuje niecałe 100 dolarów za dożywotnią licencję. Jego najważniejszą cechą jest skalowalna oś czasu. Pozwala szybko znaleźć krawędzie sceny, a następnie powiększyć, aby znaleźć dokładną klatkę wideo, w której zaczyna się lub kończy klip.
Niezbędna oś czasu powiększenia w programie Adobe Premiere Elements
Problem z Premiere polega na tym, że proces ten wymaga ciągłego wysiłku ręcznego, ale digitalizacja i eksport zajmują dużo czasu. Oto moja sekwencja operacji:
Otwórz surowy plik zawierający 30–120 minut wideo.
Zaznacz granice pojedynczego klipu.
Eksportuj klip.
Poczekaj 2–15 minut na zakończenie eksportu.
Powtarzaj kroki 2-4, aż skończy się taśma.
Długie oczekiwanie oznaczało, że ciągle przełączałem się między edycją wideo a jakimś innym zadaniem, przenosząc moją uwagę tam i z powrotem przez kilka godzin.
Kolejną wadą była niepowtarzalność. Naprawienie małego błędu było prawie tak trudne, jak rozpoczęcie od zera. Mocno mnie to uderzyło, gdy przyszło do opublikowania filmu. Dopiero wtedy zdałem sobie sprawę, że aby móc streamować w Internecie, trzeba wstępnie wyeksportować wideo do formatu, który natywnie obsługują przeglądarki internetowe. Stanąłem przed wyborem: wznowić żmudny proces eksportowania setek klipów lub ponownie zakodować wyeksportowane filmy do innego formatu o obniżonej jakości.
Automatyzacja edycji
Po dużej ilości czasu spędzonego na pracy ręcznej zastanawiałem się, czy można tu w jakiś sposób zastosować sztuczną inteligencję. Wyznaczanie granic klipów wydaje się być odpowiednim zadaniem dla uczenia maszynowego. Wiedziałem, że dokładność nie będzie idealna, ale niech on wykona chociaż 80% pracy, a ja poprawię ostatnie 20%.
Eksperymentowałem z narzędziem o nazwie pyscenedetect, który analizuje pliki wideo i generuje znaczniki czasu w przypadku zmian scen:
$ docker run
--volume "/videos:/opt"
handflucht/pyscenedetect
--input /opt/test.mp4
--output /opt
detect-content --threshold 80
list-scenes
[PySceneDetect] Output directory set:
/opt
[PySceneDetect] Loaded 1 video, framerate: 29.97 FPS, resolution: 720 x 480
[PySceneDetect] Downscale factor set to 3, effective resolution: 240 x 160
[PySceneDetect] Scene list CSV file name format:
$VIDEO_NAME-Scenes.csv
[PySceneDetect] Detecting scenes...
[PySceneDetect] Processed 55135 frames in 117.6 seconds (average 468.96 FPS).
[PySceneDetect] Detected 33 scenes, average shot length 55.7 seconds.
[PySceneDetect] Writing scene list to CSV file:
/opt/test-Scenes.csv
[PySceneDetect] Scene List:
-----------------------------------------------------------------------
| Scene # | Start Frame | Start Time | End Frame | End Time |
-----------------------------------------------------------------------
| 1 | 0 | 00:00:00.000 | 1011 | 00:00:33.734 |
| 2 | 1011 | 00:00:33.734 | 1292 | 00:00:43.110 |
| 3 | 1292 | 00:00:43.110 | 1878 | 00:01:02.663 |
| 4 | 1878 | 00:01:02.663 | 2027 | 00:01:07.634 |
...
Narzędzie wprawdzie wykazało dokładność na poziomie około 80%, ale sprawdzenie jego pracy zajęło więcej czasu niż zaoszczędziło. Jednak program pyscenedetect dokonał jednego z najważniejszych odkryć w całym projekcie: definiowanie granic scen i eksportowanie klipów to osobne zadania.
Przypomniałem sobie, że jestem programistą
Do tego momentu wszystko, co robiłem w Adobe Premiere, uważałem za „edycję”. Wycinanie klipów z surowych klatek wydawało się iść w parze z odnajdywaniem granic klipu, bo tak sobie wyobrażał to Premiere. Kiedy program pyscenedetect wydrukował tabelę metadanych, uświadomiłem sobie, że mogę oddzielić wyszukiwanie scen od eksportu wideo. To był przełom.
Montaż był tak żmudny i czasochłonny, ponieważ musiałem czekać, aż Premiere wyeksportował każdy klip. Gdybym miał zapisać metadane w arkuszu kalkulacyjnym i napisać skrypt, który automatycznie eksportuje wideo, proces edycji przebiegłby błyskawicznie.
Co więcej, arkusze kalkulacyjne znacznie rozszerzyły zakres metadanych. Początkowo umieszczam metadane w nazwie pliku, ale to je ogranicza. Posiadanie całego arkusza kalkulacyjnego umożliwiło mi skatalogowanie znacznie większej ilości informacji na temat klipu, na przykład tego, kto w nim wystąpił, kiedy został nagrany, i wszelkich innych danych, które chcę pokazać podczas wyświetlania wideo.
Ogromny arkusz kalkulacyjny z metadanymi o moich domowych filmach
Później mogłem wykorzystać te metadane do dodania do klipów informacji, takich jak wiek każdego z nas i szczegółowy opis tego, co dzieje się w klipie.
Funkcja arkusza kalkulacyjnego umożliwia rejestrowanie metadanych, które dostarczają więcej informacji o klipach i ułatwiają ich przeglądanie
Sukces zautomatyzowanego rozwiązania
Mając arkusze kalkulacyjne, napisałem scenariusz, który pociął surowe wideo na klipy na podstawie danych CSV.
Oto jak to wygląda w akcji:
Do tej pory spędziłem setki godziny, żmudne wybieranie granic klipów w Premiere, wciskanie eksportu, czekanie kilka minut na zakończenie, a następnie zaczynanie od nowa. Co więcej, proces ten powtarzano wielokrotnie w przypadku tych samych klipów, gdy później odkryto problemy z jakością.
Gdy tylko zautomatyzowałem część krojenia klipów, ogromny ciężar spadł z moich ramion. Nie musiałem się już martwić, że zapomnę metadanych lub wybiorę niewłaściwy format wyjściowy. Jeśli później pojawi się błąd, możesz po prostu zmodyfikować skrypt i powtórzyć wszystko.
Digitalizacja i edycja materiału wideo to tylko połowa sukcesu. Musimy jeszcze znaleźć wygodną opcję publikacji w Internecie, aby wszyscy bliscy mogli obejrzeć rodzinne wideo w wygodnym formacie z transmisją strumieniową, jak na YouTube.
W drugiej części artykułu opiszę szczegółowo, jak skonfigurować serwer multimediów typu open source ze wszystkimi klipami wideo, co kosztuje mnie tylko 77 centów miesięcznie.