
Chi possiede come me una videocamera del tipo MiniDV, ha il fastidioso problema di dover prima catturare le registrazioni in formato raw (files con estensione .dv) e poi convertirle in un formato a noi più comodo. Questa guida descrive i passi da seguire per ottenere files di tipo matroska (.mkv con compressione x264) partendo dai video sulla nostra videocamera, chiaramente utilzzando un pc con sistema operativo Linux.
Requisiti
- dvgrab: per catturare lo stream audio/video dalla videocamera e trasferirlo su file .dv
- ffmpeg: per convertire i video da .dv a .mkv
- mkvmerge: per unire più video in un unico .mkv (di solito il pacchetto di utilità che contiene questa applicazione è mkvtoolnix)
Mettiamoci all’opera
Colleghiamo la nostra videocamera alla porta firewire, riavvolgiamo tutto il nastro e lanciamo il comando per catturare il video:
$ dvgrab --autosplit --format raw --size 0 --opendml capture-
nella cartella corrente vengono creati una serie di file che iniziano per capture- con estensione .dv che contengono i video catturati dalla videocamera.
Il passo successivo è quello di convertire ogni singolo file da.dv a .mkv avvalendoci di ffmpeg. Per velocizzare l’operazione ho scritto questo semplice script bash:
#!/bin/bash # NAME: dv2mkv # DESC: bash script to use ffmpeg to convert .dv files into .mkv (x264) files passing only a folder # require ffmpeg, libx264 and basename script # before can use command: # $ dvgrab --autosplit --format raw --size 0 --opendml capture- # to capture video from MiniDV camera to .dv files on hard disk # ffmpeg parameters to use for conversion FFMPEG_PARAMS="-acodec libmp3lame -aq 4 -vcodec libx264 -preset medium -crf 24 -s 720x576 -aspect 4:3 -deinterlace -threads 0" # check for parameter presence if [ -z $1 ]; then echo -e "devi specificare la cartella in cui sono contenuti i file .dv da convertire\n" exit 1 fi # check for folder presence if [ ! -d $1 ]; then echo -e "la cartella specificata non esiste\n" exit 2 fi # get file list with dv extension FILES="$1/*.dv" # loop for each .dv files for f in $FILES do FILE=$(basename "$f") echo -e "\n\n>>> Processing $FILE" # conversion command ffmpeg -i "$f" $FFMPEG_PARAMS "$f".mkv done
per cui è sufficiente richiamare lo script passandogli come parametro la cartella dove sono contenuti i files .dv da convertire (nel mio caso /home/armando/Video):
$ ./dv2mkv /home/armando/Video
nella cartella vengono creati i nuovi file .mkv che possiamo, a questo punto, raggruppare a seconda degli argomenti utilizzando il comando mkvmerge: ad esempio se voglio raggruppare da capture-001.dv.mkv a capture-004.dv.mkv uso il seguente comando:
$ mkvmerge -o gita_al_mare.mkv capture-001.dv.mkv +capture-002.dv.mkv +capture-003.dv.mkv +capture-004.dv.mkv
i files .dv e .dv.mkv, a conversioni e raggruppamenti ultimati, possiamo anche eliminarli.
Lascia un commento
Devi essere connesso per inviare un commento.