Video Slave - Pilotare video SMPTE da comandi MIDI

La timeline audio sincronizzata con la traccia video: quasi tutti gli editor audio avanzati hanno un supporto ai video, consentono di caricarli e di mantenere il sinc degli audio registrati, sia attraverso l'SMPTE che gestendo il Matroska TC in timeline caricando direttamente il video e agganciandolo. Quasi tutti, a dire il vero sono le DAW a fare questo: Pro Tools, Logic, Cubase/Nuendo solo per citare i più famosi e usati, ma anche Audition gestisce i video in timeline fin dai tempi di Cool Pro. Ce ne sono altri direi, fra questi non figura ancora Twistedwave, ma è un editor e non nasce per doppiare video anche se un aggiunta al supporto MTC sarebbe niente male, dato che di video se ne doppiano a pacchi... spero in un upgrade! Neppure Audacity per il momento supporta i comandi l'MTC e ancora peggio, Audition l'ha perso nel passaggio di versioni da Syntrillium ad Adobe.
Certo, puoi semplicemente caricare il video in timeline, ma non sempre ottieni un video su monitor TV, al limite hai una finestra video flottante e se passi a una seconda applicazione durante il play/rec, ad esempio un editor di testo, il video scompare. Poi per i computer meno performanti o per sessioni particolarmente ricche di plug in audio virtuali, l'affidamento di questo supporto a software esterni che non intacchino le performance è spesso necessario, per evitare di trascinarsi dati video e decodifiche.
Ma ci sono altre situazioni che richiedono e rendono preferibile un "server di riproduzione video"...
come ad esempio mantenere un sync tra la timeline audio e un apparato di trasmissione video per portare l'immagine a un grande schermo o a un pool di schermi, un concerto con proiezioni in sincronia con audio, oppure in un doppiaggio a distanza... solo per citare alcuni possibili usi ma ce ne sarebbero anche altre di ragioni:
- Logic non supporta periferiche per spilittare video su monitor TV esterni come la Blackmagicdesign Intensity, però gestisce i segnali MTC.
- Cubase ha supporto nativo per BM Intensity Pro ma ha un problema che lo affligge da tempo con "videoservice", il suo motore video che blocca spesso il programma e che deve essere riavviato per riprodurre i video. Si blocca anche in assenza di video in timeline ma escludendo l'uso diretto di video il problema non si verifica più o perlomenno può essere ignorato dato che gli MTC continuano a funzionare.
Come fare:

basta lasciare inattivo il servizio. Si passa in firewire e si disattiva. Non ho mai capito se il baco è riferito ai driver Nvidia su Mac o ad altre ragioni (lo fa anche su ATI...) ma pare che neppure Steinberg abbia trovato soluzioni. Non lo uso dalla 7.5 se non per riprendere vecchi progetti, magari ora va meglio!
Cubase quindi, come Nuendo e quasi tutti gli altri sequencer, supporta i comandi MTC/MIDI per la time line.
- Pro Tools idem come sopra. Non lo tratterò qui perché sono rimasto alla 9 M-Powered e non credo andrò oltre, ma valgono le stesse logiche.
Come si usa Video Slave e quali sono le basi
Nota: questo articolpo si riferisce alla prima versione di Video Slave (Video Slave 2), la nuova versione ha aggiunto una funzione che attiva un canale MTC in automatico, ma buona parte delle operazioni da fare sono ancora le stesse, in particolare, il concetto di pilotare una periferica remota via MTC è sempre identico, con o senza Video Slave.

Video Slave nasce con supporto nativo alla Intensity Pro della Blackmagicdesign e proietta su televisori analogici o digitali in analogico o HDMI. Quindi anche verso device Video Capture per lo streaming.
Pilota separatamente l'audio che può essere splittato dove ti pare o messo in mute, se preferisci importare le tracce audio in time line e avere solo le immagini. Molto flessibile.

Flo è il programmatore che ha ideato Videoslave, ha diversi software al suo attivo nel sito NonLethalApplications (NLA), Videoslave non è gratuito ma è di sicuro un tool utile e ben realizzato, ma non lavora come un plug in, è una applicazione stand alone che riceve i dati MTC.
Prima di addentrarmi nall'avvio del servizio MTC su Mac, premetto che alcune informazioni sono le basi per comprendere ogni eventuale problema si possa incontrare nella sincronia tra DAW e Video Service:
A- I video devono supportare il Time Code SMPTE e in genere per poter scrivere un TC sul video e agganciarlo alla DAW meglio usare un mov, anche H264 ma non un m4v o flv o altri formati simili con codifiche Maroska. In molti casi quindi meglio convertire. (nella versione Video Slave 2 non è più necessario, migliorata la compatibilità)
B- Alcune DAW cominciano a leggere il TC da 01.00.00.00 invece che da 00.00.00.00, quindi il TC deve essere settato correttamente, o nella DAW o in Video Slave, è l'orologio con cui regoli l'appuntamento con il video: se gli dici che arrivi alle 00.08.00 ma lui arriva alle 01.08.00 tu sei già andato via. Guarda le immagini per capire a cosa mi riferisco:

