ffmpeg ora va ma miglioriamolo

6 risposte [Ultimo contenuto]
Ritratto di gala_00
gala_00
(Geek)
Offline
Geek
Iscritto: 14/06/2012
Messaggi: 84

Ciao a tutti oggi voglio spiegare perchè a molti "ffmpeg" non funzione tottalmente, per prima cosa ammetto che anche io come molti che iniziano ad usare "ffmpeg" pretendono un po troppo, conosco un tale che voleva usare "ffmpeg" per ottenere il testo di una canzone, o cose simili.

Ma capiamo cosa può e cona non può fare "ffmpeg"

digitando il comando

ffmpeg - formats

viene elencata una lista come questa, che ho ridotto drasticamente per il post:

ffmpeg -formats
FFmpeg version SVN-r0.5.9-4:0.5.9-1, Copyright (c) 2000-2009 Fabrice Bellard, et al.
  configuration: --extra-version=4:0.5.9-1 --prefix=/usr --enable-avfilter --enable-avfilter-lavf --enable-vdpau --enable-bzlib --enable-libdirac --enable-libgsm --enable-libopenjpeg --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libvorbis --enable-pthreads --enable-zlib --disable-stripping --disable-vhook --enable-runtime-cpudetect --enable-gpl --enable-postproc --enable-swscale --enable-x11grab --enable-libfaad --enable-libdc1394 --enable-shared --disable-static
  libavutil     49.15. 0 / 49.15. 0
  libavcodec    52.20. 1 / 52.20. 1
  libavformat   52.31. 0 / 52.31. 0
  libavdevice   52. 1. 0 / 52. 1. 0
  libavfilter    0. 4. 0 /  0. 4. 0
  libswscale     0. 7. 1 /  0. 7. 1
  libpostproc   51. 2. 0 / 51. 2. 0
  built on Jun 10 2012 10:30:14, gcc: 4.4.5
File formats:
  E 3g2             3GP2 format
  E 3gp             3GP format
 D  4xm             4X Technologies format
 D  IFF             IFF format
 D  ISS             Funcom ISS format
 D  MTV             MTV format
 DE RoQ             raw id RoQ format
 D  aac             raw ADTS AAC
 DE ac3             raw AC-3
..............................
Codecs:
 D V    4xm             4X Movie
 D V D  8bps            QuickTime 8BPS video
...........................................
D A    mp1             MP1 (MPEG audio layer 1)
 DEA    mp2             MP2 (MPEG audio layer 2)
 D A    mp3             MP3 (MPEG audio layer 3)
 D A    mp3adu          ADU (Application Data Unit) MP3 (MPEG audio layer 3)
 D A    mp3on4          MP3onMP4
 D A    mpc7            Musepack SV7
.......................................
Bitstream filters:
 text2movsub remove_extra noise mov2textsub mp3decomp mp3comp mjpegadump imxdump h264_mp4toannexb dump_extra
Supported file protocols:
 file: gopher: http: pipe: rtp: tcp: udp:
Frame size, frame rate abbreviations:
 ntsc pal qntsc qpal sntsc spal film ntsc-film sqcif qcif cif 4cif
 
Note, the names of encoders and decoders do not always match, so there are
several cases where the above table shows encoder only or decoder only entries
even though both encoding and decoding are supported. For example, the h263
decoder corresponds to the h263 and h263p encoders, for file formats it is even
worse.

Si lo so è molto lunga e dove ci sono i puntini prosegue, ma no panic, analiziamola per gradi:

La prima parte mostra la versione di "ffmpeg" e tutte le libbrerie che usa
Poi vengono mostrati i format dei file che riconosce
Poi vengono mostrati i codec che utilizza
E alla fine il Bitstream filters, i protocolli supportati ed i frame rate.

consideramo la parte dei codec, in questa versione per esempio vediamo che "ffmpeg" può decodificare in mp3 iquanto è presente una D a sinistra del codec mp3 ma non può codificare in mp3 in quanto non è presente la E a sinistra del codec mp3. Mentre per il rotmato precedente mp2 esiste sia il decoding che l'Encoding, qundi possiamo leggere e cteare in mp2, ma non in mp3

come fare ad usare il formato mp3......

dobbiamo installare da sorgente "lame"
dal sito "ufficiale" scarichiamo la versione corrente 3.99

