Вы можете извлекать миниатюры из видео с помощью ImageMagick следующим образом (отсюда - другой ответ утверждает, что ImageMagick использует ffmpeg «под капотом», поэтому я не знаю, будет ли это на самом деле быстрее, чем просто использование ffmpeg):
convert input.mp4[100] thumbnail.png
[100]
говорит ImageMagick взять 100-й кадр из input.mp4
. Я проверил это на видеопотоке H.264 в контейнере MP4. Очевидно, что вы можете использовать любые параметры ImageMagick, которые вы хотите, в том числе деинтерлейсинг, как описано в вашей ссылке.
Однако ImageMagick действительно предназначен для работы с отдельными изображениями; для видео, вы должны просто использовать ffmpeg. Очевидно, что здесь есть некоторое совпадение, поскольку вы имеете дело с отдельным кадром, но я бы сказал, что деинтерлейсинг - это скорее задача обработки видео.
Вы должны использовать фильтр yadif для деинтерлейсинга. Вы можете добавить его в свою существующую строку следующим образом:
ffmpeg -ss 600 -i input.mp4 -vframes 1 -s 420x270 -filter:v 'yadif' output.png
при работе с фильтрами я предпочитаю использовать масштабный фильтр, а не -s
:
ffmpeg -ss 600 -i input.mp4 -vframes 1 -filter:v 'yadif,scale=420:270' output.png