2016-09-20 12 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

にオーバーダニまで働き、私は余分な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

[OK]を - 私はなぜわからないんだけど、それはIDのタイムスタンプIDを行くので、私は.... timestamp列の左にあるidカラムを重複。そして今は期待どおりに動作します。

関連する問題