27 lines
792 B
Bash
Executable File
27 lines
792 B
Bash
Executable File
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
# evaluate options through given arguments
|
|
file_suffix=
|
|
map=
|
|
while [[ $# > 0 ]]; do
|
|
case $1 in
|
|
-t | --type) file_suffix=$2; shift 2;;
|
|
-map ) map='-map 0:0'; shift;;
|
|
* ) break ;; # Anything else stops command line processing.
|
|
esac
|
|
done
|
|
|
|
# ensure existence of destination folder
|
|
dir="$(pwd)"
|
|
dest=${dir%/*}/${dir##*/}_ogg
|
|
if [[ !(-d $dest) ]]; then
|
|
mkdir $dest
|
|
fi
|
|
|
|
for file in ./*.$file_suffix; do
|
|
# `-vbr on -application audio` should be default, but let's be sure
|
|
echo "ffmpeg -i '$file' -c:a libopus -b:a 64k -vbr on -application audio $map '$dest/${file%$file_suffix}ogg'";
|
|
ffmpeg -i "$file" -c:a libopus -b:a 64k -vbr on -application audio $map "$dest/${file%$file_suffix}ogg";
|
|
done
|