Первая команда извлекает миниатюрное изображение из видеофайла намного быстрее, чем вторая команда (потому что я поставил -ss перед -i):

ffmpeg -ss 10 -i input.mp4 -vframes 1 -s 320x240 output.jpg

ffmpeg -i input.mp4 -vframes 1 -s 320x240 -ss 10 output.jpg

Это почему? Это преднамеренная особенность или программная ошибка или что-то?

1 ответ1

3

Это быстрее, потому что, когда вы помещаете -ss перед -i , ffmpeg ускоряет перемотку вперед до указанного времени (или, если быть точным, до первого ключевого кадра после этой отметки времени).

Если вы поставите -ss после -i , входное аудио и видео будут декодированы в "сырое" покадровое представление. Как только он дойдет до отметки времени, указанной в -ss , ffmpeg фактически начнет выводить видео.

Обратите внимание, что если вы не копируете потоки и используете ffmpeg 2.1 или выше, -ss перед -i также будет точным. Раньше он был неточным (то есть не всегда совпадал с точным указанным вами временем).

Смотрите также Ищу с FFmpeg.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .