Blacksad_ a écritMerci pour ce script 🙂
J'ai essayé de l'adapter mais ça ne semble pas fonctionner (je l'ai laissé tourner 12H -__-" et j'ai un core 2 duo)
J'ai des fichiers MKV de 8go en qualité HD que je souhaite transformer en fichier AVI, voilà l'adaptation:
#!/bin/sh
# AUTHOR: P4 aka PRQT83 ( ubuntu fr )
# LIEN:
http://forum.ubuntu-fr.org/viewtopic.php?pid=1551817
# REQUIRES: mencoder, zenity
# NAME: x264 converter
# DESCRIPTION: utilitaire pour convertir les videos en .avi
if [ $# -eq 0 ]; then
zenity --error --title="Erreur" --text="Vous devez choisir au moins un fichier pour lancer la conversion"
exit 1
fi
(while [ $# -gt 0 ]; do
movie=$1
avi_file=`echo "$movie" | sed 's/.\w*$/ _converted.avi/'`
mencoder "$movie" -oac mp3lame -lameopts cbr=128 -ovc x264 -x264encopts bitrate=900:frameref=8:mixed_refs:bframes=3:b_adapt:b_pyramid:weight_b:partitions=all:8x8dct:me=umh:subq=7:trellis=2:brdo:threads=auto:pass=1 -o "/dev/null" && mencoder "$movie" -oac mp3lame -lameopts cbr=128 -ovc x264 -x264encopts bitrate=900:frameref=8:mixed_refs:bframes=3:b_adapt:b_pyramid:weight_b:partitions=all:8x8dct:me=umh:subq=7:trellis=2:brdo:threads=auto:pass=2 -o "$avi_file"
rm "divx2pass.log"
shift
done
) |
zenity --progress --pulsate --auto-close --text="Conversion en cours ..." --percentage=0
zenity --info --title "$title" --text="Conversion complete"
Alors ce que je vois :
- tu ne dois pas spécifier le bitrate à la première passe
- subq=7... C'est extrêmement long, surtout en combinaison avec bframes=3 et b_pyramid. Enfin, en général tes options sont vraiment poussées très (trop) haut.
- trellis et brdo ne sont pas des options du x264 ! Voir la doc
http://www.mplayerhq.hu/DOCS/HTML/fr/menc-feat-x264.html , ou plus général pour l'encodage
http://www.mplayerhq.hu/DOCS/HTML/fr/encoding-guide.html .
- si tu veux convertir du HD, tu dois réduire la résolution (-vf scale=640:480 par exemple)
- le CPU est-il utilisé à 50 ou à 100 % lors de l'encodage ?
Fais donc un essai avec des options de qualité moindre en une seule passe, genre :
subq=3:bframes=1:b_pyramid:weight_b:bitrate=700
directement dans la console, et pas en passant par le script. Ca donnerait :
mencoder film.mkv -vf scale=640:480 -ovc x264 -x264encopts subq=3:bframes=1:b_pyramid:weight_b:bitrate=700 -oac mp3lame -lameopts cbr=128 -o film.avi
La résolution indiquée ici (640:480) est à adapter au ratio de ton film (4/3, 16/9, 2.85/1, ...). Après, en 2 passes :
mencoder film.mkv -vf scale=640:480 -ovc x264 -x264encopts pass=1:subq=3:bframes=1:b_pyramid:weight_b -oac copy -o /dev/null && mencoder film.mkv -vf scale=640:480 -ovc x264 -x264encopts pass=2:subq=3:bframes=1:b_pyramid:weight_b:bitrate=700 -oac mp3lame -lameopts cbr=128 -o film.avi