Anche se pare sia una delle features meno usate dai possessori di iPod di 5 generazione, ovvero gli iPod Video, vista la cifra spesa per acquistare cotanto oggettino di mamma Apple, sarebbe interessante riuscire a sfruttare la riproduzione video anche tramite linux, nel mio caso tramite Ubuntu. Niente di più complesso, ovviamente. Esiste addirittura una pagina sul wiki di Ubuntu che spiega come fare a convertire i nostri file video, di qualunque formato essi siano, in formati leggibili dal nostro iPod. Prima però darei un’occhiata anche a questa interessante voce di Wikipedia Italia sull’iPod 5g, che descrive con minuziosa precisione che genere di file video il nostro lettore supporta. Nello specifico (e cito letteralmente) l’iPod video supporta i file ” Video H.264: fino a 768Kbps, 320×240 e 30fps, Baseline Profile fino al livello 1.3 con audio stereo AAC-LC fino a 160Kbps e 48Khz nei formati .m4v, .mp4 e .mov Video” e ” MPEG-4: fino a 2,5mbps, 480×480 e 30fps, Simple Profile con audio stereo AAC-LC fino a 160Kbps e 48Khz nei formati .m4v, .mp4 e .mov”. Bene, fatte queste debite premesse passo alla lettura del wiki. Il metodo più semplice consiste nell’usare ffmpeg per convertire i file. Dove sta la parte complicata? A quanto pare ffmpeg, così come è stato pacchettizzato per Ubuntu, non prevede il supporto per il formato h264, che guarda caso è esattamente quello utilizzato dall’iPod. Dunque è necessario scaricare i sorgenti e ricompilarlo in maniera tale da abilitare tale supporto.
Installare e usare FFMPEG con il supporto AAC
Niente di più semplice. Lanciamo
$ sudo apt-get build-dep ffmpeg
$ sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libx264-dev
$ apt-get source ffmpeg
In sostanza, apt-get build-dep si occupa di fornirci le adeguate dipendenze per poter poi ricompilare manualmente ffmpeg, poi dobbiamo installare altre librerie necessarie per poter abilitare il supporto ai formati che ci interessano, infine tramite apt-get source scarichiamo i sorgenti. N.B. apt-get source non deve essere dato da root, altrimenti i sorgenti avranno come proprietario proprio l’utente root.
A questo punto, se tutto è andato come previsto, dovremmo trovare una cartella contenente i sorgenti di ffmpeg. Ora lanciamo:
$ cd ffmpeg-[VERS.]
$ ./configure --enable-gpl --enable-pp --enable-vorbis --enable-libogg --enable-a52 --enable-dts --enable-dc1394 --enable-libgsm --disable-debug --enable-mp3lame --enable-faad --enable-faac --enable-xvid --enable-pthreads --enable-x264
$ make
Personalmente a questo punto ho trovato difficoltà nella compilazione, poichè make restituisce un brutto errore:
x264.c:148: error: 'struct ' has no member named 'i_rf_constant'
La soluzione l’ho trovata tramite la Mailing List ffmpeg-devel. Si tratta a quanto pare di un bug noto, e per risolverlo dobbiamo editare il file libavcodec/x264.c alla linea 146, sostituendo
x4->params.rc.i_rf_constant = avctx->crf
con
x4->params.rc.f_rf_constant = avctx->crf
Proviamo a rilanciare il comando make, e tutto dovrebbe andare a buon fine.
Ora completiamo l’operazione con:
$ sudo checkinstall
$ ln -s /usr/local/bin/ffmpeg /usr/bin/
Adesso ffmpeg dovrebbe essere installato e pronto per l’uso. Per convertire i file sarà sufficiente lanciare da riga di comando:
$ ffmpeg -i "FILE_DA_CONVERTIRE" -f mp4 -vcodec mpeg4 -maxrate 1000 -b 700 -qmin 3 -qmax 5 -bufsize 4096 -g 300 -acodec aac -ab 160 -ar 48000 -s 320x240 -aspect 4:3 "FILE_CONVERTITO.mp4"
e il gioco è fatto.
A questo punto siamo pronti per copiare i file sull’iPod tramite il software che preferiamo (consiglio l’ottimo gtkpod).

