Bonjour à tous,
J'ai un script à proposer, qui n'est pas de moi, je l'ai trouvé ici :
LavrenEncoder
Avec un appareil photo numérique on peut filmer, les vidéos sont en .MOV
Ce format est de bonne qualité mais son transcodage n'est pas aisé :
http://forum.ubuntu-fr.org/viewtopic.php?id=889431
LavrenEncoder permet de transcoder ses .MOV en différents formats, en choisissant les dimentions de la vidéo finale, ses bitrates audio et vidéo , etc ... exactement comme on le désire.
Voici le script
LavrenEncoder :
#!/bin/bash
## Script pour DéBlogToi.com
## Créé par Lavren, le 29 décembre 2008.
## Version 0.1
input_file=$1
echo "écrivez le nom de la vidéo de sortie (sans extension) "
read output_file_name
echo "Quel codec vidéo voulez-vous utiliser pour votre nouvelle vidéo ? Choississez en tapant un numéro"
OPTIONS="x264"
select video_codec in $OPTIONS; do
if [ "$video_codec" = "x264" ]; then
output_video_codec="libx264"
echo "OK, x264 pour un encodage H.264"
echo "Quelle extension voulez-vous utiliser pour votre nouvelle vidéo ? Choississez en tapant un numéro"
OPTIONS="mov mp4 3gp avi"
select video_opt in $OPTIONS; do
if [ "$video_opt" = "mov" ]; then
output_file_extension="mov"
echo "OK pour l'extension $audio_opt"
break
elif [ "$video_opt" = "mp4" ]; then
output_file_extension="mp4"
echo "OK pour l'extension $audio_opt"
break
elif [ "$video_opt" = "avi" ]; then
output_file_extension="avi"
echo "OK pour l'extension $audio_opt"
break
else
echo "Non valide"
exit
fi
done
echo "Quel codec audio voulez-vous utiliser pour votre nouvelle vidéo ? Choississez en tapant un numéro"
OPTIONS="aac mp3 flac"
select audio_opt in $OPTIONS; do
if [ "$audio_opt" = "aac" ]; then
output_file_audiocodec="libfaac"
echo "OK, le codec $audio_opt pour l'audio"
break
elif [ "$audio_opt" = "mp3" ]; then
output_file_audiocodec="libmp3lame"
echo "OK, le codec $audio_opt pour l'audio"
break
elif [ "$audio_opt" = "flac" ]; then
output_file_audiocodec="flac"
echo "OK, le codec $audio_opt pour l'audio"
break
else
echo "Non valide"
exit
fi
done
break
else
echo "Non valide"
exit
fi
done
echo "Quelle largeur de vidéo en pixels ? Il est recommandé d'utiliser des multiples de 16 comme 1280, 720, 640, 320"
read output_file_width
echo "Quelle hauteur de vidéo en pixels ? Attention aux proportions de votre vidéo (16:9, 4:3, 3:2 => 1280x720, 1280x1024, 1200x800)"
read output_file_height
echo "Quel taux (bitrate) souhaitez-vous pour votre vidéo, en kbps ? Pour le web, il est recommandé entre 500 et 2000 selon la qualité."
read output_file_bitrate
echo "Quel taux (bitrate) souhaitez-vous pour l'audio ? Exemple : 192 -> qualité CD, 128 -> excellente qualité, 96 -> juste assez bon pour le web"
read output_file_audiorate
## Confirmation
echo "Voici les détails de l'encodage de votre vidéo :"
echo "Nom du fichier : $output_file_name.$output_file_extension"
echo "Largeur : $output_file_width px"
echo "Hauteur : $output_file_height px"
echo "Codec video : $video_codec"
echo "Bitrate video: $output_file_bitrate kbps"
echo "Codec audio : $audio_opt"
echo "Bitrate audio : $output_file_audiorate kbps"
echo "Ces réglages sont-ils corrects ? [o/n]"
read output_file_confirm
if [ $output_file_confirm = 'n' ] || [ $output_file_confirm = 'N' ]
then
echo "OK, réessayez...."
exit
else
echo "Excellent. Votre fichier va maintenant être généré. Cela peut prendre un moment selon la puissance de votre processeur."
fi
# Encodage
ffmpeg -i ${input_file} -vcodec ${output_video_codec} -acodec ${output_file_audiocodec} -ab ${output_file_audiorate}k -vpre hq -b ${output_file_bitrate}k -s ${output_file_width}x${output_file_height} -f ${output_file_extension} ${output_file_name}.${output_file_extension}
echo "Votre fichier a été créé."
## Appliquer qt-faststart
if [ $output_file_extension = 'mov' ] || [ $output_file_extension = 'mp4' ]
then
echo "Voulez vous appliquer qt-faststart, pour le streaming ? [o/n]"
read qt_faststart_permis
if [ $qt_faststart_permis = 'o' ] || [ $qt_faststart_permis = 'O' ]
then
mv ${output_file_name}.${output_file_extension} ${output_file_name}_temp.${output_file_extension}
qt-faststart ${output_file_name}_temp.${output_file_extension} ${output_file_name}.${output_file_extension}
echo "QuickTime Fast Start a été appliqué sur la vidéo"
rm ${output_file_name}_temp.${output_file_extension}
echo "C'est terminé ! Merci d'avoir utilisé LavrenEncoder"
else
echo "C'est terminé ! Merci d'avoir utilisé LavrenEncoder"
fi
else
echo "C'est terminé ! Merci d'avoir utilisé LavrenEncoder"
fi
Son utilisation est simple.
-1- On clique de droite dessus: Propriétés/Permissions/"Autoriser l'exécution du fichier comme un programme".
-2- En console
cd + chemin oû se trouve le .MOV à transcoder, on glisse le script puis le fichier.MOV dans la console + Entrée
Pour ceux qui ne sauraient pas quel bitrate vidéo choisir, voici la règle de calcul pour les .avi :
il ya une formule pour déterminer le débit maximum "utile" en DivX pour un périphérique.
En règle générale la valeur "bits par pixel" est de
0.22
bitrate = (largeur x hauteur x "bits par pixel" x images par seconde) / 1024
exemples :
(640x480x0.22x
30) / 1024 = 1980 kbit / seconde
(480x200x0.22x25) / 1024 = 515 kbps
(480x272x0.22x25) / 1024 = 701 kbps
(320x240x0.22x25) / 1024 = 412 kbps
Comme c'est la seule méthode que j'ai pu trouver pour que mes
vidéos finales n'aient pas le son décalé par rapport à l'image, je propose que ce script, que j'ai trouvé fort utile, soit présent dans la
documentation.
Voir aussi
ce post.