Для проекта, над которым я работаю, у меня есть небольшой скрипт bash, который перебирает входной файл csv timecodes и использует ffmpeg для создания скриншотов данного фильма на каждом временном коде. Файл CSV в формате чч: мм: сс, идентификатор - это выглядит следующим образом (экстракт)ffmpeg - недействительная длительность
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 timestamp. Если я прокомментирую строку 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
Я пробовал все виды, включая заполнение CSV-с дополнительным 0s - который работает до тех пор, пока часы тика более 01.
У кого-нибудь есть идеи? Я почесываю голову.
Приветствия