Мне нужно использовать FFMPEG для случайного выбора времени (например, 0:10) и сохранить два последовательных кадра в формате PNG.
КАК СОХРАНИТЬ КАДР В PNG:
ffmpeg.exe -ss 0:10 -y -i test.avi -vcodec png -vframes 1 -an -f rawvideo test.png
КАК ПОЛУЧИТЬ ИНФОРМАЦИЮ О ВИДЕОФАЙЛЕ:
ffprobe -v error -select_streams v:0 -show_entries stream=duration,avg_frame_rate -of default=nw=1:nk=0 test.avi
Вывод:
avg_frame_rate=120/1
duration=59.808333
ВОПРОС
Как определить следующий кадр? Частота кадров 120/1 означает 120 кадров в секунду?
РЕДАКТИРОВАТЬ
Возможное решение - правильно ли я, что извлечение кадров в разы + (1/120 = 0,00833333) решило бы мою проблему?:
-ss 0:10
-ss 0:10.00833333
Гарантирует ли это точно следующий кадр? Есть ли другой подход?