HOWTO Encoder des vidéos pour Archos AV3XX

Un article de Gentoo Linux Wiki.

Cet article fait partie des HOWTOs.
Méthodes d'installation CD Live Noyau et matériel Portables et Notebooks Portage Système Réseaux et Services Serveur X Logiciels fréquemment utilisés Autres

Petite astuce pour encoder vite-fait vos video au format adéquat pour les Archos AV3XX (cela devrait aussi fonctionner pour d'autres lecteurs et plus généralement pour appliquer une série de filtres sur une video).

Sommaire

[modifier] Pré-requis

Il vous faudra au minimum transcode et les codecs xvid et lame installé sur votre bécane pour que le script fonctionne, je conseille également fortement divx4linux et ffmpeg:

Code : Pré-requis
su
emerge -av transcode xvid divx4linux ffmpeg lame

[modifier] Le Script

On copie/colle le texte suivant dans son éditeur de texte favori après y avoir crée /bin/movie2archos:

Fichier : /bin/movie2archos
#! /bin/sh
#Parametres
OUT_WIDTH=320
BITRATE_VID=500
BITRATE_AUD=96

#Ne rien toucher ci dessous
tcprobe -i "$*" >~/archos/convert.tmp
IN_WIDTH=`cat ~/archos/convert.tmp |grep size |cut -d " " -f 5 | cut -d x -f 1`
IN_HEIGHT=`cat ~/archos/convert.tmp |grep size |cut -d " " -f 5 | cut -d x -f 2`
LENGHT=`cat ~/archos/convert.tmp |head -n1|cut -d "=" -f 3 | cut -d "," -f 1`

IDEAL_WIDTH=`echo "$IN_WIDTH / 32" |bc -q `
IDEAL_WIDTH=`echo "$IDEAL_WIDTH * 32" |bc -q `
IDEAL_HEIGHT=`echo "$IN_HEIGHT / 32" |bc -q `
IDEAL_HEIGHT=`echo "$IDEAL_HEIGHT * 32" |bc -q`
CROP_WIDTH=`echo "($IN_WIDTH - $IDEAL_WIDTH ) /2"|bc -q`
CROP_HEIGHT=`echo "($IN_HEIGHT - $IDEAL_HEIGHT) /2"|bc -q`

OUT_HEIGHT=`echo "$IDEAL_HEIGHT * $OUT_WIDTH / $IDEAL_WIDTH" |bc -q`
OUT_HDELTA=`echo "( $IDEAL_HEIGHT - $OUT_HEIGHT ) / 32" |bc -q`
OUT_WDELTA=`echo "( $IDEAL_WIDTH - $OUT_WIDTH ) /32" |bc -q`

#echo $OUT_WDELTA"x"$OUT_HDELTA
#touch ~/archos/archos_"$*"
OUTFILE=`basename "$*"`
#echo $LENGHT >~/archos/debug
transcode -i "$*" -o ~/archos/archos_"$OUTFILE" -y xvid4 -z -b $BITRATE_AUD -w $BITRATE_VID -j $CROP_HEIGHT","$CROP_WIDTH -B $OUT_HDELTA","$OUT_WDELTA &>~/archos/debug &

dcopRef=`kdialog --title "movie2archos - by Sorg" --progressbar "$OUTFILE:
encodage: 0.0 fps"  $LENGHT`
dcop $dcopRef showCancelButton true
sleep 2
until test "true" == `dcop $dcopRef wasCancelled`; do
        sleep 1
        PROGRESS=`/usr/bin/tail -n 1 ~/archos/debug| cut -d "-" -f 2 | cut -d "]" -f1`
#       echo $PROGRESS
        dcop $dcopRef setProgress $PROGRESS
        SPEED=`/usr/bin/tail -n1 ~/archos/debug |cut -d "," -f2`
        dcop $dcopRef setLabel "$OUTFILE:
encodage: $SPEED"
done

dcop $dcopRef close
killall transcode

La méthode utilisée ci-dessus est celle qui permet le redimensionnement le plus rapide. (60fps sur un AMD64 3000+ ) Elle a cependant quelques inconvénients: - La qualité n'est pas optimale. - Un peu d'image peut etre rognée pour adapter le ratio. Dans l'objectif d'un visionage sur Archos, ce compromis reste cependant très acceptable.

On atrtribue les droits qui vont bien.

Code : Modification des droits
su
chmod 777 /bin/movie2archos

[modifier] Manipulation pour KDE3.x

Code : Préparation
mkdir ~/archos
cd /usr/kde/3.x/share/apps/konqueror/servicemenus  #Ici, pensez à remplacer 3.x par la version de kde en cours d'utilisation sur votre machine!
su
nano avi-archos.desktop


On copie/colle le texte suivant :

Fichier : avi-archos.desktop
[Desktop Entry]
ServiceTypes=video/*
Actions=EncodePourArchos

[Desktop Action EncodePourArchos]
Name=Encoder pour Archos AV3XX
Exec=movie2archos %f


Puis on modifie les droits :

Code : Modification des droits
chmod 644 avi-archos.desktop

Au prochain redémarrage de konqueror, un menu suplémentaire apparaitra dans le menu contextuel. Les videos produites apparaissent dans le dossier archos de votre répertoire utilisateur ~/.

[modifier] Autres gestionnaires de fenêtres

Cet article est une ébauche. Vous pouvez l'aider à s'enrichir en le complétant.

[modifier] ToDo List

La liste ci desssous est à compléter par vos soins. N'hésitez pas à faire part de vos idées!

[modifier] A faire

  • Les mkv ne sont pas pris en entrée - étudier, le pourquoi du comment.
  • Je dois préparer une interface interactive pour sélectionner la qualité d'encodage.
  • Préparer une version "batch" du script pour convertir l'ensemble des vidéos contenues dans un répertoire. Ca pourrair être utile pour les épisodes de série TV par exemple.
  • Adapter le menu contextuel pour qu'il fonctionne sous gnome

[modifier] Fait

  • Je souhaite Afficher la console ou s'execute le script ou mieux encore une barre de progression . Je suis ouvert à vos idées sur ce point --Sorg 25 nov 2004 à 13:15 (GMT)

[modifier] Notes

  • La largeur idéale pour un AV3XX est 640px ou 320px. Pour une visualistaion à l'écran 320 est largement suffisant. Pour utiliser la sortie TV, préférez 640.
  • N'hésitez pas à modifier les paramètres d'encodage dans la source du script.
  • Pour faire des propositions et des rapports de bugs, c'est par là : http://forum.hardware.fr/forum2.php?config=hardwarefr.inc&post=38691&cat=11


MAJ : 24/11/2004
Source : http://forums.gentoo.org/viewtopic.php?t=188986
Auteur initial : sorg