Em diretórios aninhados, extraia JPG de cada quadro MP4, deixando JPGs no diretório do MP4

0

Eu tenho este script, que cria um diretório para cada arquivo e move o arquivo para o diretório.

#!/bin/bash
for file in *; do
  if [[ -f "$file" ]]; then
    mkdir "${file%.*}"
    mv "$file" "${file%.*}"
  fi
done

Agora, preciso "visitar" cada arquivo (todos os MP4) em seu diretório,   então crie um JPG de cada quadro com ffmpeg   deixando os JPGs dentro desse diretório.

Eu crio JPGs de MP4's com ...

ffmpeg -i FILENAME.mp4 -y -f image2 -c:v mjpeg %03d.jpg

Eu não sei como garantir que os JPGs extraídos apareçam dentro do diretório do seu MP4 associado. Se eu aplicar a extração ffmpeg no precedente, JPGs irá em um diretório de nível superior, eu acho.

    
por Eric Schayer 08.06.2018 / 17:54

2 respostas

2

Se você não puder especificar o diretório de saída para ffmpeg , basta executar o diretório desejado usando um subshell, por exemplo,

( cd $directory && ffmpeg ... )
    
por 10.06.2018 / 22:10
0

Obrigado pelas ótimas sugestões.

If you can't specify the output directory to ffmpeg itself, simply run it within the wanted directory using a subshell, e.g. ( cd $directory && ffmpeg ... )

Isso faz sentido. Eu não tenho certeza de como $ diretório será definido para o diretório correto em questão.

Eu também não sei como voltaria ao diretório anterior quando ffmpeg é feito, dado que a travessia da árvore pode ser muito complexa para "cd .."

Obrigado novamente por sua gentil assistência. Eric

    
por 19.06.2018 / 23:41