Eu proponho criar primeiro um diretório local, plano e local, preenchido apenas com links simbólicos (você poderia até mesmo preenchê-lo com hardlinks se estiver no mesmo sistema de arquivos) para os arquivos reais, então rsync ao invés do "original", usando a opção -L para transferir o arquivo atual, não o link simbólico.
#!/bin/sh
rm -rf /home/pi/staging
mkdir /home/pi/staging
find /home/pi/ftp/data/files -type f '(' -name '*.mp4' -o -name '*.m4v' ')' -print0 | xargs -0r ln -s -t /home/pi/staging
# rsync -a = rsync -rlptgoD but -L is needed instead of -l. Perhaps -aL has the same effect as -rLptgoD
rsync -rLptgoDvztr --delete /home/pi/staging/ /home/pi/vids/ --include='*.mp4' --include='*.m4v'
A propósito, isso não funcionará em caso de colisão com vários arquivos em diferentes subdiretórios com o mesmo nome (aqui ln -s
irá reclamar), mas isso está fora do escopo da questão.