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 ... )
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.
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 ... )
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
Tags bash ffmpeg shell-script