Во вложенных каталогах извлекайте JPG из каждого кадра MP4, оставляя JPG в каталоге MP4

У меня есть этот скрипт, который создает каталог для каждого файла и перемещает файл в каталог.

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

Теперь мне нужно «посетить» каждый файл (все MP4) внутри его каталога, а затем создать JPG из каждого кадра с помощью ffmpeg, оставив JPG внутри этого каталога.

Я создаю JPG из MP4 с ..

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

Я не знаю, как сделать, чтобы извлеченные файлы JPG появлялись в соответствующем каталоге MP4. Если я применю извлечение ffmpeg в вышеизложенном, я думаю, JPG попадут в каталог более высокого уровня.

Если вы не можете указать выходной каталог для самого ffmpeg , просто запустите внутри нужного каталога с помощью подоболочки, например

 ( cd $directory && ffmpeg ... ) 

Спасибо за отличные предложения.

Если вы не можете указать выходной каталог для самого ffmpeg, просто запустите его в нужном каталоге с помощью подоболочки, например (cd $ directory && ffmpeg …)

Это имеет смысл. Я не уверен, как $ directory будет установлена ​​на правильный каталог, о котором идет речь.

Я также не уверен, как вернуться к предыдущему каталогу после завершения ffmpeg, учитывая, что обход дерева может быть слишком сложным для “cd ..”

Еще раз спасибо за вашу помощь. Эрик