A propos...

Le iRiver H320 est un lecteur mp3 doté d’un écran OLED 262000 couleurs et d’une capacité de stockage de 20Go ! Il est facilement flashable et grâce aux derniers firmwares fournis par iRiver, le lecteur H320 permet de lire des vidéos .avi redimensionnées grâce par exemple au logiciel Pocket Divx Encoder (sous windows) ou mencoder (sous GNU/Linux). Après avoir fait quelques recherches sur Internet, voici un script shell que j’utilise pour convertir des videos en clips visualisables sur mon iRiver.

Encodage de video pour iRiver H320

- Script iriver-encode.sh

Ce script est en cours de test et d’amélioration : revenez régulièrement pour voir les mises à jour :


#!/bin/sh
#
# encoder une video pour iRiver H320
#
# $1 : input filename
#
# iriver-encode.sh
#
# @author Thus0 <thus0@free.fr>
# @date 2005/07/13
#

if [ ! -f ${1} ]
then
 # Error : Input file does not exist
 echo Error : file $1 does not exist!
 exit
else
 # OK : Input file exists
 export `mplayer -frames 1 -identify -vo null -ao null $1 2>/dev/null | grep ^ID_`
 echo ID_FILENAME=$ID_FILENAME
 echo ID_VIDEO_FORMAT=$ID_VIDEO_FORMAT
 echo ID_VIDEO_BITRATE=$ID_VIDEO_BITRATE
 echo ID_VIDEO_WIDTH=$ID_VIDEO_WIDTH
 echo ID_VIDEO_HEIGHT=$ID_VIDEO_HEIGHT
 echo ID_VIDEO_FPS=$ID_VIDEO_FPS
 echo ID_VIDEO_ASPECT=$ID_VIDEO_ASPECT
 echo ID_AUDIO_CODEC=$ID_AUDIO_CODEC
 echo ID_AUDIO_FORMAT=$ID_AUDIO_FORMAT
 echo ID_AUDIO_BITRATE=$ID_AUDIO_BITRATE
 echo ID_AUDIO_RATE=$ID_AUDIO_RATE
 echo ID_AUDIO_NCH=$ID_AUDIO_NCH
 echo ID_LENGTH=$ID_LENGTH

 FILE_DIRNAME=`dirname $1`
 FILE_BASENAME=`basename $1`
 FILE_EXTENSION=${FILE_BASENAME##*.}
 FILE_NAME=${FILE_BASENAME%.*}
 FILE_OUTPUT="$FILE_DIRNAME/$FILE_NAME-h320.avi"
 echo FILE_DIRNAME=$FILE_DIRNAME
 echo FILE_BASENAME=$FILE_BASENAME
 echo FILE_NAME=$FILE_NAME
 echo FILE_EXTENSION=$FILE_EXTENSION
 echo FILE_OUTPUT=$FILE_OUTPUT

 if [ -f $FILE_OUTPUT ]
 then
   # Error : Output file exists
   echo Error : $FILE_OUTPUT already exists!
   exit
 else
   # OK : Input file exists
   ID_VIDEO_FPS=30
   mencoder $1 -o $FILE_OUTPUT \
       -srate 44100 \
       -oac mp3lame -lameopts mode=2:cbr:br=128 \
       -vf filmdint=io=$ID_VIDEO_FPS:10,scale=220:165,expand=220:176,harddup \
       -ofps 10 \
       -ovc xvid -xvidencopts bitrate=500:max_bframes=0

   echo **************************************************
   echo "=== Results ==="
   echo "Input filename: "
   du -h $1
   echo "Output filename: "
   du -h $FILE_OUTPUT
   echo **************************************************
 fi
fi

- Usage

Pour utiliser le script, il suffit de lancer la commande :


$ iriver-encode.sh film.avi

Le script génère alors une vidéo adaptée à l’iriver H320 et le nom du fichier généré est film-h320.avi

Documentation

- http://www.misticriver.net/boards/archive/index.php/t-6024.html
- http://www.linuxquestions.org/questions/archive/27/2005/06/4/196230
- http://iriverter.sourceforge.net
- http://www.opensource.apple.com/darwinsource/10.3/bash-29/bash/examples/functions/basename2
- http://www.faqs.org/docs/bashman/bashref_68.html