You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
1.5 KiB
56 lines
1.5 KiB
#!/bin/bash |
|
# Copyright ©2018 Paco Hope |
|
# See attached LICENSE.md file |
|
# |
|
# Config Variables |
|
SRCDIR="/Volumes/Movies/Library/Home Movies" |
|
DESTBASE="/Volumes/Shared/Movies/converted" |
|
HANDBRAKE_CLI="/Users/paco/bin/HandBrakeCLI" |
|
# The name of the preset, as you see it in the HandBrake window |
|
PRESET="Fast 720p30" |
|
FILEEXT="mp4" |
|
|
|
### --- You shouldn't need to configure stuff below here. --- ### |
|
|
|
export IFS=" |
|
" |
|
|
|
# cd to the starting point |
|
cd "${SRCDIR}" |
|
|
|
# I'm searching for anything named .AVI, .avi, .MOV, or .mov |
|
for FILE in $(find * -type f \( -iname '*avi' -o -iname '*mov' \)) |
|
do |
|
filename="$(basename "${FILE}")" |
|
dirname="$(dirname "${FILE}")" |
|
DESTDIR="${DESTBASE}/${dirname}" |
|
|
|
# If we need to make the destination directory,k do it. |
|
if [ ! -d "${DESTDIR}" ] |
|
then |
|
echo "making \"${DESTDIR}\"" |
|
mkdir -p "${DESTDIR}" |
|
fi |
|
|
|
extension="${filename##*.}" |
|
filename="${filename%.*}" |
|
DESTFILE="${DESTDIR}/${filename}.${FILEEXT}" |
|
|
|
# If the file doesn't already exist, let's run a conversion |
|
if [ ! -r "${DESTFILE}" ] |
|
then |
|
$HANDBRAKE_CLI --verbose=0 \ |
|
-2 -i "${FILE}" \ |
|
-o "${DESTFILE}" \ |
|
--preset="${PRESET}" |
|
# If the command was successful, set the file modification and creation |
|
# times to be the same as the source file. |
|
if [ -r "${DESTFILE}" ] |
|
then |
|
touch -a -m -r "${FILE}" "${DESTFILE}" |
|
fi |
|
else |
|
# Already exists. Just warn and move on. |
|
echo "\"${DESTFILE}\" exists. Skipping." |
|
fi |
|
done
|
|
|