Mover os arquivos de vídeo para o diretório por largura

0

Estou tentando mover os arquivos de vídeo para o diretório por largura desse arquivo de vídeo.

Por exemplo, eu tenho

./xxx/pr0n.mkv
./pokemon.mkv

Depois de executar o script

./xxx/1920/pr0n.mkv
./1920/pokemon.mkv

Se eu executar o script novamente, outro diretório de largura não será criado.

  • Corresponder extensões de vídeo comuns
  • Fazer não corresponder se o diretório pai do arquivo for apenas dígitos (porque essa é a largura)

Eu cheguei até aqui, mas não funciona:

find . -type f \( -iname "*.mkv" -o -iname "*.avi" -o -iname "*.mov" -o -iname "*.mpg" -o -iname "*.mpeg" -o -iname "*.wmv" -o -iname "*.mp4" \) -a -regex '.*\/[^0-9]+\/\.*$' -exec bash -c 'echo "Processing {} .."; WIDTH=$(mediainfo "--Inform=Video;%Width%" "{}") && DIR=$(dirname "{}") && mkdir -p "$DIR/$WIDTH" && mv "{}" "$DIR/$WIDTH"' \; 
    
por raspi 30.01.2013 / 23:12

1 resposta

1

Eu encontrei sua pergunta: use ffmpeg -i YOUR_MOVIE_FILES -sample_fmts Você obtém os dados longos.

Você deve usar um verdadeiro grep para recuperar a resolução. nestes dados você pode encontrar resolução.

ffmpeg -i YOUR_MOVIE_FILES -sample_fmts |egrep blahblah

ou use um awk script .

    
por 31.01.2013 / 05:15

Tags