Negli ultimi otto anni ho spostato questa scatola di videocassette in quattro appartamenti diversi e in una casa. Le registrazioni video familiari della mia infanzia.

Dopo oltre 600 ore di lavoro, finalmente le ho digitalizzate e organizzate correttamente, così da poter gettare via le cassette.
Ecco come appare il materiale registrato ora:


Tutti i video di famiglia sono stati digitalizzati e sono disponibili per la visione su un server multimediale privato.
Sono stati realizzati 513 clip video separati. Ognuno con titolo, descrizione, data di registrazione e tag per tutti i partecipanti indicando l'età al momento della registrazione. Tutto si trova su un server multimediale privato, accessibile solo ai membri della famiglia, e l'hosting costa meno di 1 dollaro al mese.
Questo articolo parla di tutto ciò che ho fatto, del perché ci sono voluti otto anni e di come ottenere risultati simili in modo molto più semplice e veloce.
Il primo tentativo ingenuo
Circa nel 2010, mia madre ha comprato un convertitore da VHS a DVD e ha fatto passare attraverso di esso tutti i nostri video casalinghi.

I DVD originali registrati da mia madre (non so che fine abbiano fatto le lettere scomparse)
Il problema è che mia madre ha fatto solo un set di DVD. Tutti i parenti vivono in stati diversi, quindi era scomodo passare i dischi a giro.
Nel 2012, mia sorella mi ha regalato questi DVD. Ho copiato i file video e li ho caricati in uno spazio di archiviazione cloud. Problema risolto!

Rip delle videoregistrazioni di famiglia nello spazio Google Cloud
Dopo alcune settimane, ho chiesto se qualcuno avesse visto queste registrazioni. Si è scoperto che nessuno le aveva viste. Nemmeno io le avevo viste. Nell'era di YouTube è stupido scaricare file di tre ore di contenuti sconosciuti in cerca di momenti interessanti.
Solo mia madre era contenta: «Ottimo, — ha detto, — ora possiamo finalmente buttare via tutte quelle cassette?»
Oh no. Questa è una domanda spaventosa. E se abbiamo perso qualche registrazione? E se le cassette possono essere digitalizzate con una qualità migliore? E se sulle etichette ci fosse un'informazione importante?
Ho sempre trovato difficile buttare via gli originali fino a quando non ho la certezza assoluta che il video è stato copiato con la massima qualità possibile. Così, ho dovuto mettermi d'impegno.
Non avevo idea in cosa mi stavo cacciando.
Non sembra così difficile.
Se non capisci perché ci sono voluti otto anni e centinaia di ore, non ti incolpo. Anche io pensavo che sarebbe stato facile.
Ecco come appare il processo di digitalizzazione dall'inizio alla fine:

Per essere precisi, così appare in teoria. Ecco come è andata nella pratica:

