ffmpeg: Як створити обрізані ескізи?


10

Для створення мініатюри відео за ffmpegдопомогою цієї команди:

ffmpeg -itsoffset -4 -i video.mp4 -vframes 1 thumb.jpg

Це дає мені мініатюру з однаковим розміром відео (яке має невідомий розмір, наприклад, 960x540). Але мені потрібна квадратна ( обрізана ) мініатюра із заданим розміром (наприклад, 200x200). Результат не повинен бути змінений, а вирізаний з центру, а співвідношення сторін не повинно змінюватися.

Як це можна досягти?


Навіщо використовувати -itsoffsetзамість -ss? Останнім часом спостерігається збільшення використання цього користувачем користувачів, які роблять зображення з відео.
llogan

@LordNeckbeard: Вибачте, переплутали варіанти. Знайшов це для отримання додаткової інформації про -itsoffsetvs -ss.: superuser.com/questions/538031/…
Георг Ледерманн

Відповіді:


12

Ви можете використовувати cropвідеофільтр:

ffmpeg -ss 4 -i video.mp4 -vf crop=200:200 -vframes 1 output.jpg
  • За замовчуванням урожай буде по центру.

  • Використовуйте -ssзамість того, -itsoffsetщоб вибрати час компенсації.

  • Ви можете керувати якістю виходу JPEG за допомогою -qscale:v. Використання значення 2-5 зазвичай добре; нижча величина - вища якість.

  • cropФільтр може також приймати вхідну і вихідну ширину і висоту , як значення: iw, ih, ow, oh. Це дозволяє більш гнучко і творчої фільтрації: crop=iw-100:ih-50.

Ви можете протестувати, ffplayщоб отримати попередній перегляд:

ffplay video.mp4 -vf crop=200:200

Оригінальне зображення (генерується разом із testsrcвихідним фільтром:

ffmpeg -f lavfi -i testsrc -vframes 1 output.jpg 

оригінальне зображення

Обрізане зображення:
обрізане зображення


6

Ви можете спочатку його масштабувати, а потім обрізати для кращого виведення;)

ffmpeg -ss 10 -i "Ali_Video.mp4" -vframes 1 -filter "scale=-1:300,crop=400:300" "output.jpg"

вхідне відео в 0:49 вихідне зображення

ffmpeg -ss 10 -i "Ali_Video.mp4" -vframes 1 -filter "scale=-1:150,crop=200:150" "output.jpg"

ще одна мініатюра

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