http://lame.sourceforge.net/download.php

estraiamo tramite:

tar -xzvf lame-3.99.5.tar.gz

andiamo della dir

cd ...lame-3.99.5

eseguiamo:

      ./configure
      macke 

Diventiamo root e sempre nella dir lame-3.99.5 eseguiamo

make install

A questo punto "lame" è istallato.

ora con un semplice comando possiamo passare da un formato riconosciuto da "ffmpeg" al formato mp3 che non veniva riconosciuto.
eseguiamo:

ffmpeg -i file.xxx -f wav - | lame --vbr-new -V 4 - file.mp3

ecco fatto che il file.xxx viene trasformato nel file.mp3

L'ultimo è una concatenazione di comandi, sostanzialmente si chiede a "ffmpeg" di trasformare il file.xxx nel file.wav e poi si chiede a "lame" di prendere questo file.wav e trasformarlo nel file.mp3

chissà se così quel tale riuscirà ad estarre anche il testo di una canzone.........

_00

Ritratto di marcosan
marcosan
(Collaboratore)
Offline
Collaboratore
Iscritto: 16/05/2005
Messaggi: 896

  1. non era piu` semplice dare: aptitude install lame Wink
  2. inoltre puoi dare direttamente ffmpeg -i <input_file> -acodec libmp3lame <outputfile.mp3>

Ciao,
Marco

"La matematica e' l'arte di dare lo stesso nome a cose diverse."
H.Poincare (1854-1912).

Ritratto di gala_00
gala_00
(Geek)
Offline
Geek
Iscritto: 14/06/2012
Messaggi: 84

be si, solo che con il primo comando ottengo che il sistema non trova lame,
mentre col secondo ffmpeg non trova libmp3lame ecco perchè sono ricorso a questo stratagemma,
in oltre in questo modo mostro come usare due comandi concatenati.

probabilmente il secondo comando funge se passi da audio ad audio, nell'altro modo puoi passare da video ad audio o cose simili

ti posto i risultati che ottengo per i due comandi che mi consigli:
1)

Impossibile trovare una versione candidata di lame    
Impossibile trovare una versione candidata di lame
Nessun pacchetto verrà installato, aggiornato o rimosso.
0 pacchetti aggiornati, 0 installati, 0 da rimuovere e 0 non aggiornati.
È necessario prelevare 0 B di archivi. Dopo l'estrazione, verranno occupati 0 B.

2)

Unknown encoder 'libmp3lame'

ecco tutto comunque grazie
_00

dimenticavo:

Distributor ID:	Debian
Description:	Debian GNU/Linux 6.0.6 (squeeze)
Release:	6.0.6
Codename:	squeeze

Ritratto di marcosan
marcosan
(Collaboratore)
Offline
Collaboratore
Iscritto: 16/05/2005
Messaggi: 896

Se vuoi fare il tutto tramite pacchetti .deb devi aggiungere i repository Debian Multimedia: http://deb-multimedia.org/

La tua procedura va benissimo, son gusti! Solo non vorrei che un utente che arriva da qualche altra distribuzione pensi "ma mamma Debian manco gli mp3 come tutti gli altri mi fa?" Wink

Ciao,
Marco

"La matematica e' l'arte di dare lo stesso nome a cose diverse."
H.Poincare (1854-1912).

Ritratto di gala_00
gala_00
(Geek)
Offline
Geek
Iscritto: 14/06/2012
Messaggi: 84

Si capisco, ho fatto ciò perchè probabilmente non avevo queste repository attivate, ma comunque volevo mostrare anche come vengono concatenati due comandi con ffmpeg.

Ciao
_oo

Ritratto di mcortese
mcortese
(Moderatore)
Offline
Moderatore
Iscritto: 27/02/2009
Messaggi: 2918

Il pacchetto lame esiste sono da Wheezy in poi (e come backport su Lenny), quindi niente codifica MP3 nella Debian ufficiale!

Ritratto di mandian
mandian
(Geek)
Offline
Geek
Iscritto: 16/05/2011
Messaggi: 129

Tra l'altro da wheeze in poi ffmpeg è considerato obsoleto e soppiantato da avconv (parte del pacchetto libav-tools).

ciao,
mandan