2016-09-20 2 views
0

Для проекта, над которым я работаю, у меня есть небольшой скрипт 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.

Terminal output

У кого-нибудь есть идеи? Я почесываю голову.

Приветствия

ответ

0

Ok - Я не знаю, почему, но я продублировал столбец ID слева от колонки меток времени .... так далее идентификатор метки времени идентификатор. И теперь он работает так, как ожидалось.

Смежные вопросы