Edit du 1er mai 2011 : Support de la détection auto de la piste DTS FR
#!/bin/bash
SRC_FILE=$1
PISTEDTS=$2
function usage() {
echo "Usage : mkv2ac3 source [PISTEDTS]"
echo "Converti le fichier MKV-DTS en MKV-AC3-DTS"
echo " Syntaxe :"
echo " source"
echo " le fichier MKV contenant a minima une piste DTS FR"
echo " PISTEDTS (optionnel) "
echo " le numéro de la piste DTS à convertir en AC3"
echo " Dépendances :"
echo " libdca-utils - decoding library for DTS Coherent Acoustics streams (utilities)"
echo " aften - encodeur audio AC3"
echo " mediainfo - Informe du contenu d'une vidéo"
}
if [ -z "$SRC_FILE" ]; then
usage
exit 0
else
if [ ! -f "$SRC_FILE" ]; then
echo "Fichier $SRC_FILE introuvable"
exit 0
fi
fi
DTS=`echo "$SRC_FILE"|sed 's/\(.*\)mkv/\1dts/'`
AC3=`echo "$SRC_FILE"|sed 's/\(.*\)mkv/\1ac3/'`
DEST_FILE=`echo "$SRC_FILE"|sed 's/\(.*\)mkv/\1ac3.mkv/'`
#extraction du numéro de la piste DTS
if [ -z $PISTEDTS ]; then
#INFO_MAX_LINE=`mkvinfo "$SRC" | grep -n Chapters | cut -d: -f1`
#SUMMARY=head -n $INFO_MAX_LINE `mkvinfo --summary "$SRC"`
mediainfo --Inform="Audio;Piste #2 %ID% (%Format%) -> %Language%\n" $SRC_FILE
PISTEDTS=`mediainfo --Inform="Audio;%ID% %Format% %Language%\n" $SRC_FILE | grep "DTS" | grep "fr" | awk '{print $1}'`
echo "Piste DTS FR détectée : #$PISTEDTS"
read -p"Appuyer sur entrée pour continuer, ou spécifiez un n° de piste choisie : " reponse
if [ "$reponse" != "" ]; then
PISTEDTS=$reponse;
fi
fi
echo "Extraction de la piste DTS #$PISTEDTS"
mkvextract tracks "$SRC_FILE" $PISTEDTS:"$DTS"
echo "Conversion de la piste DTS en AC3 $AC3"
dcadec -o wavall "$DTS" | aften -b 640 - "$AC3"
echo "Création du nouveau fichier MKV AC3/DTS $DEST_FILE"
mkvmerge -o "$DEST_FILE" \
--default-track 1:no --forced-track 1:yes -d 1 -s 4 -A -T --no-global-tags "$SRC_FILE" \
--language 0:fre --default-track 0:yes --forced-track 0:yes -a 0 -D -S -T --no-global-tags --no-chapters "$AC3" \
--language 0:fre --forced-track 0:no -a 0 -D -S -T --no-global-tags --no-chapters "$DTS" \
--track-order 0:1,1:0,2:0,0:4
Aucun commentaire:
Enregistrer un commentaire