对于我正在研究的项目,我有一个小的bash脚本循环输入时间码的csv文件,并使用ffmpeg在每个时间码创建给定电影的屏幕截图。 csv文件的格式为hh:mm:ss,id - 它看起来像这样(提取)
00:00:08,1
00:00:49,2
00:01:30,3
00:02:38,4
00:03:46,5
00:04:08,6
00:04:26,7
00:04:37,8
00:04:49,9
00:05:29,10
00:05:52,11
00:06:00,12
00:06:44,13
00:07:49,14
00:08:32,15
00:09:28,16
00:10:17,17
00:10:44,18
00:11:48,19
00:12:07,20
我过去没有使用它,但今天我来更新一些电影,我得到一个奇怪的问题,ffmpeg抱怨我的输入时间码无效,尽管格式正确。
新输入的csv文件格式与旧格式相同,但似乎每次ffmpeg都会从hh:mm:ss时间戳中删除小时数。如果我注释掉ffmpeg行,所有内容都按预期打印到终端(但显然我没有截图)。
这是我的循环代码:
while read code a
do
echo $code
f="$(printf "%03d" $i)"
ffmpeg -loglevel error -y -ss $code -i $FILM -vframes 1 -q:v 2 $OUTPUT/$f.jpg
((i++))
done < $INPUT
我尝试了各种各样的方法,包括用额外的0填充csv - 直到小时数到01为止。
有没有人有任何想法?我挠挠脑袋。
干杯
答案 0 :(得分:0)
好的 - 我不知道为什么,但我复制了timestamp列左侧的id列....所以它是id时间戳id。它现在按预期工作。