La maggior parte del tempo è stata spesa per rifare ciò che era già stato fatto. Terminavo una fase e poi, dopo una o due fasi, trovavo qualche difetto nella tecnica. DOVEVO tornare indietro e rifare. Ad esempio, ho registrato video con 20 nastri prima di rendermi conto che l'audio non era completamente sincronizzato. Oppure, dopo alcune settimane di editing, ho scoperto che stavo esportando il video in un formato che non supporta lo streaming online.
Per mantenere la lucidità del lettore, espongo il processo come se fosse andato avanti in modo lineare, per non costringerti a saltare continuamente indietro e rifare tutto, come ho dovuto fare io.
Passo 1. Cattura video
Bene, torniamo al 2012. A mia madre piaceva molto l'idea di buttare via le cassette che aveva conservato per vent'anni, quindi al nostro primo incontro mi ha subito dato una grande scatola di cartone. Così è iniziata la mia avventura di digitalizzazione.
Una soluzione ovvia era di affidare il lavoro a professionisti. Molte aziende si occupano della digitalizzazione, e alcune si specializzano proprio nei video domestici.
Ma io tengo molto alla privacy e non volevo che sconosciuti esaminassero il nostro video di famiglia con momenti intimi della nostra vita personale, incluso il mio apprendistato al vasino (all'età appropriata; niente di strano!). E pensavo anche che la digitalizzazione non fosse affatto complicata.
Spoiler: si è rivelata davvero difficile.
Il primo tentativo di catturare il video
Mio padre aveva ancora un vecchio videoregistratore di famiglia, così gli ho chiesto di tirarlo su dal seminterrato per la prossima cena di famiglia. Ho comprato su Amazon e mi sono messo al lavoro.

, il primo di molti dispositivi A/V che ho comprato durante una lunga ricerca
Per elaborare il video dal dispositivo di acquisizione USB ho usato il programma VirtualDub; la versione del 2012 è un po' obsoleta, ma non è un problema.

Un fotogramma in VirtualDub, dove a quattro anni leggo un libro a mio padre
Attacco con distorsione del suono
Quando ho iniziato il processo di editing, ho notato una leggera desincronizzazione tra audio e video. Va bene, nessun problema. Posso spostare un po' il suono.
Dieci minuti dopo, si è desincronizzato di nuovo. Forse non l'ho spostato abbastanza la prima volta?
Ho iniziato a capire che l'audio e il video non sono solo desincronizzati, ma vengono realmente registrati a velocità diverse. Nel corso dell'intera clip, si allontanano sempre più. Per sincronizzare, ho dovuto regolare manualmente il suono ogni pochi minuti.

Se il tuo sistema cattura audio e video a velocità diverse, l'unica soluzione è correggere l'audio manualmente ogni pochi minuti.
Immagina quanto sia difficile distinguere un suono che è 10 millisecondi prima o 10 millisecondi dopo? È davvero difficile! Giudica tu stesso.
In questo video, gioco con il mio povero e paziente gattino, che si chiamava Black Magic. L'audio è leggermente fuori sincrono. Puoi determinare se è in anticipo o in ritardo rispetto all'immagine?
Esempio di video con desincronizzazione audio e video
In questo punto, Black Magic salta, con un frammento rallentato di cinque volte:
Desincronizzazione audio e video, rallentamento di cinque volte
Risposta: l'audio arriva con un ritardo di alcuni millisecondi.
Forse vale la pena spendere un centinaio di dollari in più invece di centinaia di ore di tempo personale?
Solo la correzione dell'audio ha richiesto molte ore di lavoro estenuante e snervante. Alla fine, mi è venuta in mente un'idea: si può evitare la disincronizzazione utilizzando un dispositivo di acquisizione video di qualità superiore e più costoso. Dopo alcune ricerche, ho acquistato un nuovo dispositivo su Amazon:

Il mio secondo tentativo di acquistare
Anche con il nuovo dispositivo, la disincronizzazione non è scomparsa.
Videoregistratore con prefisso 'super'
Forse il problema sta nel videoregistratore. Nei si diceva che la disincronizzazione non si avrebbe con un videoregistratore dotato di 'correttore di tempo' (time-based corrector, TBC), funzione presente in tutti i videoregistratori Super VHS (S-VHS).
Certo! Perché mai mi dovevo occupare di un stupido in modo standard videoregistratore, quando ho a disposizione un super-VCR, che risolve il problema?
Nessuno produce più videoregistratori S-VHS, ma sono ancora disponibili su eBay. Per 179 dollari ho acquistato il modello JVC SR-V10U, che sembra adatto per la digitalizzazione VHS:

Videoregistratore vintage JVC SR-V10U, che ho comprato su eBay per 179 dollari
Il videoregistratore "super" è arrivato per posta. Dopo mesi di lotta con la desincronizzazione dell'audio, ero al settimo cielo per aver trovato un dispositivo che risolvesse tutti i miei problemi.
Ho aperto la confezione, ho collegato tutto, ma il suono continuava a essere registrato a una velocità diversa. Che delusione.
Una faticosa ricerca, il troubleshooting e anni di lotta
Ho iniziato tentativi disperati di risolvere i problemi. Era doloroso da guardare. Ogni volta tiravo fuori tutta l'attrezzatura dall'armadio, mi infilavo in ginocchio sotto la scrivania per collegare tutto, provavo a catturare il video ed ero di nuovo frustrato perché nulla funzionava.
Poi ho trovato un post casuale in un forum del 2008 che parlava di un'installazione di un strano driver cinese senza firma... È stata una cattiva idea, ma ero disperato. Comunque, non ha funzionato.
Ho provato diversi programmi per la digitalizzazione. Ho comprato , per pulire le teste magnetiche del videoregistratore. Ho comprato . Niente ha funzionato.
Mi sono sempre arreso, staccavo tutto e nascondevo l'attrezzatura nell'armadio per diversi mesi.
Ci arrendiamo e affidiamo le cassette ai professionisti.
È arrivato il 2018. Ho trasferito videocassette e tonnellate di attrezzatura in quattro appartamenti diversi e stavo per trasferirmi da New York nel Massachusetts. Non riuscivo a trovare la forza di trasportarle di nuovo, perché avevo già capito che da solo non avrei mai portato a termine questo progetto.
Ho chiesto alla mia famiglia se potevo dare le cassette a un'azienda di digitalizzazione. Fortunatamente, nessuno si è opposto: a tutti faceva piacere rivedere le registrazioni.
Io: Ma significa che qualche azienda avrà accesso a tutti i nostri video di famiglia. Ti sta bene?
Sorella: A me non importa. Solo a te da fastidio. Aspetta, quindi fin dall'inizio avresti potuto semplicemente pagare qualcuno?
Io: Ehm...
Digitalizzare tutte e 45 le cassette costa 750 $. Sembra costoso, ma a quel punto avrei pagato qualsiasi cifra pur di non dover più avere a che fare con questa attrezzatura.
Quando hanno restituito i file, la qualità del video era decisamente migliore. Nei miei filmati si notavano sempre delle distorsioni ai bordi dell'inquadratura, ma i professionisti hanno digitalizzato tutto senza alcuna distorsione. La cosa più importante è che audio e video sono perfettamente sincronizzati.
Ecco il video con il confronto tra la digitalizzazione professionale e i miei tentativi casalinghi:
Confronto tra digitalizzazione professionale e fai-da-te in un video dove mia madre riprende il mio primo tentativo di programmazione.
Passo 2. Montaggio
Nelle riprese domestiche circa il 90% del materiale è noioso, l'8% è interessante e il 2% è straordinario. Dopo la digitalizzazione hai ancora molto lavoro da fare.
Montaggio in Adobe Premiere
Nella cassetta VHS si alternano lunghi flussi di video clip a porzioni vuote. Per montare il nastro, devi determinare dove inizia e dove finisce ogni clip.
Per il montaggio ho utilizzato Adobe Premiere Elements, che costa meno di $100 per una licenza a vita. La sua caratteristica principale è la timeline scalabile. Ti consente di trovare rapidamente i confini della scena e poi di ingrandire per trovare il fotogramma video esatto in cui inizia o finisce il clip.

La timeline più importante con scaling in Adobe Premiere Elements
Il problema con Premiere è che il processo richiede azioni manuali continue, mentre la digitalizzazione e l'esportazione richiedono molto tempo. Ecco la mia sequenza operativa:
- Aprire il file RAW che contiene video da 30 a 120 minuti.
- Segnare i confini di un singolo clip.
- Esportare il clip.
- Aspettare 2-15 minuti finché l'esportazione non è completata.
- Ripetere i passi 2-4 fino a quando il nastro non è finito.
Una lunga attesa significava che passavo continuamente tra l'editing video e qualche altro compito, spostando l'attenzione da un lato all'altro per ore.
Un altro difetto era l'inriproducibilità. Correggere un piccolo errore era quasi difficile quanto rifare tutto da zero. Questo mi ha colpito duramente quando si è trattato di pubblicare il video. Solo allora ho capito che per lo streaming online era necessario esportare inizialmente il video in un formato supportato nativamente dai browser web. Mi sono trovato di fronte a una scelta: riavviare il noioso processo di esportazione di centinaia di clip o ricodificare i video esportati in un altro formato con deterioramento della qualità.
Automazione dell'editing
Dopo aver speso un sacco di tempo nel lavoro manuale, ho pensato se si potesse applicare l'IA in questo contesto. Sembra che definire i confini delle clip sia un compito adatto per l'apprendimento automatico. Sapevo che la precisione non sarebbe stata perfetta, ma se almeno potesse fare l'80% del lavoro, avrei corretto il restante 20%.
Ho sperimentato con uno strumento chiamato , che analizza i file video e fornisce i timestamp in cui avvengono cambiamenti di scena:
$ 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 |
...Lo strumento ha effettivamente mostrato un'accuratezza di circa l'80%, ma il tempo impiegato per verificarne il funzionamento è stato maggiore rispetto a quello risparmiato. Tuttavia, pyscenedetect ha fatto una delle scoperte più importanti per l'intero progetto: determinare i confini delle scene ed esportare i clip è un compito separato.
Ho ricordato che sono un programmatore
Fino a quel momento, consideravo «montaggio» tutto ciò che facevo in Adobe Premiere. Il taglio dei clip da riprese grezze sembrava indissolubilmente legato alla ricerca dei confini del clip, perché era così che Premiere presentava questo compito. Quando pyscenedetect ha stampato una tabella dei metadati, mi ha fatto capire che potevo separare la ricerca delle scene dall'esportazione del video. È stata una svolta.
Il motivo per cui il montaggio era così faticoso e laborioso era che dovevo aspettare che Premiere esportasse ogni clip. Se avessi registrato i metadati in un foglio di calcolo e scritto uno script che esporta automaticamente i video, il processo di montaggio sarebbe passato senza che me ne accorgessi.
Inoltre, i fogli di calcolo hanno notevolmente ampliato la quantità di metadati. Inizialmente inserivo i metadati nel nome del file, ma questo li limita. Avere un intero foglio di calcolo ha permesso di catalogare molte più informazioni sul clip, ad esempio chi è presente, quando è stato registrato e qualsiasi altro dato che voglio mostrare durante la presentazione del video.
Un'enorme tabella elettronica con i metadati dei miei video domestici
In seguito, ho potuto utilizzare questi metadati per aggiungere informazioni ai videoclip, come quanti anni avevamo e una descrizione dettagliata di cosa succede nel video.

La funzionalità delle tabelle elettroniche consente di registrare metadati che forniscono ulteriori informazioni sui videoclip e facilitano la loro visualizzazione.
Il successo della soluzione automatizzata
Con le tabelle elettroniche, ho scritto , che tagliava il video grezzo in clip basandosi sui dati in CSV.
Ecco una registrazione di come appare in azione:

A questo punto, ho speso centinaia di ore, selezionando noiosamente i confini del clip in Premiere, premendo esporta, aspettando diversi minuti perché finisse, e poi ricominciando da capo. Inoltre, il processo si ripeteva più volte sugli stessi clip quando si scoprivano successivamente problemi di qualità.
Non appena ho automatizzato parte del processo di taglio in clip, un grande peso è stato sollevato dalle mie spalle. Non dovevo più preoccuparmi di dimenticare i metadati o di scegliere il formato di output sbagliato. Se successivamente emergesse un errore, potevo semplicemente modificare lo script e ripetere il tutto.
La digitalizzazione e il montaggio dei materiali video sono solo metà del lavoro. Dobbiamo anche trovare un modo conveniente per pubblicarli online, in modo che tutti i parenti possano guardare i video di famiglia in un formato comodo con lo streaming simile a YouTube.
Nella seconda parte dell'articolo spiegherò in dettaglio come allestire un server media open source con tutti i videoclip, il quale mi costa solo 77 centesimi al mese.
Continua,
Fonte: habr.com
