Incrustation de sous titre avec mencoder + script gnome et zenity

Bonjour a tous …

Aujourd’hui on revoit les fondamentaux avec un petit script qui permet à l’aide de zenity et de mencoder d’incruster des sous titres dans les videos en VO.
Ce qu’il vous faut :
zenity et mencoder

Le script vérifie de lui même la présence des paquets et vous propose de les installer le cas où vous ne les avez pas 😉 mais bon dans le doute … :

sudo apt-get install mencoder zenity

le but final est que vous ayez le moins à chercher et/ou rechercher et/ou taper et/ou retaper la commande suivante:

mencoder <FichierVideo> -ovc lavc -oac copy -sub <FichierSousTitre> -o <NouveauFichierVideoAvecSousTitre>

En donné d’entré : donnez lui le fichier avi (clic droit /Script/…)  puis selectionnez le fichier srt. Puis laissez le bosser

#!/bin/bash

TEST_FILE=$1

if [[ -z `which zenity` ]]
 then
 echo "Vous n avez pas zenity : installation va se lancer "
 xterm -e "sudo apt-get install zenity"
fi
if [[ -z `which mencoder` ]]
 then
 echo "Vous n avez pas zenity : installation va se lancer "
 xterm -e "sudo apt-get install mencoder"
fi

if [[ -z `file ${TEST_FILE} | grep "video:"` ]]
 then
 zenity --error --text="Le fichier ${TEST_FILE} n'est pas un fichier video"
 exit
fi

AVI_FILE=$1
SRT_FILE=`zenity --file-selection --title="Sélectionnez le fichier sous titre"`
case $? in
 0)
 echo "\"$SRT_FILE\" est sélectionné.";;
 1)
 Probleme="1";;
 -1)
 Probleme="1";;
esac

if [[ "${Probleme}" == "1" ]]
 then
 zenity --error --text="Le fichier sous titre a mal été séléctionné"
 exit
fi
AVI_FILE_NAME=`basename ${AVI_FILE}`
AVI_FILE_PATH=`dirname ${AVI_FILE}`
DefaultName="`echo ${AVI_FILE_NAME} | sed "s#.avi##g" |sed "s#.AVI##g"`_SousTitre.avi"

NEW_FILE=`zenity --entry \
 --title="New AVI File name" \
 --text="Entree le path et le nom de votre nouveau fichier avi avec sous titre" \
 --entry-text "${AVI_FILE_PATH}/${DefaultName}"`

mkdir -p `dirname ${NEW_FILE}`
xterm -e "mencoder ${AVI_FILE} -ovc lavc -oac copy -sub ${SRT_FILE} -o ${NEW_FILE}"
zenity --info --text="Le nouveau fichier `basename ${NEW_FILE}` se trouve \n dans `dirname ${NEW_FILE}`"

Vous vous copier ça dans un fichier Incrustator.sh dans ~/.gnome2/nautilus-scripts/ + un petit chmod 777 ~/.gnome2/nautilus-scripts/ et Go Go Go …

Je vous laisse découvrir le tout tout U2 😉