Как использовать FFmpeg

Я пытаюсь извлечь кадры из видео и выбрал для этой задачи ffmpeg (скажите, знаете ли вы что-нибудь получше).

Я скачал его исходный код и не знаю, как его использовать ?? как я могу его скомпилировать?

Какой рекомендуемый язык для него? Я знаю Python и C++. Обратите внимание, что моя операционная система — Windows Vista 64 бит.


person Moayyad Yaghi    schedule 15.12.2009    source источник
comment
извините, Гусь.. я новичок на этом сайте.   -  person Moayyad Yaghi    schedule 16.12.2009


Ответы (3)


Если вы просто хотите извлечь кадры из видео и сохранить их в файл, вы можете просто использовать ffmpeg в командной строке:

ffmpeg -i video.avi image%d.jpg

Для этого метода вам не нужно собирать ffmpeg, поскольку для загрузки должен быть доступен двоичный файл Windows.

Если вы хотите отобразить кадры или выполнить над ними какую-либо другую обработку, вы можете использовать libavformat и libavcodec (основные части проекта ffmpeg) для извлечения видеокадров в коде. Вот довольно хороший учебник о том, как получить кадры из видео с помощью libavcodec и libavformat. libavformat и libavcodec — это библиотеки C, поэтому я бы использовал C или C++, если вы хотите взаимодействовать с ними напрямую. Существует оболочка python для ffmpeg, которая выглядит многообещающе, но я ее не пробовал.

Вы также можете загрузить скомпилированные библиотеки ffmpeg, чтобы вам не пришлось создавать их самостоятельно. ffmpeg не будет строиться на MSVC++ в соответствии с документацией, поэтому вам придется настроить среду mingw. На этом сайте есть много сборок Windows и руководств по сборке библиотеки, если вы действительно этого хотите.

person Jason B    schedule 15.12.2009

Если вы знаете C++, вы можете модифицировать пример из статьи с помощью ffmpeg.

person user220048    schedule 14.04.2010
comment
Содержание списка очень хорошее. Однако, если ссылка умрет, ваш ответ больше не будет иметь смысла. Я бы получил краткое изложение ссылки и разместил его в ответе, это было бы очень полезно. - person Mohammed Noureldin; 05.03.2019

Если вы хотите использовать только ffmpeg, вы должны просто получить сборку, а не сам исходный код.

Чтобы извлечь кадр из видео, используйте следующую командную строку:

ffmpeg -i input.avi -r 1 -f image2 -s 120x96 images%05d.png

Где input.avi — ваше видео, 120x96 — размер выходного изображения. Есть много опций, которые вы можете использовать, чтобы указать точный кадр в фильме, но это определенно было бы слишком много, чтобы показать здесь. Взгляните на эту страницу, чтобы получить более подробное описание.

С наилучшими пожеланиями,
Фабиан

person halfdan    schedule 15.12.2009