Login

Italian English French German Spanish

Da miniDV a mkv

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.

Aggiungi commento


Codice di sicurezza
Aggiorna

LegetøjBabytilbehørLegetøj og Børnetøj