Eu precisava de um script para gravar vídeos em tamanho real gravados na minha câmera, recompactá-los, criar uma versão compactada e depois mover o original para outra pasta depois que ele fosse convertido. Em seguida, importo os arquivos compactados para o Lightroom em vez dos originais. Funciona bem, exceto que desejo apenas mover o arquivo original se a cópia compactada foi criada com sucesso. Idéias para melhorar este roteiro são bem vindas! Estou usando o 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;