Objectif : Installer les outils nécessaires à l'encodage des vidéos au format palm sous linux en utilisant mencoder, le codec xvid pour la vidéo et mp3 pour le son.
Ce tuto est composé de 4 parties :
1) Installation du codec xvid
2) Installation de l'encodeur mp3 lame
3) Installation de MPlayer
4) Petit script pour exploiter ces outils facilement
1) Installation du codec xvid
Il vous faut tout d'abord récupérer les sources du codec ici : http://www.xvid.org/downloads.html
Décompressez l'archive que vous venez de télécharger. Cela vous créée un répertoire que nous appelerons ${xvidcore} .
Puis :
cd ${xvidcore}/build/generic
./configure
make
make install
Note : Le make install doit être effectué avec le compte super utilisateur (root).
Nous voilà avec Xvid installé. Etape suivante.
2) Installation de l'encodeur mp3 lame
Là encore on commence par récupérer les sources de l'encodeur, elle sont disponibles ici : http://lame.sourceforge.net/download/download.html
Décompressez l'archive que vous venez de télécharger. Cela vous créée un répertoire que nous appelerons ${lame} .
Puis :
cd ${lame}
./configure
make
make install
Note : Ici encore, le make install doit être effectué avec le compte super utilisateur (root).
Nous avons maintenant notre encodeur mp3 d'installé. Etape suivante.
3) Installation de MPlayer
MPlayer est une célèbre application multimédia disponible pour différents systèmes d'exploitation. Elle fournit entre autre la commande mencoder dont nous aurons besoin ici.
Tout d'abord les sources ! Les voici : http://www.mplayerhq.hu/design7/dload.html
Décompressez l'archive que vous venez de télécharger. Cela vous créée un répertoire que nous appelerons ${mplayer} .
Puis :
cd ${mplayer}
./configure
Vérifiez dans la sortie du ./configure que vous avez bien ces trois lignes là :
Checking for XviD ... yes
..
..
Checking for libmp3lame (for mencoder) ... yes
..
..
Checking for mencoder ... yes
Si une de ces lignes se termine par no, alors vous devez relancer ./configure en lui passant les bonnes options pour obtenir 3 yes .
( Indice : ./configure --help vous donnera la liste de toutes les options disponibles, je vous laisse vous y référer. )
Une fois les 3 yes obtenus, vous pouvez terminer la compilation et l'installation avec :
make
make install
Note: Je pense que pour le make install, vous avez compris...
Félicitations, vous venez d'installer avec succès tous les outils nécessaires à l'encodage de vos vidéos préférées à un format lisible par votre palm.
4) Petit script pour exploiter ces outils facilement
Utilité :
J'ai écrit ce script afin de pouvoir encoder plusieurs vidéos à la suite en spécifiant simplement qualité audio, qualité vidéo et largeur de l'image (la hauteur sera adaptée automatiquement pour éviter les déformations) sans s'occuper de rien.
Fonctionnement :
On place les vidéos à encoder dans un même répertoire. On se place dans ce répertoire et on appelle le script avec les paramètres de qualité et de dimension que l'on souhaite. Le script va encoder les vidéos une à une. Chaque vidéo se terminera par _palm.avi. Une fois l'encodage des vidéos terminé, les vidéos au format palm sont toutes déplacées dans un répertoire créé spécialement.
Intérêt :
Il suffit de lancer le script et de récupérer le dossier avec ses vidéos à la fin de l'exécution.
Les outils nécessaires sont tous disponibles en ligne de commande.Ce script peut donc être exécuté n'importe où, comme par exemple sur une machine qui n'a pas d'interface graphique (un serveur qui resterait allumé 24/24h etc... ).
Le script :
#!/bin/bash
#Initialisation des variables :
FPS=""
WIDTH=480;
SOUND_BITRATE=96;
VIDEO_QUALITY=4;
#diverses fonctions
function aide {
echo -e "Usage : encode2palm [OPTIONS]
Encode les fichiers du répertoire courant pour lecture sur un pda.
OPTIONS :
-f
définit le nombre de trames par secondes à 12 fps
-s <bitrate>
permet de définir le débit binaire du son (en kbps) - 96 par défaut
-q <qual_num>
qualité vidéo (1 - meilleure, 31 - moins bonne) - 4 par défaut
-l <width>
permet de définir la largeur de la vidéo (en px) - 480 par défaut
-h, --help
affiche cette aide
"
}
function ext {
echo "Quelle est l'extension des vidéos ?"
read EXTENSION
}
function encode {
echo "Création du répertoire PalmVideos"
test -d PalmVideos || mkdir PalmVideos
echo "Démarrage de l'encodage des vidéos..."
for i in *.${EXTENSION};
do
mencoder $i $XVID_OPTS $LAME_OPTS $SIZE_OPTS $FPS $FINAL_OPTS $(basename $i ".${EXTENSION}")_palm.avi;
done
echo "On déplace toutes les vidéos encodées vers le répertoire PalmVideos/"
mv -v *palm.avi PalmVideos
}
function existence {
MENC=$(basename `which mencoder`)
if [ "${MENC}" != "mencoder" ]; then
echo "La commande mencoder n'est pas disponible ! Abandon..."
exit 1
fi
}
#### Début du script ####
#Si besoin d'aide :
if [ "$1" = "--help" -o "$1" = "-h" ]; then
aide
exit 0
fi
#On vérifie la présence de mencoder :
existence
#On gère les options
while getopts "l:s:q:f" option
do
case $option in
f)
FPS="-ofps 12";;
l)
WIDTH=$OPTARG;;
s)
SOUND_BITRATE=$OPTARG;;
q)
VIDEO_QUALITY=$OPTARG;;
*)
echo "Utilisez --help pour en savoir d'avantage."
exit 1
;;
esac
done
#On appelle la fonction pour encoder les vidéos du répertoire
XVID_OPTS="-ovc xvid -xvidencopts fixed_quant=$VIDEO_QUALITY"
LAME_OPTS="-oac mp3lame -lameopts vbr=3:br=$SOUND_BITRATE"
SIZE_OPTS="-vf scale -zoom -xy $WIDTH"
FINAL_OPTS="-quiet -o"
ext
encode
exit 0
Le script peut être téléchargé directement par ce lien
Commentaires ou suggestions, n'hésitez pas...
