{ String media = "d:\\a.mp4";
    String options = formatHttpStream("127.0.0.1", 5555);
    System.out.println("Streaming '" + media + "' to '" + options + "'");
    MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(args[0]);
    HeadlessMediaPlayer mediaPlayer = mediaPlayerFactory.newHeadlessMediaPlayer();
    mediaPlayer.playMedia(media, options);
    Thread.currentThread().join();
}
private static String formatHttpStream(String serverAddress, int serverPort) {
    StringBuilder sb = new StringBuilder(60);
    sb.append(":sout=#duplicate{dst=std{access=http,mux=ts,");
    sb.append("dst=");
    sb.append(serverAddress);
    sb.append(':');
    sb.append(serverPort);
    sb.append("}}");
    return sb.toString();
}

日志错误:

SLF4J:无法加载类“org.slf4j.impl.StaticLoggerBinder”。

SLF4J:默认为无操作(NOP)记录器实现

SLF4J:有关更多详细信息,请参见http://www.slf4j.org/codes.html#StaticLoggerBinder

将'd:\ a.mp4'流式传输到':sout =#duplicate {dst = std {access = http,mux = ts,dst = 127.0.0.1:5555}}'线程“main”中的异常java.lang.RuntimeException :无法加载本机库。

错误为“无法加载库'libvlc':在资源路径(C:\ Users \ Adam \ http \ VLC STREAM \ bin; E:\ Adam \ Desktop中找不到JNA本机支持(win32-amd64/libvlc.dll) \ vlcj-3.7.0 \ jna-3.5.2.jar; E:\ Adam \ Desktop \ vlcj-3.7.0 \ platform-3.5.2.jar; E:\ Adam \ Desktop \ vlcj-3.7.0 \ slf4j -api-1.7.10.jar; E:\ Adam \ Desktop \ vlcj-3.7.0 \ vlcj-3.7.0.jar; E:\ Adam \ Desktop \ apache-logging-log4j.jar)”。

所需的本机库名为“libvlc.dll”和“libvlccore.dll”。

下面的文本表示包含“libvlc.dll”和“libvlccore.dll”的目录的名称。

有很多不同的方法可以指定在哪里可以找到本机库:
  • 包括NativeLibrary.addSearchPath(“libvlc”,“”);在您的应用程序代码的开头。
  • 包含System.setProperty(“jna.library.path”,“”);在您的应用程序代码的开头。
  • 启动应用程序时,在命令行上指定-Djna.library.path =。
  • 添加到系统搜索路径(并重新启动)。

  • 如果仍然无法执行,则可能有必要将本机库目录显式添加到
    系统配置-例如在Linux上,这可能意味着设置LD_LIBRARY_PATH环境变量,或添加
    配置到“/etc/ld.so.conf”文件或“/etc/ld.so.conf.d”目录。在这些选项中,设置
    LD_LIBRARY_PATH是唯一不需要root特权的人。

    最后,不可能混合使用CPU架构-无法加载64位Java虚拟机
    32位本机库。

    日志中可能会提供更多信息。
    at uk.co.caprica.vlcj.binding.LibVlcFactory.create(LibVlcFactory.java:198)
    at uk.co.caprica.vlcj.player.MediaPlayerFactory.<init>(MediaPlayerFactory.java:256)
    at StreamHttp.main(StreamHttp.java:11)
    

    LIB:

    http://zapodaj.net/ed5de522e2b3e.jpg.html

    我不知道

    最佳答案

    错误消息非常完整,并且在这种情况下很有帮助-VLCJ找不到需要运行的DLL文件,因此您需要告诉它它们在哪里!
    您的图像显示您已经添加了正确的Java库,但没有提到libvlc.dll和libvlccore.dll。
    引用您的问题:

    您可以尝试多种选择,但在您提供的代码中看不到有任何证据表明它们正在使用。
    如果仍然无法正常运行,则可能是您的架构错误(这是我经验中失败的最常见原因)-如果您安装了64位JDK,则将需要64位VLC,同样需要32位JDK仅适用于32位VLC。

    关于java - java-vlcj在尝试创建服务器流时给出错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30113450/

    10-11 19:04