mercoledì 14 settembre 2011

Da vob ad avi con ffmpeg

Salve!

Ogni volta che mi cimento con ffmpeg perdo almeno tre ore della mia esistenza ma,  come si dice dalle mie parti, "adduvi c'è gusto non c'è pirdenza" :)

Dovevo necessariamente convertire un file vob in avi e, dato che avevo un pò di tempo a disposizione, ho provato a farlo con ffmpeg, che reputo il migliore in assoluto.

Dopo aver letto per benino il man, ho iniziato ad impostare la riga di comando (che è già presente nel manuale, ma non funziona)

Partiamo dal problema.

ecco cosa mi stampava il terminale:

Output #0, avi, to 'prova.avi':
    Stream #0.0: Video: mpeg4, yuv420p, 720x480 [PAR 1:1 DAR 3:2], q=2-31, 800 kb/s, 90k tbn, 29.97 tbc
    Stream #0.1: Audio: libmp3lame, 48000 Hz, 5.1, s16, 128 kb/s
Stream mapping:
  Stream #0.0 -> #0.0
  Stream #0.1 -> #0.1
Error while opening encoder for output stream #0.1 - maybe incorrect parameters such as bit_rate, rate, width or height

Ho provato a cercare in rete, ma non sono riuscito a trovare soluzioni. Tutti con lo stesso problema irrisolto.

Ma guardiamo attentamente lo stream mapping (sopra, nel messaggio di errore).

Come si può vedere, ci sono due voci: una afferente al video e l'altra all'audio.

E l'errore riguarda proprio lo stream #0.1 (quello relativo all'audio)

Ho risolto aggiungendo la frequenza di campionamento e i canali. (facile a dirsi, ma difficile ad arrivarci)

Ora vi posto la riga di comando funzionante:

ffmpeg -i input.vob -f avi -vcodec libxvid -b 800k -g 300 -bf 2 -acodec libmp3lame -ab 128k -ar 44100 -ac 2 input.avi

Per quanto riguarda il formato video
-i sta per input
-f sta per forza il formato
-vcodec, forza codec video
-b, bitrate  video in kbit/ s (default = 200 kb / s)
-g, impostare il formato delle foto
-bf sta per Use 'frames' B-frames (supported for MPEG-1, MPEG-2 and MPEG-4)

Per quanto riguarda il formato audio
-acodec sta per forza il codec audio
-ab, per bitrate audio in kbit/s (default 64k)
-ar, sta per frequenza di campionamento
-ac, sta per impostare i canali audio

Ovviamente è necessario installare, dopo aver abilitato i repository multimediali (per ubuntu, il repository medibuntu; per debian, il repository debian-multimedia),

i seguenti pacchetti

Per il video
$ sudo apt-get install libxvidcore4

Per l'audio
$ sudo apt-get install libmp3lame0


Ciao :)

5 commenti:

  1. Ehi! Cambiata la grafica, bella, chiara, essenziale.

    RispondiElimina
  2. ma guarda un po' come si sta popolando questo sito!vedo che con ffmpeg riesci a fare tutto,bravo.complimenti per la nuova grafica,colore soft e gradevole,ciao

    RispondiElimina