Чи може ImageMagick робити ескізи з відео?


11

Я намагаюся витягти мініатюри з відео за допомогою ImageMagick. Я знайшов деякі зразки з їх офіційного сайту, але це робить GIF, а не PNG. Хоча, хоч і суцільний ескіз.

Чи може він створити такий же вихід, як і для цієї команди ffmpeg?

ffmpeg -ss 600 -i myVideo.mp4 -vframes 1 -s 420x270 Out.bmp

Відповіді:


18

Ви можете витягти мініатюри з відео з 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

Можливо, я не розумію питання, але ОП спеціально запитав, як досягти того, що ffmpegробить команда з ImageMagick.
Поняття

@slhck Я трактував актуальну проблему ОП як "отримання красивих ескізів із переплетеного відео" і припускав, що вони просто намагаються використовувати неправильний інструмент для роботи (тобто отримати мініатюру з ffmpeg -> deinterlace за допомогою ImageMagick). Якби хто-небудь розмістив спосіб зробити це з ImageMagick, він би отримав мою нагоду.
зол

@evilsoup дякую за вашу відповідь. Я завантажив це запитання, оскільки ffmpeg займає занадто багато часу, щоб зробити мініатюру з відео. І я десь почув, якщо використовую Imagemagick, я можу зробити це швидше. Це правда і можливо? Я також шукав його, але немає способу зняти мініатюру з відео лише з imagemagick. Вибачте за мою погану англійську.
Juneyoung Oh

@JuneyoungOh отримання ескізів ImageMagick дійсно можливо, дивіться оновлення моєї відповіді. Я сумніваюся, що це буде швидше, оскільки, як видається (з мого поверхневого гуглінгу), ImageMagick використовує ffmpeg як бек-енд для обробки відео.
зол

@evilsoup О Спасибі. Я думав, що це неможливо. Тепер я можу перевірити, що швидше: D дякую.
Juneyoung Oh

6

ImageMagick виводить на ffmpeg за допомогою цієї команди:

ffmpeg -v -1 -vframes %S -i "%i" -vcodec pam -an -f rawvideo -y "%u.pam" 2> "%Z"

Тож коротка відповідь - «ні» (оскільки це не робить сам).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.