Как импортировать библиотеку FFMPEG в мой проект maven?

У меня есть проект Spring-boot, в котором я использую библиотеку ffmpeg, я выполняю команды ffmpeg через ProcessBuilder (в терминале / cmd), и все работает нормально, потому что я уже установил ffmpeg на моем macOS. Когда я пытаюсь создать банку и запустить ее на другом компьютере, где ffmpeg не установлен, он запускается, все работает нормально, кроме команд ffmpeg. Есть ли какие-либо изменения для импорта библиотеки в мой проект maven или для ее использования? Хорошая идея - добавить внешнюю банку библиотеки?

Заранее спасибо!

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
1 498
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Я не уверен, есть ли у Maven плагин для этого, но я бы добавил сценарий оболочки для установки ffmpeg, назовем его resources / scripts / myscript.sh, в сценарии сначала проверьте, что он еще не установлен, затем используйте wget чтобы загрузить то, что вам нужно, установить и продолжить работу с приложением. Вы можете вызвать этот скрипт из своего приложения в первую очередь.

Ответ принят как подходящий

Является ли сервер, который вы развертываете, на Mac (такой же, как ваш рабочий стол) или Windows / Linux? Причина, по которой я спрашиваю, заключается в том, что ffmpeg - это двоичное приложение, которое необходимо скомпилировать для конкретной платформы.

Вы можете включить ffmpeg в maven, но перед запуском его нужно будет скомпилировать. Я нашел здесь один репозиторий maven, хотя не знаю, насколько хорошо это будет работать: https://mvnrepository.com/artifact/com.tagtraum/ffmpeg/4.0.0. Вы также можете попробовать компиляция из исходников (особенно если вы пытаетесь выполнить нестандартное кодирование / декодирование), что требует гораздо более сложной установки.

Я бы установил ffmpeg через отдельный установочный пакет, в идеале через систему управления пакетами ОС; для Linux это будет примерно так:

(Ubuntu)

sudo apt-get install ffmpeg

(CentOS)

sudo yum install epel-release
sudo yum localinstall --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-7.noarch.rpm
sudo yum install ffmpeg ffmpeg-devel

Подробнее об установке здесь: https://www.ostechnix.com/install-ffmpeg-linux/

Иногда эти пакеты могут быть не самыми последними или в них может отсутствовать что-то, что вы пытаетесь сделать, и в этом случае вам может потребоваться скомпилировать из исходного кода.

Обновлено: вы говорите, что используете Windows. Я не так хорошо знаком с развертыванием в Windows, но на этом сайте доступны пакеты ffmpeg для Windows (ссылки с главной страницы ffmpeg): https://ffmpeg.zeranoe.com/builds/. Я рекомендую устанавливать отдельно, а не пытаться упаковывать вместе с вашим Java-приложением. Эта страница может помочь: https://windowsloop.com/install-ffmpeg-windows-10/

Спасибо за исчерпывающее объяснение. Сейчас я развертываю его на Mac, но я также должен развернуть его на Windows. Когда я развертываю его в Windows, есть ли какие-нибудь хитрости? Я не буду развертывать его в Linux. Я дам ему попробовать.

Georgi 16.01.2019 22:18

Без проблем! Я добавил информацию о развертывании Windows.

Steve 17.01.2019 05:03

Другие вопросы по теме