-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathmultinorm.sh
More file actions
executable file
·36 lines (27 loc) · 1.29 KB
/
multinorm.sh
File metadata and controls
executable file
·36 lines (27 loc) · 1.29 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/env bash
# Ensure we fail fast if there is a problem.
set -eo pipefail
SOURCE=$1
echo "Looking inside $SOURCE now..."
for f in $SOURCE/*
do
file=$(basename "$f")
folder="${f%/*}"
filename="${file%.*}"
echo "Processing folder: $folder and file: $file ($filename)"
working_folder="$folder/$filename"
working_filename="$folder/$filename/$filename"
working_sourcefile="$folder/$filename/$file"
destination_folder="$folder/normalized"
mkdir -p "$destination_folder"
echo "Copying $f to ./$working_folder"
mkdir -p $working_folder
cp $f ./$working_folder
ffmpeg -i $working_sourcefile -c copy "$working_filename-temp.mp4"
ffmpeg -i "$working_filename-temp.mp4" "$working_filename-audio.wav"
sox "$working_filename-audio.wav" "$working_filename-temp.wav" compand 1,2 -80,-80,-55,-15,-10,-10,0,0 -7 -30 1 &&
sox "$working_filename-temp.wav" "$working_filename-leveled.wav" --norm
ffmpeg -i "$working_filename-temp.mp4" -i "$working_filename-leveled.wav" -vcodec copy -acodec aac -strict experimental -ac 2 -ab 114k -map 0:0 -map 1:0 "$working_filename-norm.mp4"
rm "$working_sourcefile" "$working_filename-temp.mp4" "$working_filename-audio.wav" "$working_filename-leveled.wav" "$working_filename-temp.wav"
mv "$working_filename-norm.mp4" "$destination_folder"
done