Sauf que, en prévision de vacances pluvieuses, si vous souhaitez emporter vos films sur support amovible (et garder au chaud vos originaux biens chèrement acquis), benh vous risquez vous retrouver le bec dans l'eau : pas mal de TV "standard", si elles ont bien un port USB (quand ce n'est pas un port d'administrations), n'aiment pas encore tout à fait bien ce format...
Alors le script ci-dessous est votre ami !
#!/bin/bash #Dépendances : mediainfo, lame, faad, mencoder function checkError() { if [ "$1" != "0" ]; then echo "Error ! Halting..." exit 0; fi } OIFS="$IFS" IFS=$'\n' for FILE in `find ./ -iname \*.mkv` ; do NB_VIDEO=`mediainfo --Inform="General;%VideoCount%" "$FILE"` NB_AUDIO=`mediainfo --Inform="General;%AudioCount%" "$FILE"` if [ $NB_VIDEO -eq 1 ] && [ $NB_AUDIO -eq 1 ]; then ID_VIDEO=`mediainfo --Inform="Video;%ID/String%" "$FILE"` ID_AUDIO=`mediainfo --Inform="Audio;%ID/String%" "$FILE"` FMT_VIDEO=`mediainfo --Inform="Video;%Format%" "$FILE"` FMT_AUDIO=`mediainfo --Inform="Audio;%Format%" "$FILE"` echo "Splitting '$FILE' Audio ($ID_AUDIO:$FMT_AUDIO) & Video ($ID_VIDEO:$FMT_VIDEO) ..." mkvextract -q tracks "$FILE" $ID_VIDEO:"$FILE.$FMT_VIDEO" $ID_AUDIO:"$FILE.$FMT_AUDIO" checkError $? if [ "$FMT_AUDIO" != "MP3" ]; then echo "Converting $ID_AUDIO:$FMT_AUDIO to MP3" echo -n "1/2 ..." #mplayer -really-quiet -ao pcm "$FILE.$FMT_AUDIO" -ao pcm:file="$FILE.wav" 2>&1>/dev/null faad -q -o "$FILE.wav" "$FILE.$FMT_AUDIO" checkError $? echo "2/2 ..." lame --silent -h -b 128 "$FILE.wav" "$FILE.MP3" checkError $? rm "$FILE.wav" "$FILE.$FMT_AUDIO" FMT_AUDIO="MP3"; fi echo "Joining Audio ($FMT_AUDIO) & Video ($FMT_VIDEO) ..." mencoder -quiet -idx -ovc copy -oac copy -mc 0 -noskip -audiofile "$FILE.$FMT_AUDIO" "$FILE.$FMT_VIDEO" -o "$FILE.avi" 2>&1>/dev/null checkError $? rm "$FILE.$FMT_AUDIO" "$FILE.$FMT_VIDEO" echo -e "\n => '$FILE.avi' : Transcode finished" else echo -n "Error : $FILE contains $NB_VIDEO videos tracks et $NB_AUDIO audio tracks" fi done IFS="$OIFS"
Aucun commentaire:
Enregistrer un commentaire