Script Shell para Mover Arquivos de Áudio para um Diretório Separado, Identificados por ffprobe do ffmpeg, após Download com yt-dlp

Olá, sou um inútil.
Com o yt-dlp, eu baixei e organizei completamente meus vídeos favoritos do YouTube.
No entanto, ao salvar, não incluí uma verificação para music.youtube.com, então tudo está no mesmo diretório.
Dessa forma, músicas e outros conteúdos ficam misturados, tornando a visualização muito difícil, então pensei em uma maneira de separar as pastas.
Assim, não consigo distinguir se é um arquivo de vídeo comum ou um arquivo de música, pois ambos têm a mesma extensão .mp4.
Mesmo que eu tente determinar pelo tamanho do arquivo ou duração, a precisão é muito baixa.
Então, percebi que seria bom determinar pela proporção de aspecto.
Para minha surpresa, o ffmpeg pode determinar a proporção de aspecto, então vou verificar com o seguinte comando:
ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 “arquivo_de_musica.mp4”
> 1080x1080
Então, parece ser um quadrado de 1080 (1080x1080).
Em outras palavras, basta mover os arquivos que retornam esse valor para um diretório separado.
Uau, o ffmpeg é realmente incrível! Ter uma funcionalidade como essa... é impressionante.
Então, escrevi o script shell da seguinte forma:
vi mvfile.sh
#!/bin/bash
# Definir os caminhos dos diretórios
input_dir="/media/aaa"
output_dir="/media/bbb"
# Criar o diretório de saída se não existir
mkdir -p "$output_dir"
# Processar cada arquivo
for file in "$input_dir"/*.mp4; do
# Obter a proporção de aspecto do vídeo usando ffprobe
ratio=$(ffprobe -v error -select_streams v:0 -show_entries stream=width,height -of csv=s=x:p=0 "$file")
# Se a proporção de aspecto for 1080x1080, mover o arquivo para o diretório de saída
if [ "$ratio" == "1080x1080" ]; then
mv "$file" "$output_dir"
echo "Moved $file to $output_dir"
fi
done
Em seguida, concedo permissão de execução.
chmod +x mvfile.sh
E, executar
./mvfile.sh
Se a saída mostrar que os arquivos foram movidos, é um sucesso.
Pode ser uma boa ideia atribuir o script acima como um trabalho cron, especialmente para o diretório usado para salvar arquivos de vídeo.
É tudo por agora.
Até a próxima.
※Aparentemente, há muitas miniaturas ligeiramente desalinhadas, então alterei a detecção de miniaturas para o seguinte:
if [[ "$ratio" == @(10[78][0-9]x10[78][0-9]|7[12][0-9]x7[12][0-9]) ]]; then