Il controllo versione ha una parte nel flusso di lavoro di produzione video?


20

Sono uno sviluppatore di software e sono anche interessato alla fotografia (per quattro anni) e alla produzione video (solo per pochi mesi).

■ Nello sviluppo del software, esiste una regola importante che ogni sviluppatore segue su ogni progetto: tutto dovrebbe essere sotto controllo della versione : codice sorgente, file di configurazione, schema del database, documentazione — tutto ciò che consente di costruire il progetto da zero. Ciò ha due piacevoli conseguenze:

  1. In caso di disastro quando si perde tutto tranne il repository di controllo versione, si dovrebbe essere in grado di continuare come se non fosse successo nulla.

  2. In caso di qualche stupido cambiamento che influisce negativamente sul progetto, lo sviluppatore può tornare a una revisione precedente.

■ In fotografia, ogni modifica apportata alle foto viene archiviata per sempre nel catalogo di Lightroom , consentendo di tornare allo stato precedente in qualsiasi momento. Con la funzione di copie virtuali, Lightroom consente anche di fare quello che viene chiamato un ramo nel controllo della versione: la possibilità di testare qualcosa di diverso e mantenere entrambi i risultati o rimuoverne uno in seguito.

Il catalogo non memorizza le foto RAW stesse, ma non cambiano comunque.

■ Nella produzione video, le cose sembrano diverse. Lavoro con Premiere Pro, After Effects e Soundbooth.

  • Nessuno sembra archiviare la cronologia in modo permanente: se eseguo un'azione per errore e la noto solo il giorno successivo, non c'è modo di ripristinare la versione precedente.

  • Soundbooth modifica anche direttamente i file WAV, il che richiede uno sforzo aggiuntivo per mantenere separate le registrazioni originali da quelle modificate.

  • Il controllo della versione viene menzionato raramente e non ho trovato nessuno che dica come utilizza effettivamente il controllo della versione nel suo flusso di lavoro. Inoltre, nessuno menziona quale controllo di versione dovrebbe essere usato e poiché la maggior parte dei sistemi di controllo di versione sono ottimizzati per i file di testo, non quelli binari, questo crea una sfida aggiuntiva.

  • Video.SE non ha tag di o .

Pertanto, ho due domande:

  1. Il controllo di versione ha una parte nel flusso di lavoro di una persona che lavora con la produzione video? Come è integrato?

  2. La migrazione ad Adobe Creative Cloud sarebbe di aiuto? Esistono funzionalità specifiche che consentono, in Creative Cloud, di tenere traccia delle revisioni successive di un progetto Premiere Pro o After Effects?

Nota: per evitare risposte off-topic, metto in evidenza che la mia domanda non è correlata ai backup e riguarda in particolare l'archiviazione delle revisioni successive del mio lavoro, non avendo un backup dei dati in loco / fuori sede.

Risposte:


10

Il controllo della versione nel senso di Git non è molto pratico nel mondo dei video. Dovresti creare uno strumento di controllo della versione specifico per ogni strumento audio e video, poiché tutti funzionano con i loro formati di progetto. Ma essere in grado di leggere questi formati è solo una cosa, quindi è necessario anche il motore di rendering di quello strumento per mostrare le differenze.

Sebbene tutti questi strumenti funzionino in modo non distruttivo a meno che tu non pre-rendering alcune cose (paragonalo alla compilazione di una dll / lib di un pezzo del tuo codice e lavori con quello da ora in poi), quindi puoi tornare indietro a una vecchia revisione facendo ctrl + z o usando lo strumento cronologia in alcuni programmi.

Sebbene il salvataggio delle versioni secondarie sia in genere la strada da percorrere. Come lo stib descritto nella sua risposta o facendolo manualmente.

Qualcosa che mi piace fare e che funziona bene con ogni software sta mettendo i miei file di progetto (nessun filmato di origine) in Dropbox. Se hai una velocità di upload piuttosto elevata (~ 1 Mbit / s) e il tuo file di progetto non è 100 MB +, puoi caricare il tuo progetto prima di salvare la volta successiva. Un progetto Premiere / AE / FCP medio è di circa 10-20 MB, quindi i file salvati di recente verranno caricati in 1-2 minuti. Ancora più veloce se hai più larghezza di banda di upload.

