iPod et Linux
Alors l'histoire est simple, je me suis acheté un iPod G5 (celui avec la vidéo, un 60G qui a plus d'un an maitenant) mais pas question pour moi de quitter mon petit nid douillet qu'est linux. J'espère pouvoir faire avancer cette page au fur et à mesure de mon expérience.
- Gestion de la musique : ne faites pas comme moi, choisissez dès le départ un programme qui fera le travail et ne mélangez surtout pas les deux. J'ai essayé la fonction "périphérique" de amaroK mais un bug ne me laissait voir que les 256 premiers fichiers. J'ai aussi essayé gnupod mais ça manquait de features. Donc finalement maintenant je suis à gtkpod et j'y reste. J'y avais même implanté quelques trucs, dont le support des fichiers ogg vorbis (qui sont convertis à la volée en mp3, le software d'apple n'étant pas capable de les lire) mais maintenant c'est intégré dans le tronc svn de gtkpod.
- Contacts : mon carnet d'adresses est sous mozilla thunderbird.
Pour pouvoir les mettre sur l'ipod j'ai du batailler un peu mais une fois
que ça marche, tout va bien :
- Exporter le carnet d'adresses au format .ldif
- Pour les accents : le format .ldif les code en base64, il faut
décoder tout ça ou vous obtiendrez des noms vraiment incompréhensibles :
perl -e 'while (<>) { if (s/:: (.*)\n$/: /) { print ; $_ = `echo $1 | openssl enc -base64 -d` . "\n" ; } print ; }' < base64.ldif > normal.ldif
- Convertissez le fichier au format vcard avec ldif2vcf.sh (script copié
des sources de gtkpod) :
ldif2vcf.sh normal.ldif > adresses.vcf
- Si comme moi vous êtes en utf-8, convertissez le fichier obtenu en
latin1 :
iconv -f utf8 -t latin1 < adresses.vcf > adresses-latin1.vcf
- Enfin, copiez le fichier sur votre iPod :
cp adresses-latin1.vcf /mnt/ipod/Contacts/contacts.vcf
TODO: je n'ai pas réussi à mettre une photo pour un contact, alors qu'on dirait que c'est possible sur l'iPod. Je n'ai pas réussi à le faire non plus depuis Outlook, j'ai l'impression que c'est juste une possibilité qu'Apple se réserve pour le futur. - Vidéos : j'utilise ffmpeg pour mettre les vidéos au bon format.
-
#!/bin/sh if [[ $# < 2 ]] ; then echo "Usage: $0 <input-file> <output-file>" ; exit 1 ; fi ffmpeg -i "$1" -f mp4 -vcodec mpeg4 -b 700k -qmin 3 -qmax 5 -g 300 \ -acodec aac -ab 128 -s 320x240 -aspect 4:3 "$2"
- Pour des fichiers .ogm contenant de l'audio en .ogg il m'est arrivé d'avoir des problèmes de décodage. Pour y remédier:
#!/bin/sh mkfifo -m 600 audiodump.wav mplayer -quiet -vc null -vo null -hardframedrop -ao pcm:fast "$1" & ffmpeg -i audiodump.wav -i "$1" -f mp4 -vcodec mpeg4 -b 700k -qmin 3 -qmax 5 \ -g 300 -acodec aac -ab 128 -s 320x240 -aspect 4:3 "$2" rm audiodump.wav
- Et enfin, pour un film en 16:9, le rajout des bandes noires en haut et en bas de l'écran de l'ipod rend l'image vraiment trop petite. Je préfère alors couper carrément le film à gauche et à droite pour le remettre au format 4:3
- D'abord récupérer les dimensions du film:
% file mon_film.avi mon_film.avi: RIFF (little-endian) data, AVI, 720 x 432, 25.00 fps,...
ou bien% mplayer mon_film.avi ... Playing /home/ftp/incomming/supersize_me.avi. AVI file format detected. VIDEO: [XVID] 720x432 12bpp 25.000 fps 790.3 kbps (96.5 kbyte/s) ...
- Vérifier le rapport: 720/432 = 1.666667. Si celui-ci est proche de 4/3 = 1.33333 pas besoin de la manip
- Calculer la taille à découper (x - y*4/3)/2. Ici 432*4/3 = 576. On enlèvera donc (720-576)/2 = 72 pixels à gauche et à droite. (Attention, cela doit être un multiple de 2, faire par exemple 70 à gauche et 72 à droite sinon).
-
Lancer ffmpeg avec les bonnes options crop:
ffmpeg -i mon_film.avi -f mp4 -vcodec mpeg4 -b 700k -qmin 3 -qmax 5 \ -g 300 -acodec aac -ab 128 \ -cropleft 72 -cropright 72 -s 320x240 -aspect 4:3 mon_film.mp4
- D'abord récupérer les dimensions du film:
-
- Vidéos avec mencoder: je préfère utiliser
mencoder à ffmpeg car le premier dispose d'outils plus
puissants que le second, tout en étant capable d'utiliser les bibliothèques de
codecs du second. Malheureusement, les vidéos que je crée ainsi ne sont pas lisibles par mon iPod. Voici la commande que j'utilise:
mencoder "$1" \ -of lavf -lavfopts format=mp4:i_certify_that_my_video_stream_does_not_use_b_frames \ -oac lavc \ -lavcopts acodec=aac:abitrate=128 \ -ovc lavc \ -lavcopts \ vcodec=mpeg4:vmax_b_frames=0:vrc_maxrate=1000:vrc_buf_size=4096:trell:vqmin=3:vqmax=5 \ -vf scale=320:240 \ -o "$2"
et d'autres valeurs essayées pour le codec video:vcodec=mpeg4:vmax_b_frames=0:vbitrate=1000:vrc_buf_size=1000000:trell:vqmin=3:vqmax=5 \ vcodec=mpeg4:vmax_b_frames=0:vbitrate=4:vrc_buf_size=1000000:trell:vqmin=3:vqmax=5 \
- Photos : je connais pour l'instant deux (bientôt trois ?) façons de mettre des photos sur l'iPod :
- Camera connector : comme déjà dit ci-dessus et comme le laisse penser le nom, ce petit morceau de plastique à à peine 30€ (sic) se branche sur l'ipod et permet de brancher un cable usb relié à un appareil photo. J'ai maintenant un appareil photo d'une capacité mémoire de 60 Go... À coupler avec le chargeur Solio parce que ça consomme pas mal le transfert de photos. On peut essayer de brancher d'autres trucs sur le camera connector :
- une clé usb : certains ont réussi à importer des photos de clés usb mais avec la mienne que dalle ;
- un capteur infra-rouge avec pointeur laser pour présentations : que dalle ;
- un téléphone portable twin de neuf : ça fait semblant de le charger :) (voir le test sur la page du twin) ;
- une souris usb, un clavier usb : à tester mais peu d'espoir.