#!/bin/bash
# Desc: Extracts audio from video files
# Usage: bk_export_audio.sh [input_dir] ([output_dir])
-# Version: 0.1.0
+# Version: 0.1.1
# Depends: bash 5.1.16, GNU Coreutils (8.32)
# Plumbing
# arg2: desired output file extension
# arg3: output dir path
# Output: audio file at path [arg3]/[arg1].[arg2]
- local file_in file_in_ext dir_out file_in_basename;
+ local file_in file_in_ext dir_out file_in_basename path_out;
file_in="$1";
file_in_ext="$2";
dir_out="$3";
+ file_in_basename="$(basename "$file_in")";
+ path_out="$dir_out"/"$file_in_basename"."$file_in_ext";
+
+ # Skip if output file already exists.
+ if [[ -f "$path_out" ]]; then return 1; fi;
# Extract audio file
- file_in_basename="$(basename "$file_in")";
- ffmpeg -i "$file_in" -vn -acodec copy "$dir_out"/"$file_in_basename"."$file_in_ext";
+ ffmpeg -i "$file_in" -vn -acodec copy "$path_out";
} # Create audio file from video file
count_jobs() {
# Desc: Count and return total number of jobs