Logic

Cubase

Ed ecco come appare il Time Code su Video Slave.
Sia la DAW che Video Slave devono essere settati con lo stesso fps (fotogrammi per secondo), quello del video e occorre assegnare il momento di start del Time Code (TC) ovvero quando dovrà andare in play. Se lo lasci a "01.00.00.00" e metti in play Cubase che inizia a lavorare da "00.00.00.00", il segnale di play arriva dopo 60 minuti, ovvero 01 ore.00 minuti.00 secondi.00 frame... dopo.
Se metti uno 0 al posto dell'1 che vedi nell'immagine, partirà dal punto 0 del TC della DAW.
Se metti "00.00.10.00" allora Video Slave partirà dopo 10 secondi sulla Timeline di Cubase o Logic. Chiaro?
Ma c'è di più, puoi inserire molti video in sequenza e settare in momento di partenza sequenziale, uno che inizia a 00.00.10.00 e finisce a 00.00.20.00 (10 secondi di play) e il successivo che parte a 00.00.35.00 cioè dopo 15 secondi dalla fine del primo video, e via dicendo (Video Slave 2 modifica e migliora questa fase). La timeline diventa il nastro trasportatore e Video Slave si aggancerà ai momenti che tu deciderai.
Guarda questo progetto dove Logic pilota Video Slave con 5 video in sequenza:

Abilitando "Enable separate SMPTE View Offset" il display di Logic comincia il conteggio del tempo da 0.

Video Slave è uno "slave", cioè uno schiavo che aspetta gli ordini del padrone, la DAW.
Ma gli ordini come arrivano?
MTC segnali di sync SMPTE attraverso la rete
La rete... è possibile usare i Midi Time Code (MTC) per comandare sia a distanza che in locale! Per comandare un secondo computer dedicato al solo video su isa la rete, metti caso che tu debba far girare video mooolto pesanti 2K o 4K... oppure far partire il televisore del nonno che abita ad Avellino mentre sei a Scortichino alla fiera della salsiccia, con MTC potresti farlo. Setup valido per un loop di rete nel computer ma è comunque molto simile al setup su rete LAN e perfino per TCP/IP o via internet:
- puoi cliccare sulla lente di Spotlight e scrivere "midi" oppure accedere a Applicazioni>Utility>Midi>Configurazione MIDI Audio.
- Con Configurazione MIDI Audio selezionato cerchi "Finestra" nel menù e scegli "Mostra Finestra Midi" oppure premi CMD+2.
- La finestra di lavoro è Studio Midi, e ci interessa l'applicazione "Network".

Ora apri Network, aggiungi una sessione con il simbolo +e imposta nome e porte, così da definire chi riceve e chi invia. Questo perché i dati MTC si possono anche ricevere per rendere una qualsiasi applicazione "slave" di un'altra, un po' come "rewire".
Clicca qui per una pagina esplicativa molto chiara!
Qui sotto quasi... pure... più o meno!
Quando aggiungi una sessione, di solito la porta viene attivata automaticamente.
Nel nome Bonjour metti il mome che verrà visto dala rete.
Il pulsante Connetti serve per connettere il servizio, prima devi clicare sulla scrita con il led verde poi su connetti.
Ad ogni riavvio del computer devi cliccarci sopra se intendi usare MTC, altrimenti la porta resta chiusa e i dati MTC non vanno da nessuna parte.
Da fare sempre all'avvio di una sessione: i dati MTC devono essere attivati attraverso la sessione MIDI, quindi prima di iniziare, clicca su una delle sessioni, MTC con lucetta verde, clicca su connetti e metti la sessione attiva fra i partecipanti. Basta una volta e fino a che non spegni il computer resta attivo a meno che non attivi il servizio tra quelli d'avvio.
MTC Send e MTC Receive sono attivati, MTC send sulla porta 5400 e MTC Recive sulla 5600. Per uso locale basta così, clicchi su MTC Send o Receive e clicchi "Connetti".
Ora passiamo a Video Slave.
Una volta aperto Video Slave, clicca sul menù proprietà e vedrai la finestra qui sotto. Come puoi vedere devi assegnare una MTC/MMC sorgente (source) che sarà l'ingresso del segnale di comando.
Nota: nel passaggio precedente puoi aggiungere più MTC chiamandoli con altri nomi, che so MTC Receive Logic, MTC Receive Pro Tools e via dicendo, per assegnare ingressi indipendenti dalle diverse fonti in modo da non incrociare i comandi se tieni aperti contemporaneamente più applicazioni che usano MTC/MMC ma una per il momento basta questo.
Osserva l'immagine sotto:

