2016-09-20 3 views
0

프로젝트에서 나는 타임 코드의 입력 csv 파일을 반복하는 작은 bash 스크립트를 가지고 있으며, ffmpeg를 사용하여 각 타임 코드마다 주어진 영화의 스크린 샷을 만듭니다. CSV 파일의 형식은 HH에 : mm은 : SS는, ID가 - 그것은 내가의 일부를 업데이트 왔어요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 타임 스탬프에서 시간을 너무 자주 삭제하는 것처럼 보입니다. ffmpeg 행을 주석 처리하면 모든 것이 예상대로 터미널에 인쇄됩니다 (그러나 분명히 스크린 샷이 없습니다). - 시간이 01

Terminal output

까지 체크 할 때까지 작동 I 추가 0과 CSV 패딩을 포함한 모든 종류의 시도했습니다

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

확인은 - 그래서 아이디 타임 스탬프 ID를 간다 .... 나는 이유는 모르겠지만, 타임 스탬프 열의 왼쪽에있는 id 컬럼을 중복. 그리고 이제 예상대로 작동합니다.

관련 문제