Мне нужен был скрипт, чтобы взять полноразмерные видео, записанные на мою камеру, перепаковать их, создать сжатую версию, а затем переместить оригинал в другую папку после того, как он был конвертирован. Затем я импортирую сжатые файлы в Lightroom, а не в оригиналы. Это работает хорошо, за исключением того, что я хотел бы переместить исходный файл, только если сжатая копия была успешно создана. Идеи по улучшению этого скрипта приветствуются! Я использую Mac OS X.
#Convert everything in the subdirectories of a directory called "Unprocessed", storing the converted file in the "Processed/Converted" directory, fixing the 420p issue if the file is an AVI files, then move the original to a corresponding subdirectory of "Processed/Completed" for i in Unprocessed/*/*/*.*;
do o=$i;
echo Target is $o;
filename=`echo ${o##*/}`;
echo Filename is $filename;
tree=`echo $o | cut -d'/' -f2-3`;
echo Tree is $tree;
echo Directory to create is "Processed/Converted/$tree";
mkdir -p "Processed/Converted/$tree";
base=`echo ${filename%.*}`;
echo Base is $base;
newfile="Processed/Converted/$tree/$base.mp4";
echo Newfile is $newfile;
ffmpeg -i "$i" -map_metadata 0 -pix_fmt yuv420p "${newfile}";
echo Destination to move to is "Processed/Completed/$tree";
mkdir -p "Processed/Completed/$tree";
mv "$i" "Processed/Completed/$tree";
done;