diff options
Diffstat (limited to 'bin/split-media-files.sh')
-rwxr-xr-x | bin/split-media-files.sh | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/bin/split-media-files.sh b/bin/split-media-files.sh new file mode 100755 index 0000000..5f79c81 --- /dev/null +++ b/bin/split-media-files.sh @@ -0,0 +1,19 @@ +#!bash + +max_duration=$((4*3600)) + +if [[ $# -ne 1 ]]; then + echo 1>&2 "Usage: $0 <media-file>" + exit 1 +fi + +input_file="$1" + +base="$(echo $input_file | perl -pe 's/(.*)\.([^.]*)$/$1/')" +extension="$(echo $input_file | perl -pe 's/(.*)\.([^.]*)$/$2/')" +if [[ $extension == "m4b" ]]; then + extension=m4a +fi + +ffmpeg -i "${input_file}" -c copy -f segment -segment_time $max_duration \ + "${base}-%03d.${extension}" |