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




Я не уверен, есть ли у 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/
Без проблем! Я добавил информацию о развертывании Windows.
Спасибо за исчерпывающее объяснение. Сейчас я развертываю его на Mac, но я также должен развернуть его на Windows. Когда я развертываю его в Windows, есть ли какие-нибудь хитрости? Я не буду развертывать его в Linux. Я дам ему попробовать.