MTC Receive sarà la tua scelta, ma come vedi le altre periferiche controller collegate sarebbero disponibili o accessibili.
Le opzioni sotto riguardano il comportamento del programma. Dipende da come preferisci che si comporti.
Ora tocca al Comandante!

Video Slave necessita di ricebere ordini, comandi SMTPE dalla Timeline per mettere in play il video in sincronia. Sulla pagina di NLA c'è una spiegazione abbstanza dettagliata ma per Cubase ci sono procedure differenti non spiegate che però trovi qui sotto.
Qui la pagina: NLA Supporto e setup!
Qui la schermata di Cubase, raggiungibile dal menù Trasporto>Imposta sincronizzazione Progetto.

Il Sync dei fotogrammi è fondamentale, pena il mancato aggancio. Su Cubase si regola nelle impostazioni progetto e deve corrispondere a quello del video.

Ed ecco che parte, premendo il tasto di SYNC su Video Slave!
Qui la schermata di Logic da cui far partire i comandi MTC.
Pulsante destro o (cmd click) sul pulsante REC oppure da preferenze arrivi fino a Recording Settings.
Qui sotto cosa e come. Fatto una volta e salvato come setup, non dovresti più averne bisogno.
Anche Logic richiede che ci sia sintonia tra Video Slave e il frame rate del progetto Logic. Se il tuo video sarà a 25 FPS metti anche il progetto nella giusta condizione. Vedi l'immagine che vale più di mille parole. Questo valore cambierà a seconda del frame rate video che dovrai pilotare! Il frame rate compare come informazione su Video Slave.
Ora come fare a mettere in Sync!
Adesso che tutto è pronto, devi aprire un progetto (Logic, Cubase, Pro Tools...) e anche una sessione di Video Slave che provvederai a settare con l'MTC receive, il tuo schermo e via dicendo.
Video Slave presenta una schermata nera che rappresenta lo schermo, su cui puoi mettere il contatore di TC e spostarlo dove preferisci, sullo schermo TV si muoverà in tempo reale.
Trascini il video che ti serve nella pancia di Video Slave, poi entri in EDIT e gestisci il Time Code che devi preparare a seconda di quando vuoi che il video parta rispetto alla time line della tua DAW. Puoi lasciarlo aperto in un angolo, appena riceverà un segnale di Time Code sulla base del Time Code assegnatogli, lui partirà mettendo in play il video caricato in play list e il relativo audio. Partirà a patto che anche il pulsante Sync (il primo a sinistra) sia attivato. Ti ho già detto che l'MTC deve essere attivato quando fai log in o riavvii il computer? Ah, sì, ok! Scusa.
La sessione Video Slave la puoi salvare, magari proprio nella cartella dove hai il resto dei file di progetto del lavoro che stai eseguendo. La sessione play list non contiene i file video veri e propri ma solo un collegamento, come le play list di VLC per intenderci quindi metti anche i file video nella cartella, così li ritrovi.
L'audio si può regolare dall'interfaccia principale, abbassare, mettere in mute, sportare left-right.

OFFSET/DELAY COMP si occupa di compensare il ritardo, per capire come gestirlo si può importare l'audio del video in timeline sulla DAW, posizionarla all'inizio del Time Code come settato in Video Slave, mettere su un solo canale l'audio di Video Slave, sull'altro canale (quindi uno su L e uno su R), poi aumentare o diminuire il Delay fino a che scompare l'efetto riverbero che si sente dovuto al leggero ritardo di uno dei due audio. In locale in genere è sui -02/-03 frame. Basta evidenziare col mouse il display qui in foto e cambiare i valori.

Ma non è finita, se parliamo di SMTPE e Midi Time Code via rete, il passo successivo è pilotare un computer con un'altro computer. L'ho fatto utilizzando il protocollo Bonjour, ma nulla vieta di aggiungere una connessione TCP/IP. Il risultato è il medesimo.
Il nome cha darai alla tua connessione MTC diventa importante per poter riconoscere con chi collegarsi in rete. Nel filmato è possibile vedere tutto il percorso, dalla creazione della connessione all'avvio di logic su una macchina, che pilota Video Slave su un'altra macchina.
Ciao e grazie di avermi letto fin qui,
Paolo
video test con spiegazioni - 20 minuti
Il contenuto YouTube non può essere visualizzato a causa delle impostazioni dei cookie. Per acconsentire al caricamento e alla visualizzazione del contenuto YouTube devi accettare i cookie funzionali di YouTube dal relativo banner;).

