12345678910111213141516171819202122232425262728293031323334 |
- #!/bin/sh
- secmax=240
- secfad=5
- #wav is faster
- temp1=$(mktemp /tmp/playlistalo.XXXXXXXX.wav)
- temp2=$(mktemp /tmp/playlistalo.XXXXXXXX.wav)
- temp3=$(mktemp /tmp/playlistalo.XXXXXXXX.wav)
- tempx=$(mktemp /tmp/playlistalo.XXXXXXXX.m4a)
- #step 1 rimuove il silenzio
- ffmpeg -i "$1" -to $(($secmax + 15)) -af "silenceremove=start_periods=1:start_duration=1:start_threshold=-60dB:detection=peak,aformat=dblp,areverse,silenceremove=start_periods=1:start_duration=1:start_threshold=-60dB:detection=peak,aformat=dblp,areverse" -v quiet -y $temp1
- #step 2 tronca e sfuma
- len=$(ffprobe -show_entries stream=duration -of default=noprint_wrappers=1:nokey=1 -v quiet $temp1)
- len=${len%.*}
- if [ $len -gt $secmax ];
- then
- ffmpeg -i $temp1 -to $secmax -af "afade=t=out:st=$(($secmax - $secfad)):d=$secfad" -v quiet -y $temp2
- rm $temp1
- mv $temp2 $temp3
- else
- mv $temp1 $temp3
- fi
- #step3 normalizza
- #ffmpeg -i $temp3 -af loudnorm $tempx
- ffmpeg-normalize -q -f $temp3 -c:a aac -o $tempx
- rm $temp3
- mv $tempx "$2"
|