Modification de la structure des dossiers. Script principal d'installation : install.sh
This commit is contained in:
39
local/bin/mkv_extract.sh
Executable file
39
local/bin/mkv_extract.sh
Executable file
@@ -0,0 +1,39 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Vérifier si le nombre d'arguments est correct
|
||||
if [ $# -ne 1 ]; then
|
||||
echo "Usage: $0 fichier.mkv"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Nom du fichier MKV en entrée
|
||||
input_file="$1"
|
||||
|
||||
# Vérifier si le fichier MKV existe
|
||||
if [ ! -f "$input_file" ]; then
|
||||
echo "Le fichier $input_file n'existe pas."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Extraire le nombre de pistes audio dans le fichier MKV
|
||||
num_audio_tracks=$(ffprobe -i "$input_file" -select_streams a -show_entries stream=index -of csv=p=0 | wc -l)
|
||||
|
||||
# Vérifier s'il y a au moins une piste audio
|
||||
if [ "$num_audio_tracks" -eq 0 ]; then
|
||||
echo "Le fichier MKV ne contient aucune piste audio."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Créer un répertoire pour stocker les fichiers audio extraits
|
||||
output_dir="${input_file%.mkv}_audio_tracks"
|
||||
mkdir -p "$output_dir"
|
||||
|
||||
# Boucler à travers chaque piste audio et les extraire dans leur format natif
|
||||
for ((i = 0; i < num_audio_tracks; i++)); do
|
||||
output_file="$output_dir/audio_track_$i.$(ffprobe -i "$input_file" -select_streams a -show_entries stream=codec_name -of csv=p=0 -v 0 | sed -n "$(($i+1))p")"
|
||||
ffmpeg -i "$input_file" -map "a:$i" "$output_file"
|
||||
echo "Piste audio $i extraite dans $output_file."
|
||||
done
|
||||
|
||||
echo "Extraction terminée. Les fichiers audio sont stockés dans le répertoire $output_dir."
|
||||
|
||||
Reference in New Issue
Block a user