【发布时间】:2013-06-13 12:48:50
【问题描述】:
很抱歉这个问题,我想答案很简单,但是我进行了搜索,但没有找到任何答案。
我写了以下内容:
while read p # reads in each line of the text
do # file- folder_list.txt each iteration.
echo "$p" # print out current line
if [ -f $p/frame_number1.jpg ] # checks if the image exists in the specific folder
then
echo "$p" #prints specific folder name
sleep 1 #pause for 1 second
ffmpeg -f image2 -r 10 -i $p/frame_number%01d.jpg -r 30 $p/out.mp4 #create video
fi # end if statement
done <folder_list.txt #end of while loop
脚本应该读取包含文件夹树结构的文本文件,然后检查文件夹是否包含指定的 JPEG,如果包含,则代码应从指定文件夹中包含的图像创建视频。
然而,似乎正在发生的是脚本会跳过肯定包含图像的整个文件夹。我想知道 while 循环是否在创建视频时继续迭代,或者是否正在发生其他事情?
任何帮助将不胜感激。
提前非常感谢
劳伦斯
【问题讨论】:
-
因此您无法在变量周围使用
"。 -
感谢它似乎可以正常工作。
-
任何 sudo 问题?如果它跳过某些文件夹而不是其他文件夹...尝试使用 sudo 运行您的脚本
-
我发现了问题。在某些文件夹中,已经有一个 .mp4 文件,该文件之前已创建,并且由于某种原因,这对迭代产生了影响。我解决这个问题的方法是添加 yes 指令,即:yes y | ffmpeg -f image2 -r 10 -i $p/frame_number%01d.jpg -r 30 $p/out.mp4 #从图像创建视频感谢您抽出宝贵时间发表评论。
-
@Larry_b 这告诉您需要在脚本中添加调试输出和测试。
标签: bash ffmpeg while-loop