Valcj родное открытие не удается на Raspberry Pi3 B + - PullRequest
0 голосов
/ 03 февраля 2019

У меня есть Java-код, который должен использовать библиотеку Vlcj на Raspberry Pi 3 B + с Raspbian.Но при запуске с NativeDiscovery.discover () я получаю сообщение «библиотека vlc не найдена».Я пытался использовать addSearchPath () для "/ usr / bin /", но безуспешно.

Как мне решить мою проблему?Спасибо

1 Ответ

0 голосов
/ 04 февраля 2019

Ваша JVM должна знать, где найти libvlc.so и плагины VLC.

Они не in "/usr/bin".

ЕстьЧтобы решить эту проблему несколькими способами, возможно, самым простым является использование LD_LIBRARY_PATH.

Найдя каталог, содержащий libvlc.so, вы можете указать переменную среды LD_LIBRARY_PATH при запуске приложения.

На моем Pi файл libvlc.so находится в / usr / lib / arm-linux-gnueabihf, что-то вроде этого (данные файлы jar в classpath являются просто примерами):

LD_LIBRARY_PATH=/usr/lib/arm-linux-gnueabihf java -cp vlcj.jar:jna.jar:jna-platform.jar:your-app.jar

Thisможет быть достаточно, чтобы заставить это работать, это не могло бы.LibVlc может жаловаться на невозможность найти свои плагины.

Если это так, найдите место установки плагинов (в каталоге, где вы нашли libvlc.so, должен быть каталог с именем "plugins").

На моем Pi они находятся в /usr/lib/arm-linux-gnueabihf/vlc/plugins.

Теперь вы устанавливаете VLC_PLUGIN_PATH, чтобы он указывал на этот каталог:

LD_LIBRARY_PATH=/usr/lib/arm-linux-gnueabihf VLC_PLUGIN_PATH=/usr/lib/arm-linux-gnueabihf/vlc/plugins java -cp vlcj.jar:jna.jar:jna-platform.jar:your-app.jar

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

Собственный механизм обнаружения vlcj, как правило, пытается разрешить все эти неприятности для вас, но это не так (в настоящее время) знаете о Raspberry Pi, так что вы должны сделать это сами.

Следующая основная версия vlcj (которая будет 4.0.0) имеет улучшенный собственный механизм обнаружения.Я протестировал более раннюю версию этого на своем Pi, и он сразу же работал без какого-либо из перечисленного.

...