Я скачал файлы ant-media-server и попытался запустить сервер.
Но недавно узнал, что для Ant Media Server требуется java 11.
Поэтому я обновил версию java до java 11:
Итак, когда я запускаю эту команду :
Java-версия
Вот результат:
версия openjdk 11.0.11-ea 2021-04-20
Среда выполнения OpenJDK (сборка 11.0.11-ea+4-Ubuntu-0ubuntu3.16.04.1)
64-разрядная виртуальная машина сервера OpenJDK (сборка 11.0.11-ea+4-Ubuntu-0ubuntu3.16.04.1, смешанный режим, совместное использование)
И когда я запускаю эту команду:
javac-версия
Вот результат:
javac 11.0.11-EA
Когда я пытаюсь запустить Ant Media Server, я получаю следующий результат:
Bootstrap exception: null
java.lang.reflect.InvocationTargetException
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
at org.red5.server.Bootstrap.bootStrap(Bootstrap.java:122)
at org.red5.server.Bootstrap.main(Bootstrap.java:50)
Caused by: java.lang.UnsatisfiedLinkError: no jniavutil in java.library.path: [/home/ahmed/Desktop/CodingPlayground/ant_media_server/ant_media_server/lib/native]
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2670)
at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:830)
at java.base/java.lang.System.loadLibrary(System.java:1873)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1683)
at org.bytedeco.javacpp.Loader.load(Loader.java:1300)
at org.bytedeco.javacpp.Loader.load(Loader.java:1123)
at org.bytedeco.ffmpeg.global.avutil.<clinit>(avutil.java:14)
at org.red5.server.Launcher.launch(Launcher.java:65)
... 6 more
Caused by: java.lang.UnsatisfiedLinkError: /home/ahmed/.javacpp/cache/ffmpeg-4.3.1-1.5.4-linux-x86_64.jar/org/bytedeco/ffmpeg/linux-x86_64/libjniavutil.so: libva-drm.so.2: cannot open shared object file: No such file or directory
at java.base/java.lang.ClassLoader$NativeLibrary.load0(Native Method)
at java.base/java.lang.ClassLoader$NativeLibrary.load(ClassLoader.java:2442)
at java.base/java.lang.ClassLoader$NativeLibrary.loadLibrary(ClassLoader.java:2498)
at java.base/java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2694)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2627)
at java.base/java.lang.Runtime.load0(Runtime.java:768)
at java.base/java.lang.System.load(System.java:1837)
at org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:1633)
... 10 more
Есть идеи, что происходит?
EDIT 1:
Когда я проверил переменную среды JAVA_HOME
, я обнаружил, что она по-прежнему указывает на файлы java-8:
JAVA_HOME=/usr/lib/jvm/java-8-oracle
Итак, я попытался просмотреть файлы в /usr/lib/jvm
и вот что нашел:
< img src="https://i.stack.imgur.com/1WvJL.png" alt="введите здесь описание изображения" /> Так может проблема в этом?
Я не знаю знать, на какой файл я должен вместо этого указать JAVA_HOME
.
РЕДАКТИРОВАТЬ 2:
Я открыл /etc/environment
и изменил JAVA_HOME на это:
JAVA_HOME='/usr/lib/jvm/java-11-openjdk-amd64'
Я также изменил его глобально, запустив:
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64
И я все еще получаю ту же ошибку.
libva-drm.so.2
, но это не требуется для сборок по умолчанию, поэтому вы должны использовать пользовательскую сборку. Попробуйте использовать сборку по умолчанию или установитеlibva-drm.so.2
в своей системе. - person Samuel Audet   schedule 12.03.2021