Quindi, se devi tornare indietro, puoi accedere alla cronologia dei tuoi file di Dropbox e scaricare o ripristinare a quella revisione. Dropbox salva le revisioni dei file per sempre * su un account a pagamento (* almeno quando avevano l'opzione pack rat, ora è un anno credo) e per 30 giorni su un account gratuito. Sono sicuro che ci sono altri hoster cloud che offrono funzionalità simili. È un po 'come usare una versione super limitata di git che gestisce molto bene i file binari ed è senza mal di testa. Questo ha il vantaggio di non ingombrare la cartella con tonnellate di file e di avere un backup allo stesso tempo.

La maggior parte dei provider di servizi cloud offre anche l'appartenenza al team in modo da poter lavorare con più editor. Oppure condividi la cartella del progetto con altri membri del team.


Dropbox memorizza le revisioni dei file per sempre? E se avessi un file video da 5 GB con 800 revisioni?
Pacerier,

Ho modificato un po 'la risposta. Con la vecchia opzione rat pack era davvero per sempre ora è un anno, e sì puoi fare quello che hai appena descritto, ma come ho scritto nella mia risposta non inserire file di origine (ad esempio video / immagine / audio), solo il tuo file di progetto. A meno che tu non abbia una connessione Gigabit che sarebbe molto poco pratica per mantenere le versioni della modifica dei file sorgente o di rendering.
PTS

1
Hai solo bisogno del tuo VCS per capire i formati se hai bisogno di differenze. È molto da aspettarsi.
Peter Cordes,

1
Quindi puoi facilmente controllare la versione dei tuoi file di progetto, poiché 10-20 MB di dati binari non sono un problema per git. Devi solo scrivere utili messaggi di commit per descrivere lo stato in cui si trovava il tuo file di salvataggio al momento del commit. Se sei fortunato, le piccole modifiche spesso non cambiano la maggior parte dei bit nel file di progetto e la compressione delta di git userà molto meno dei 10 MB completi per ogni commit. E poi i backup sono facili come il git pushtuo server di backup. (Con qualche altro metodo per tenere traccia di quali master video vanno con quale progetto, forse md5sums dei file sorgente?)
Peter Cordes

Bene, questo è il caso ideale, se il tuo progetto finisce con un file di progetto più grande, non puoi caricare le revisioni così spesso a seconda della tua connessione. Un software di archiviazione cloud si ridimensiona perfettamente, git finirà per incorrere in problemi. I messaggi di commit sono sicuramente un vantaggio per Git.
PTS

6

Solo per aggiungere alle risposte precedenti: anche se non c'è nulla di simile a Git per il mondo dei video, ci sono strumenti di gestione delle risorse digitali / gestione delle risorse multimediali che possono più o meno fare la stessa cosa: controllo della versione e autorizzazione / gestione degli utenti (lo fanno anche molto di più, dal momento che sono davvero costruiti come librerie per i tuoi media). Per anni ho usato l'app Final Cut Server di Apple (ora obsoleta) che si integrava con Final Cut Suite (Final Cut Pro 7, Soundtrack Pro, ecc.) In una piccola struttura di posta.

Lo abbiamo usato per il controllo della versione e la diramazione dei file di progetto, che ha permesso a più editor di lavorare su un singolo progetto in modo relativamente semplice. Poiché si trattava di un prodotto Apple, è stato progettato per essere utilizzato con Final Cut Pro e pertanto potrebbe leggere e lavorare con i file di progetto FCP molto facilmente. Ciò nonostante, il controllo della versione di Final Cut Server si basava sul salvataggio delle versioni precedenti dell'intero file di progetto, ma non utilizzava diff. Non conosco alcun DAM che lo faccia proprio per il motivo che una risposta precedente aveva già sottolineato: ci sono troppi formati proprietari (anche se, ironicamente, molti di essi ora fanno affidamento su XML come spina dorsale per quei formati di file di progetto ).

FCS è stato fantastico perché era relativamente conveniente. Non c'è mai stato nulla di analogo per Premiere Pro. Al giorno d'oggi, sfortunatamente, avrai bisogno di distribuire un bel po 'di cambiamenti per ottenere capacità simili, soprattutto perché questi strumenti sono davvero progettati per le strutture postali, non un singolo editor. Richiedono inoltre integrazione / configurazione potenzialmente significative.

Ecco alcune opzioni (non ho relazioni con nessuna di queste aziende, si basa esclusivamente sulla mia ricerca alla ricerca di una soluzione simile):


5

Il controllo della versione non ha davvero un posto nell'editing video perché è per natura non distruttivo. Alla base di qualsiasi NLE (editor video non lineare), l'output è in realtà qualcosa noto come elenco di decisione di modifica o EDL. Questo è estremamente analogo alla storia in Lightroom in quanto tale cronologia è una registrazione di tutti i cambiamenti che sono stati applicati in ordine.

Gli NLE funzionano dalle clip sorgente. Prendono i punti di inizio e fine di tali clip per posizionarli in una sequenza temporale e quindi gli effetti possono essere applicati a tali risorse in un determinato ordine (in base al posizionamento degli effetti), tuttavia sono tutte decisioni di modifica e vengono applicate al volo ( o eventualmente convertito in file di anteprima temporanei). Il rendering dell'output finale è il risultato dell'applicazione dell'intero EDL alle clip di origine.

È possibile salvare una versione del progetto per poter tornare a una versione precedente dell'EDL se lo si desidera, ma ciò non è generalmente necessario a meno che non si stia ramificando molto intenzionalmente per provare un approccio alternativo alla modifica di una sequenza ( nel qual caso una copia di quella linea temporale è spesso comunque una scelta migliore.)


Cosa intendi con "non distruttivo" e NLE qui?
Pacerier,

Un NLE è un editor non lineare (nome tecnico per la maggior parte dei software di editing video.) Non distruttivo significa che le modifiche non comportano la distruzione delle risorse. Sta formando un elenco di modifiche da apportare, che è sostanzialmente la stessa cosa che fa il controllo di versione. Quando si apportano modifiche al codice, ciò è distruttivo perché le nuove modifiche distruggono quelle precedenti. Con un NLE, le tue risorse rimangono tutte inalterate e stai solo modificando un elenco di sezioni da utilizzare e filtri da applicare.
AJ Henderson

Quindi vuoi dire che possiamo dire al programma di editing video "ripristinare la versione 2.5", modificare abit, quindi dirlo "ripristinare la versione 7" ed è in grado di farlo?
Pacerier,

1
No, significa che hai sempre il tuo video principale. Il presupposto è che riprodurre gli effetti / tagli che avevi in ​​precedenza non è difficile, o che salvare i file di progetti con un VCS sarebbe più lavoro che semplicemente reinserire le decisioni di modifica. In caso contrario, la versione controlla i file di progetto. Sebbene senza la possibilità di unire le modifiche da rami diversi, è probabilmente più utile scrivere semplicemente i numeri di fotogrammi esatti che ci è voluto molto tempo per scoprire che era il posto giusto per un taglio, o qualcosa del genere.
Peter Cordes,

3

Se lo abiliti nelle preferenze, After Effects e Premiere effettuano automaticamente salvataggi incrementali dei file di progetto. preferenze di salvataggio automatico

Questi salvataggi incrementali potrebbero essere utilizzati per ripristinare le versioni precedenti, il che è come un'implementazione di base del controllo di versione (potresti voler aumentare il numero di versioni da 5). FCP ha una funzione di "ripristino dalla versione precedente", che è utile per quando manipola i tuoi file di progetto. After Effects ha (ma Premiere no, vai a capire) la possibilità di salvare in modo incrementale un progetto. Lo uso sempre quando sto apportando grosse modifiche a un progetto e voglio essere in grado di tornare al trunk principale, per così dire.

Per un maggiore controllo, si potrebbe immaginare, utilizzare il software di controllo versione per gestire le cartelle in cui si conservano i file di progetto e i salvataggi automatici, in modo che gli editor verifichino il taglio corrente e commettano le modifiche, purché tutti i media fossero accessibili a livello centrale o copiati sulle macchine di tutti nello stesso percorso relativo. Non ti permetterebbe di fare fork e unire le modifiche di altre persone, come puoi fare con il codice, sarebbe una caratteristica interessante (direi che potrebbe essere implementata con gli script estesi di Adobe, a condizione che le tue abilità siano fino alla riscrittura Git o SVN in Javascript).


1
Sì, per diffondere e unire, il tuo VCS deve capire i file di salvataggio del tuo NLE, oppure il NLE deve fornire il diff / merge. (ad es. Dato un programma che può unire le modifiche in un file di progetto, dato un antenato comune, penso che potresti impostare git per usarlo git mergetool, per poter unire commit di alberi contenenti file di progetto modificati.)
Peter Cordes

È possibile utilizzare extendscript per "salvare" il progetto corrente ottenendo tutte le proprietà di tutti gli elementi del progetto e salvando i dati in un file. Ma anche per un progetto moderatamente grande che potrebbe richiedere molto tempo. Se lo facessi, potresti creare un sistema di controllo della versione.
Stib

3

Come professionista di video a lungo termine posso attestare che la necessità di una forma leggera, robusta, trasparente e aperta di un VCS è gravemente carente nella maggior parte dei flussi di lavoro multimediali. Il problema tuttavia è multiforme ed è sia culturale sia tecnico.

Tradizionalmente, abbiamo lavorato in una fabbrica di salsicce come un progetto in cui il progetto è illuminato da sceneggiatura, passa alla produzione, una volta avvolto va in post-produzione e quindi un output finale viene consegnato al braccio di distribuzione che poi gira via le uscite del dispositivo / piattaforma .

Oggi questo approccio simile a una fabbrica è un'illusione in cui il passaggio tra post-produzione e distribuzione in particolare non è mai chiaro. C'è un sacco di avanti e indietro con tagli / modifiche per lingue / mercati diversi che non dovrebbero mai tornare indietro e fare mastering per l'ultimo formato, ad esempio. Quindi c'è la necessità di accedere alle versioni finali per scopi di marketing ... Di conseguenza, la necessità non solo di parti remote, ma di persone che potrebbero non incontrarsi mai per avere una comprensione catalogata e definitiva di quale versione devono lavorare. Ciò si estende non solo ai codici master ma a tutte le versioni di quel master per mercati diversi, nonché alle versioni degli asset che sono state utilizzate per creare ciascun master.

Solo ora la comunità tecnologica dei media si sta impegnando su ciò che è veramente una versione ed è regolarmente discussa a causa della miriade di diversi flussi di lavoro e preoccupazioni. Lo scompongo come una versione funzionante e una versione di distribuzione. Ci sono sforzi per rimediare a ciò all'interno della distribuzione creando un formato di file di archivio che tiene traccia delle versioni al suo interno (per combattere il fatto che ci siano più strumenti, piattaforme ecc.) - questo è chiamato Interoperable Master Format (IMF - da non confondere con il banca) e viene gestito tramite SMPTE. La cosa positiva di questo è che si sta muovendo per fornire interoperabilità tra la miriade di sistemi di gestione patrimoniale digitale (quelli che vogliono supportarlo) che sono là fuori - alcuni studi che conosco hanno sistemi di gestione patrimoniale che si contano a centinaia - questo sarebbe aiutarli internamente e tanto meno per handoff esterni. Ovviamente non è stato ancora utilizzato in un ambiente di produzione visto che è progettato come un formato a livello di archivio (Netflix ora lo utilizza). È anche un file molto pesante senza un modo semplice per crearlo a meno che tu non abbia il capitale necessario per investire negli strumenti. Netflix ha rilasciato un set di strumenti open source che offre capacità di lettura che è piacevole. È anche un file molto pesante senza un modo semplice per crearlo a meno che tu non abbia il capitale necessario per investire negli strumenti. Netflix ha rilasciato un set di strumenti open source che offre capacità di lettura che è piacevole. È anche un file molto pesante senza un modo semplice per crearlo a meno che tu non abbia il capitale necessario per investire negli strumenti. Netflix ha rilasciato un set di strumenti open source che offre capacità di lettura che è piacevole.

Per quanto riguarda la versione funzionante o il livello di produzione, ritengo che sia necessario fornire un VCS (come forse una forma modificata di git) che chiunque può utilizzare, non importa quanto grande o piccolo, al fine di facilitare il lavoro remoto. I file multimediali sono ovviamente molto più grandi dello scambio di codice o librerie, ma le decisioni prese su questi file sono il componente chiave. Per quanto mi riguarda, vorrei provare a lavorare in remoto tramite git commit, solo per evitare le convenzioni di denominazione di 'file_Final_FINAL_MASTER_version3.mxf' che vengono scambiate avanti e indietro.


2

Avevo la stessa domanda, essendo anche un ingegnere del software di professione, pensando al lavoro di Photoshop.

possiamo dire al programma di editing video "ripristinare la versione 2.5", modificare un po ', quindi dirlo "ripristinare la versione 7" ed è in grado di farlo?

Ho scoperto che Photoshop mi consente di impostare una versione con nome nella cronologia e penso che sia salvata nel file ...? Per le revisioni (voci nell'elenco cronologico) a cui non è stato assegnato un nome, i nodi vengono persi dal display quando viene apportata una modifica a una posizione precedente (diramazione) e non viene esposto alcun reflog.

Le nuove versioni di Premiere sembrano avere un registro storico simile e immagino si stia evolvendo verso la stessa architettura interna, dove ogni modifica è un'altra copia del progetto che condivide la maggior parte delle statistiche con la precedente. Se la cronologia ha checkpoint salvati, è molto simile a un git store: ogni versione contiene riferimenti (condivisi) agli elementi sottostanti fino alle definizioni del segmento. Poiché il video stesso non si trova nel file, si presta bene a far crescere sempre più versioni con un piccolo aumento delle dimensioni.

Ho visto un seminario in cui qualcuno del team di sviluppo di Photoshop ha spiegato l'architettura. Sembra che le voci della cronologia che vedi siano analoghe alle versioni git, come i display gitk. La denominazione della versione è la stessa di un tag git. È possibile ripristinare qualsiasi revisione visibile puntando ad esso, e ripristinare di nuovo troppo. Ma apportare qualsiasi cambiamento che viene messo nella storia è come fare un aggiornamento completo (shift o ctrl F5) - perdi tutto ciò che non è incatenato dall'attuale ramo del ramo o tag chiamato (ma penso che cose come i riferimenti clone-source siano ancora punta alla versione ora invisibile).

Ma non è quello che sto scrivendo per suggerire. Ho impostato il volume NAS in cui risiede il mio progetto per creare un'istantanea ogni 3 ore. Windows ha un meccanismo di checkpoint ma penso che non sia configurabile; Mac Time Machine fa qualcosa di simile.

In generale, puoi archiviare tutte le versioni salvate del file e in Premiere che non contiene tutte le risorse (costanti) importate, quindi è ragionevole salvarle tutte, anche senza poter usare delta per salvare solo ciò che è cambiato.

Riapprendo semplicemente Premiere e diventando più aggressivo nel provare cose, sono fiducioso di poter tornare se la prossima volta che ci lavoro mi pento di ciò che ho fatto, o ho trovato un modo migliore e voglio farlo di nuovo. Questo è un efficace sistema di revisione delle versioni. Facendolo sul NAS, sono anche protetto da un BSOD che distrugge l'intero progetto durante il salvataggio. :)

aggiornare la cronologia è di breve durata, il valore predefinito è 32 voci. È vuoto quando viene caricato il progetto. Tuttavia, il salvataggio automatico non si limita a salvare sullo stesso file come nella maggior parte dei programmi; piuttosto li numera e li mantiene. Quindi, posso vedere i timestamp dei file e caricare una copia precedente, che mi dà una cronologia delle versioni di checkpoint di 15 minuti. Nel mio caso, ogni file è 44K, il che non è nulla rispetto alla dimensione dell'asset: è la dimensione di 76 millisecondi di audio o 1/7 di un fotogramma di metraggio di schede SD di classe 10 .

Se hai in mente la presenza di mantenere un checkpoint con un nome significativo, basta salvare Copia con nome. Ma il salvataggio automatico, impostato su un'alta frequenza, può essere utilizzato per rivisitare qualsiasi stato (fino a quel momento granulatity) senza pianificazione anticipata, con poco sforzo.

Una nota per quei non ingegneri che non hanno familiarità con il controllo delle versioni: oltre alla possibilità di eseguire il backtracking del tuo lavoro in modo ovvio, lo uso spesso anche per verificare cosa ho appena modificato o confrontare con lo stato prima di iniziare l'attività corrente o confronta con l'ultimo verson che è stato condiviso con il gruppo.

Poiché Premeire ora supporta l'apertura di più progetti nell'area di lavoro, sarebbe possibile avere un'impostazione dell'area di lavoro della disposizione delle finestre per confrontare due linee temporali. Cioè, fai un uso più efficace di avere quelle versioni, non solo per il backup. Dico spesso ai programmatori che non usano git come diventa uno strumento generico, come un editor di testo.

Mi chiedo come i registi professionisti gestiscono il controllo della versione, se non altro che ad hoc? Il design del salvataggio automatico sembra abbastanza intenzionale e lo strumento di groupware integrato per la scrittura di script ha un tracciamento esplicito della revisione visibile.


0

Avere il controllo della versione per i file video stessi non è pratico perché in primo luogo sono enormi, in secondo luogo si stanno muovendo (hai intenzione di preservare ogni frame?), In terzo luogo, sono immutabili. Cioè, i file originali non cambiano mai durante la modifica.

Ma il controllo della versione per i file di progetto ha molto senso. Attualmente, dopo ogni modifica significativa, creo un nuovo file di progetto e gli conferisco un nome descrittivo: cosa ho fatto, cosa ho aggiunto e cosa ho rimosso. In sostanza, devo mantenere la cronologia manualmente tramite i nomi dei file. Avere i file di progetto sotto il controllo della versione è un'ottima idea, perché non ci avevo pensato prima!

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.