我有这个脚本,它为每个文件创建一个目录,并将文件移动到该目录中。
#!/bin/bash
for file in *; do
if [[ -f "$file" ]]; then
mkdir "${file%.*}"
mv "$file" "${file%.*}"
fi
done
现在,我需要“访问”其目录中的每个文件(所有 MP4),然后使用 ffmpeg 从每个帧创建一个 JPG,并将 JPG 留在该目录中。
我用 MP4 创建 JPG。
ffmpeg -i FILENAME.mp4 -y -f image2 -c:v mjpeg %03d.jpg
我不知道如何确保提取的 JPG 出现在其关联的 MP4 目录中。我想,如果我应用前面的 ffmpeg 提取,JPG 将进入更高级别的目录。
答案1
如果您无法为其ffmpeg
本身指定输出目录,只需使用子 shell 在所需目录中运行,例如
( cd $directory && ffmpeg ... )
答案2
感谢您的宝贵建议。
如果您无法将输出目录指定为 ffmpeg 本身,只需使用子 shell 在所需目录中运行它,例如( cd $directory && ffmpeg ... )
这是有道理的。我不确定如何将 $directory 设置为有问题的正确目录。
我也不确定 ffmpeg 完成后如何返回到上一个目录,因为树遍历对于“cd..”来说可能太复杂
再次感谢您的热情帮助。埃里克