O problema vem de você repetir os resultados de find
. Veja aqui para mais informações. Para provar isso, basta fazer o seguinte da sua pasta de mídia e ver como os nomes dos arquivos ficam confusos:
for media in $(find -name '*.mkv' -or -name '*.mp4'); do echo "$media"; done
Você pode substituir seu find
por globs, da seguinte forma:
for media in "$1"/*.mp4; do stuff; done
for media in "$1"/*.mkv; do stuff; done
Ou para simplificar o uso da expansão de chaves:
for media in "$1"/*.{mp4,mkv}; do stuff; done