Какая разница между -skip_frame nokey
и -discard nokey
?
В мануале пример для вырезания ключевых кадров из видео использует -skip_frame. Cоветы, которые мне попадались в сети, — с -discard, поэтому я раньше пользовался им. Хотя судя по числу результатов в Гугле, -skip_frame популярнее.
Из-за чего возник вопрос. Вырезал ключевые кадры из 17-секундного видео, насоздавало 16 картинок для первых 3 секунд и 4 для остального. Полез смотреть в avidemux — он увидел всего 6 ключевых кадров: на 0, 3, 6, 9, 12 и 15 секунд. Но команды
ffmpeg -discard nokey -i арба.mp4 -vsync 0 -f image2 'frames-%04d.png'
ffmpeg -discard nokey -i арба.mp4 -codec libwebp -vsync 0 'frames-%04d.webp'
помимо требуемых 6 также сохраняют 14 кадров между 0 и 3 секундами. А команды
ffmpeg -skip_frame nokey -i арба.mp4 -vsync 0 -f image2 'frames-%04d.png'
ffmpeg -skip_frame nokey -i арба.mp4 -codec libwebp -vsync 0 'frames-%04d.webp'
создают ожидаемые 6 файлов.
Почему так происходит?