venerdì 28 febbraio 2020

Spezzare un file multimediale


Mi capita a volte di dover spezzare un file multimediale (principalmente audio) in varie parti senza perdere in qualità di riproduzione: ffmpeg (https://www.ffmpeg.org) è lo strumento ideale per fare questo genere di cose ma ha una interfaccia a linea di comando che che è molto complessa e difficile da ricordare.
Per questo motivo ho scritto un semplice script nel linguaggio JOE (https://github.com/mbertacca/joe) che semplifica l'uso di ffmpeg, almeno per le mie esigenze. Questo script e tutto il necessario per farlo funzionare può essere scaricato da https://github.com/mbertacca/ffjoe.
In realtà anche questo script si usa da linea di comando, ma richiede solo le informazioni minime indispensabili per fare il proprio lavoro.

Lanciando lo script da linea di comando, viene visualizzato il seguente semplice help:

Usage: joe C:\Users\marco\bin\ffjoe.joe <tag> [ ... ]
Available tags:
   @setArtist
   @split
   @help
   @setAlbum

Per dividere un file è necessario specificare la tag @split seguita dal nome del file da spezzare e da una serie di coppie <nome> <tempo-d'inizio> corrispondente a quanti file si desidera ottenere.

Un esempio di come dividere un file in 4 parti è il seguente:

ffjoe @split "Schubert String Quartet No 14.mp3" "01 - Allegro" 00:00 "02 - Andante con moto" 11:26 "03 - Scherzo. Allegro molto" 24:50 "04 - Presto" 28:58

È possibile anche specificare anche l'artista e l'album da includere nei metadati tramite le tag @setArtist e @setAlbum.

Questo è l'esempio precedente con l'aggiunta di metadati.

ffjoe @setArtist "Borromeo String Quartet" @setAlbum "String Quartet No. 14 in D minor" @split "Schubert String Quartet No 14.mp3" "01 - Allegro" 00:00 "02 - Andante con moto" 11:26 "03 - Scherzo. Allegro molto" 24:50 "04 - Presto" 28:58

Per usare questo script è necessario avere Java e ffmpeg installati sul proprio computer. Sono disponibili due script, uno per Unix/Linux (ffjoe.sh) e uno per Windows (ffjoe.cmd) per semplificare l'uso. Tutti i file debbono stare sotto una medesima directory.


Nessun commento:

Posta un commento