Bluebabbler Video Studio

Ed ecco un’altra scemenza da condividere.

Oltre a frasi e parole di racconti e novellette del piffero, insieme al lockdown avevo riscoperto (di nuovo) il piacere di buttare giù righe di codice. Per divertimento. E, avendo rinunciato ad alcuni progetti troppo ambizioni, ho potuto sfruttare le risorse liberate (tempo, strumenti e motivazione) per cose altrettanto divertenti.

In realtà è tutto iniziato qui, con l’installazione di Visual Studio 2019 su un vecchio laptop che lavorava, indefesso, da undici anni:

Il vetusto laptop è andato a farsi friggere (letteralmente), ma le idee e le righe di codice di un semplice side project hanno continuato a scorrere, molto lentamente, su altri hardware.

Scopo del progetto era realizzare un piccolo strumento per la creazione di animazioni, soprattutto per stop motion e cartoon. Semplice e accessibile anche su un vetusto e indomito, ma fritto, laptop della vecchia scuola.

Quando faccio riferimento alla stop motion, penso soprattutto ai tanti progetti che ha realizzato mio figlio maggiore durante la famigerata DAD, la didattica a distanza. Lui principalmente lavora con i LEGO, è bravo, e mi ha inconsapevolmente ispirato a provare a realizzare uno strumento adattato al suo modo di creare, visto che in passato abbiamo dovuto utilizzare strani mix di software + hardware + cose.

Tra le fonti di ispirazione posso citare senza dubbio Opentoonz, che è fantastico, che è stato usato anche da Studio Ghibli ma che è anche pesante e complesso, mentre io volevo un approccio leggermente diverso. C’è, ad esempio, anche Animation Paper, che ha un sacco di idee notevoli ma rimane molto legato all’animazione disegnata.

La cosa piuttosto pazza è che pur trattandosi di un editor grafico e quindi un progetto legato in maniera forte all’interfaccia utente, ho cominciato a sviluppare il Bluebabbler Video Studio (l’ho chiamato così) tutto in Test Driven Development e con un approccio API-first. Se questi termini non ti dicono niente, non ti preoccupare: si tratta di roba da sviluppatori. In parole povere invece di partire dalle finestre, dai pulsanti, dai cursori e dalle schermate con la grafica ho iniziato a usarlo dalle librerie di codice sottostanti. Invece di iniziare a costruire un’automobile dalla carrozzeria, dal telaio e dalle ruote, ho iniziato dal motore. E ci sono anche andato in tangenziale.

La conseguenza è che le prime animazioni hanno visto la luce scrivendo righe di testo, non muovendo un mouse o una penna su una tavoletta grafica. È, riprendendo il paragone, sempre come andare in giro a cavallo di un motore.

Per quanto riguarda l’interfaccia utente, l’idea iniziale era di realizzare qualcosa che fosse compatibile con più piattaforme. Essendo Microsoft Uno acerba, avevo pensato di usare Avalonia, che è un progetto stabile e interessante. In realtà per procedere a un certo punto mi sono ritrovato davvero a dover mettere in piedi un po’ in fretta qualche finestra, e quindi è riemersa la primissima scelta, il WPF, che non sarà portabile e ha i suoi problemi ma almeno mi ha permesso di iniziare a lavorare.

Riassumendo, per i nerd interessati ai dettagli tecnici, lo stack tecnologico comprende:

  1. C# su .NET Framework 6.
  2. Avalonia per l’eventuale porting su altre piattaforme.
  3. Aforge come strumento per elaborazione di immagini e cattura dei fotogrammi.
  4. FFmpeg (scelta quasi obbligata) per tutte le conversioni video.
  5. Nustache per tutto il templating testuale.
  6. Git per il source control.

Il futuro di questo progetto? Se mai avrò tempo per portarlo avanti, vorrei usarlo come strumento per realizzare semplici animazioni da buttare su questo canale. Non serve che sia tutto perfetto, non serve che sia tutto funzionante. Ma deve essere il mio strumento, con una filosofia e un approccio di cui ti parlerò un giorno. Ti farò anche vedere come funziona. Poi, se mai arrivasse a fornire un set minimo di funzioni utili, potrei decidere di condividerlo su Github (gran parte dello stack è open source).

Nel frattempo però, per accelerare i tempi geologici (al momento sono fermo), avrei davvero bisogno di un vero laptop da utilizzare per lo sviluppo, visto che il vetusto non ce l’ha fatta. Qualcosa che non costi troppo e che sia sufficientemente potente per realizzare un ‘robo’ di questo genere. Idee? Quanto potrei spendere? Cosa posso fare se non ho i soldi, se l’automobile deve essere sostituita e se la bolletta del gas e della luce rischiano di raggiungere cifre folli?

E, ancora, se ogni tanto pubblico sul blog cose riguardanti questo progetto, mi abbandoni oppure porti pazienza? O, addirittura, ti possono interessare?

7 risposte a "Bluebabbler Video Studio"

Add yours

    1. Grazie. Purtroppo le idee sono sempre molte ma MOLTE di più del tempo e delle risorse a disposizione. Non potendo ancora contare sull’immortalità, a volte guardo con sconforto questa massa di roba che rimarrà sicuramente incompiuta.

      Piace a 1 persona

      1. lo capisco perfettamente. ogni giorno vorrei fare cose nuove, mi vengono mille idee in testa, ad esempio ho da diverso tempo in testa di fare un rpg con rpg maker. Compro corsi online che mi insegnerebbero a fare quello che ho in testa ma poi, citando Blade Runner visto il vicinissimo anniversario, tutto si perde come lacrime nella pioggia. 🙂

        Piace a 1 persona

      1. Anche a me piacciono molto. Avevo diverse cose scritte in Qt. Stavo facendo una applicazione che ti permettesse di eseguire script bash in parallelo e anche in remoto su vari nodi. Potevi organizzarli secondo un albero. Frutto di un contest Qt. Vorrei pubblicare il tutto su github ma sono cose che ho sviluppato all’epoca di Qt4. Oggi sono alla versione 6. Non so se poi il codice è decente o pessimo e quindi invece di una buona pubblicità mi farei una pessima pubblicità.

        Piace a 1 persona

        1. … non è che su GitHub sia tutta roba perfetta, eh. 😉 Purché un progetto sia utile ad altri, una pulitina e via. Magari qualcun altro potrà contribuire con del codice più pulito o organizzato.

          "Mi piace"

Esprimiti

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo di WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...

Questo sito utilizza Akismet per ridurre lo spam. Scopri come vengono elaborati i dati derivati dai commenti.

Crea un sito o un blog gratuito su WordPress.com.

Su ↑

%d blogger hanno fatto clic su Mi Piace per questo: