Aide - Recherche - Membres - Calendrier
Version complète : TUTO : Installer les outils nécessaires à l'encodage de vidéos sous linux
Les Forums de PalmAttitude.org > LOGICIEL PalmOS > Palm et Linux
doc
Ses divx sur son palm

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... anim_wink.gif
terebeu
Salut
Perso sous linux pour transformer mes .avi afin d'être lu sans problème sur mon TE2 j'utilise avidemux.
Si ça tente certain je peux faire un petit tuto....
Concernant le script j'aimerai bienl'essayer mais le lien ne fonctionne plus. Ca serait sympa de préciser commentle lancer...
merci
doc
CITATION(terebeu @ 11/05/2006 à 12:30 ) *
Salut
Perso sous linux pour transformer mes .avi afin d'être lu sans problème sur mon TE2 j'utilise avidemux.
Si ça tente certain je peux faire un petit tuto....
Concernant le script j'aimerai bienl'essayer mais le lien ne fonctionne plus. Ca serait sympa de préciser commentle lancer...
merci


Pardon un probleme de permissions, c est repare cool.gif

Pour le lancer ben tu le rends executable (chmod 755 le_script) puis tu l executes dans le repertoire ou se trouvent les videos anim_wink.gif
terebeu
SAlut
J'ai beau le lancer après l'avoir rendu executable rien ne se passe.
Pourais tu détailler le lancement ?
Merci
doc
blink.gif blink.gif blink.gif

Comment ca rien ne se passe ???

Tu as installe les outils dont je parle avant le script ?

Sinon comme je le dis dans le tuto, il suffit juste de se placer dans le repertoire ou se trouvent les fichiers a encoder et de lancer le script, sans parametres.

Est ce que l execution du script avec --help en parametre te donne quelque chose ?

Qu est ce que tu as fait pour le rendre executable ?

pour detailler le lancement ben ...

CODE
$cd <le rep ou sont tes videos>
$encode2palm


( copie le script dans /usr/local/bin )
regisr
CITATION(terebeu @ 11/05/2006 à 14:30 ) *
Perso sous linux pour transformer mes .avi afin d'être lu sans problème sur mon TE2 j'utilise avidemux.
Si ça tente certain je peux faire un petit tuto....

Ah oui excellente idée... enfin avec avidemux2 anim_wink.gif
surtout que j'ai aussi un E2 donc les paramètres devraient être les même. J'ai des vidéos encodées avec mon archos AV140 je ne sais pas si ça va passer tout seul.
--
régisr
Zodd
Bonjour

j'aitenté de compiler mencoder avec support xvid et ca donne ceci a la fin :


CITATION
-o vd_xvid.o vd_xvid.c
vd_xvid.c: In function `init':
vd_xvid.c:70: error: `XVID_INIT_PARAM' undeclared (first use in this function)
vd_xvid.c:70: error: (Each undeclared identifier is reported only once
vd_xvid.c:70: error: for each function it appears in.)
vd_xvid.c:70: error: syntax error before "ini"
vd_xvid.c:71: error: `XVID_DEC_PARAM' undeclared (first use in this function)
vd_xvid.c:91: error: `ini' undeclared (first use in this function)
vd_xvid.c:92: error: `dec_p' undeclared (first use in this function)
vd_xvid.c:122: error: `XVID_CSP_RGB24' undeclared (first use in this function)
vd_xvid.c:125: error: `XVID_CSP_RGB32' undeclared (first use in this function)
vd_xvid.c:138: error: `API_VERSION' undeclared (first use in this function)
vd_xvid.c: In function `decode':
vd_xvid.c:188: error: `XVID_DEC_FRAME' undeclared (first use in this function)
vd_xvid.c:188: error: syntax error before "dec"
vd_xvid.c:202: error: `dec' undeclared (first use in this function)
make[1]: *** [vd_xvid.o] Error 1
make[1]: Leaving directory `/home/squid/mplayer/libmpcodecs'
make: *** [libmpcodecs/libmpcodecs.a] Error 2


Que faire?

Je suis débutant en linux et j'ai un peu du mal dès qu'ya un imprévu icon_cry2.gif

Merci pour votre aide

Zodd
doc
Salut, tu as compilé xvid avant de compiler mplayer ? Vérifie s'il trouve Xvid lors du ./configure de mplayer ( tu dois avoir une ligne Xvid.......yes )
Sh4d
Bonjour et merci pour le tuto.

J'ai juste un problême quand j'utilise la commande ./configure de mplayer j'ai donc les 2 lignes :

Checking for libmp3lame (for mencoder) ... no
Checking for XviD ... no

j'ai déjà essayer de m'attarder sur la libmp3lame avec cette commande :
./configure --with-toolamelibdir=/etc/lame-3.97/ (mon directory ou j'ai lamemp3)

et la commande :
./configure --with-toolamelibdir=/etc/lame-3.97/libmp3lame/ (me suis dit pourquoi pas ! icon_biggrin.gif)

Bref je suis assez débutant sous linux aussi, et j'aurai aimer savoir comment passer ces 2 "no" a "yes"

ps : je n'est pas détecté d'erreur lors de la compilation de xvid et de lamemp3
dans le ./configure --help |grep lame j'ai juste ceci :
--disable-toolame disable Toolame (MPEG layer 2 audio) support in mencoder [autodetect]
--disable-twolame disable Twolame (MPEG layer 2 audio) support in mencoder [autodetect]
--with-toolamelibdir=DIR Toolame library in DIR

Merci beaucoup si quelqu'un peut m'aider à utilisé mencoder !! icon_biggrin.gif
Trudi
blink.gif C'est compliqué, votre truc ! quelcon.gif Je vais tester juste pour le fun...

Edit : Il me semblait que j'avais trouvé un outil packagé qui faisait très bien tout ça tout seul, faut que je le retrouve, pas besoin de compiler quoi que ce soit, c'est fait en 3 clics... Je cherche et je vous redis. Nan, j'ai rien dit, c'était pour convertir une vidéo en gif animé, et en plus il faut 2 logiciels pour le faire...
doc
CITATION(Sh4d @ 17/01/2007 à 16:39 ) *
Bonjour et merci pour le tuto.

J'ai juste un problême quand j'utilise la commande ./configure de mplayer j'ai donc les 2 lignes :

Checking for libmp3lame (for mencoder) ... no
Checking for XviD ... no

j'ai déjà essayer de m'attarder sur la libmp3lame avec cette commande :
./configure --with-toolamelibdir=/etc/lame-3.97/ (mon directory ou j'ai lamemp3)

et la commande :
./configure --with-toolamelibdir=/etc/lame-3.97/libmp3lame/ (me suis dit pourquoi pas ! icon_biggrin.gif)

Bref je suis assez débutant sous linux aussi, et j'aurai aimer savoir comment passer ces 2 "no" a "yes"

ps : je n'est pas détecté d'erreur lors de la compilation de xvid et de lamemp3
dans le ./configure --help |grep lame j'ai juste ceci :
--disable-toolame disable Toolame (MPEG layer 2 audio) support in mencoder [autodetect]
--disable-twolame disable Twolame (MPEG layer 2 audio) support in mencoder [autodetect]
--with-toolamelibdir=DIR Toolame library in DIR

Merci beaucoup si quelqu'un peut m'aider à utilisé mencoder !! icon_biggrin.gif


Salut,

en fait /etc/ c'est le répertoire qui contient les fichiers de configuration donc normal qu'il ne trouve pas les librairies dedans. Essaye de chercher un répertoire lame-3.97 dans /usr/lib ou /usr/local/lib , c'est celui la que tu dois passer en paramètre au ./configure de mplayer.

Pour xvid as-tu bien installé le codec comme je le décris dans le premier post ?


@Trudi : oui pour debian c'est pas le plus simple puisque le dépôt officiel ne contient pas ces paquetages. Avec ma gentoo par exemple j'ai juste eu à faire un emerge mplayer avec les bons USEFLAGS et j'ai pu utiliser mon script directement anim_wink.gif
Saint Germain
Bonjour,

Je débarque un peu dans le monde Palm et je n'y connais pas grand chose. Cependant je maîtrise relativement bien linux en général et Debian en particulier.
Donc voici la méthode 'simple', à faire avec les droits root :

1) Mettre à jour votre liste de dépôt en modifiant votre /etc/apt/sources.list

Pour cela ajouter la ligne correspondant à votre version de Debian que vous trouverez sur ce site :
http://www.debian-multimedia.org

Par exemple moi je suis en 'testing' donc j'ai du rajouter :
deb http://www.debian-multimedia.org testing main

2) Mettre à jour les liste des paquets :
CODE
apt-get update


3) Mettre à jour votre trousseau de clés GPG :
CODE
apt-get install debian-multimedia-keyring


4) Installer Mencoder (toutes les dépendances seront ajoutées automatiquement) :
CODE
apt-get install mencoder


5) Retourner en simple utilisateur et télécharger le script, par exemple dans /home/toto/bin :
http://www.crazytux.net/Palm/encode2palm

6) Mettre les droits d'exécution au script :
CODE
chmod 755 /home/toto/bin/encode2palm


7) Exécutez le script dans le répertoire contenant les vidéos :
CODE
/home/toto/bin/encode2palm -l 320

"-l 320" car sur mon Palm Tungsten E2, mon écran a une résolution de 320*320, donc il vaut mieux encoder la vidéo avec pour largeur 320 pixels, ça évitera au programme de devoir redimensionner (et donc économise des ressources CPU).

Voilà, ça fonctionne bien avec TCPMP 0.72RC1 même sur les scènes rapides.
Si la personne qui parlait de avidemux pouvait nous donner ses options d'encodage ce serait sympa pour les tests...
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'information, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2008 Invision Power Services, Inc.