9 comments
Comments feed for this article
14 Marzo, 2007 a 6:33 pm
iPod Video su Ubuntu - Vive « InQuietudini
[...] di Sive) per il quale esiste molta più documentazione riguardante i problemi con Ubuntu. Dunque, dopo essere riuscito nella configurazione di Ffmpeg, ho optato naturalmente verso Vive. Inoltre Vive si propone come programma completo, nel senso che [...]
4 Luglio, 2007 a 5:41 am
alessiogian
Ciao,
ho seguito la guida e la conversione la fa…..anche bene per quel che riguarda il video. Il problema è che l’iPod non mi fa sentire nessun audio.
Il video va alla grande, ma niente audio…..come mai?
Ciao e grazie
7 Luglio, 2007 a 10:40 am
InQuieto
molto strano, io i problemi li ho sempre avuti (prima di risolvere con il procedimento specificato in questa guida) con il video, ma mai con l’audio. Mi viene da pensare che hai qualche problema con la codifica audio dei video. Do per scontato che anche tu hai un ipod video, ti consiglio di dare una lettura (se non lo hai già fatto) al wiki dell’ipod 5g indicato all’inizio della guida. Lì viene specificata con estremo dettaglio la codifica audio/video necessaria per il nostro ipod. Prova quindi a installare le librerie necessarie (nell’articolo dovrebbero essere specificate praticamente tutte, ma è possibile che ne abbia tralasciata qualcuna perchè la avevo già installata), quindi ricompilare ffmpeg.
Ma prima di tutto fai qualche prova con altri filmati. Non me ne intendo poi troppo, magari è un problema del video originale. Se scopri cos’è fammi sapere, che integro l’articolo.
10 Luglio, 2007 a 9:15 pm
alessiogian
Ho scoperto il problema.
Quando andavo a modificare il file libavcodec/x264.c cambiavo la linea 146,ma, almeno nel mio caso, era la 147 da modificare.
L’altra volta non me ne sono accorto, adesso, rifacendo tutto, ma modificando la giusta linea, va perfettamente.
Ti ringrazio
Alessio
12 Luglio, 2007 a 12:48 pm
InQuieto
Perfetto, grazie a te per la precisazione.
Quando ho scritto la guida ancora viaggiavo con Ubuntu 6.10 e chissà quale versione di ffmpeg. E’ possibile (direi auspicabile) che il codice sia cambiato e potrebbero esserci varizioni nelle righe.
4 Settembre, 2007 a 2:45 pm
Luna
Ciao,ho seguito questa guida e mi da questi errori:
luna@luna-desktop:~$ cd ffmpeg-0.cvs20060823
luna@luna-desktop:~/ffmpeg-0.cvs20060823$ make
/home/luna/ffmpeg-0.cvs20060823/version.sh “/home/luna/ffmpeg-0.cvs20060823″
make -C libavutil all
make[1]: Entering directory `/home/luna/ffmpeg-0.cvs20060823/libavutil’
make[1]: Nothing to be done for `all’.
make[1]: Leaving directory `/home/luna/ffmpeg-0.cvs20060823/libavutil’
make -C libavcodec all
make[1]: Entering directory `/home/luna/ffmpeg-0.cvs20060823/libavcodec’
gcc -DHAVE_AV_CONFIG_H -I.. -I/home/luna/ffmpeg-0.cvs20060823/libavutil -O3 -pthread -Wdeclaration-after-statement -Wall -Wno-switch -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -c -o x264.o x264.c
x264.c: In function ‘X264_init’:
x264.c:147: error: ‘struct ’ has no member named ‘i_rf_constant’
make[1]: *** [x264.o] Error 1
make[1]: Leaving directory `/home/luna/ffmpeg-0.cvs20060823/libavcodec’
make: *** [lib] Error 2
luna@luna-desktop:~/ffmpeg-0.cvs20060823$
Ho cambiato la linea 146,ma niente…
Ringrazio a tutti per l’aiuto..
5 Settembre, 2007 a 7:56 pm
InQuieto
purtroppo non so aiutardi, perchè la mia esperienza nel campo della compilazione è pari a niente. Sei sicura di aver cambiato la riga giusta? Nella guida ho indicato la riga 146, ma mi hanno fatto notare che può variare. Prova a cercare poco sotto o poco sopra, oppure a cercare direttamente la riga “x4->params.rc.i_rf_constant = avctx->crf” con lo strumento di ricerca del tuo editor.
9 Ottobre, 2007 a 10:27 pm
rummenigge
confermo l’errore 146-147. ma nel mio caso è peggio, perchè da terminale non risponde il comando checkinstall e non posso andare avanti…
22 Ottobre, 2007 a 8:25 am
links for 2007-10-22 « itadakimasu
[...] iPod Video su Ubuntu – FFMPEG « InQuietudini apt-get source ffmpeg (tags: ipod tutorial ubuntu video convert) [...]