Хорошо, если вы просто запустите:
ffmpeg -i file.mp4
Вывод будет содержать длину видео на stderr. Если вы запустите свою программу и передадите ее вывод в файл, вы можете прочитать его или, если хотите, можете прочитать вывод stderr и просто написать некоторый код на любом языке, который вы используете, чтобы найти позицию в этом выводе. Это красиво, потому что я верю, что это на самом деле строка "Duration: 00:15:00" или что-то еще.
Если вы запустите:
ffmpeg -ss 00:03:00 -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg
ffmpeg -ss 00:06:00 -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg
ffmpeg -ss 00:09:00 -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg
ffmpeg -ss 00:12:00 -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg
ffmpeg -ss 00:15:00 -i test.avi -vcodec mjpeg -vframes 1 -an -f rawvideo -s 320x240 test.jpg
Тогда вы будете иметь кадры в формате JPEG каждые 3 минуты. Надеюсь, это поможет.