Outils du site


ffmpeg - Faire un fondu en Fermeture d'un fichier son

Script proposé par G2°°
Ici sur le forum https://hyliatyde.space/forum/viewtopic.php?id=93

Sources : http://unix.stackexchange.com/questions/170961/get-total-duration-of-video-files-in-a-directory


Vous faites une capture du son que vous écoutez “ Capture Monitor ”.

Le début est tronqué ainsi que la fin.

Faire un fondu en ouverture, c'est facile mais un fondu en fermeture est plus difficile. Il faut calculer la durée du morceau et rentrer l'info dans la commande à chaque fois.
Une solution serait l'utilisation de bc dans un script “Nautilus” avec les bonnes options pour ffmpeg.

Ce script, que vous allez mettre dans ~/.config/caja/scripts (si vous êtes comme moi avec un environnement Mate), vous permettra par un clic-droit sur un fichier ou par une sélection multiple de plusieurs fichiers, de faire :
Scripts – “FADE_IN&OUT.sh” et d'appliquer ce fondu en ouverture et en fermeture.

FADE_IN&OUT.sh
#!/bin/bash -v
 
times=()
declare -a FILES
for f; do
	if [ -r "$f" ]; then
FILES+=("$f")
fi
_t=$(ffmpeg -i "$f" 2>&1 | awk '/^  Duration/ { split($2, A, ":"); split(A[3], B, "."); print 3600*A[1] + 60*A[2] + B[1] - 5 }')
	times+=("$_t")
done
echo "${times[@]}" | sed 's/ /+/g' | bc
 
 
ffmpeg -i "$f" -af "afade=t=in:ss=0:d=5,afade=t=out:st=$times :d=5" output.wav
 
exit