java - Java 中的 RTSP 客户端 - 链接不起作用

标签 java vlcj rtsp-client

我正在编写简单的 rtsp 客户端。我想播放我的网络摄像机的视频。

当我在 VLC 中打开此链接时,我可以看到相机的预览。

rtsp://@192.168.1.10:554/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream

但是我无法在java中打开这个链接。我的只有黑屏。这是我的代码。

import javax.swing.JFrame;
import javax.swing.SwingUtilities;
import uk.co.caprica.vlcj.binding.LibVlc;
import uk.co.caprica.vlcj.component.EmbeddedMediaPlayerComponent;
import uk.co.caprica.vlcj.mrl.RtspMrl;
import uk.co.caprica.vlcj.runtime.RuntimeUtil;
import com.sun.jna.Native;
import com.sun.jna.NativeLibrary;

public class Main {

    private final EmbeddedMediaPlayerComponent mediaPlayerComponent;

    public static void main(final String[] args) {
        NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "C:\\Program Files\\VideoLAN\\VLC");
        Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
        SwingUtilities.invokeLater(new Runnable() {
            @Override
            public void run() {
                new Main(args);
            }
        });
    }

    private Main(String[] args) {
        JFrame frame = new JFrame("vlcj Tutorial");

        mediaPlayerComponent = new EmbeddedMediaPlayerComponent();

        frame.setContentPane(mediaPlayerComponent);

        frame.setLocation(100, 100);
        frame.setSize(1920, 1080);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setVisible(true);
        String address ="C:\\Users\\TheKing\\Desktop\\onviff\\src\\example.mp4";
        address = new RtspMrl().host("@192.168.1.10").port(554).path("/user=admin_password=tlJwpbo6_channel=1_stream=0.sdp?real_stream").value();
        System.out.println(address);
        mediaPlayerComponent.getMediaPlayer().playMedia(address);
    }
}

我的播放器可以工作,因为我用简单的 mp4 文件对其进行了测试。

我应该如何打开我的 rtsp 流?

最佳答案

经过 10 个小时的研究,我找到了解决方案......这里代码没问题,但还有另一个混淆。

这个配置适合我

  1. 将 VLC 降级至 VLC 2.1.2
  2. 安装库uk.co.caprica:vlcj:3.9.0
  3. 安装库ch.qos.logback:logback-core:1.1.3
  4. 安装库ch.qos.logback:logback-classic:1.1.3
  5. 使用 JDK 1.8.0_60 - 64 位

关于java - Java 中的 RTSP 客户端 - 链接不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34267075/

相关文章:

java - 如何在三角数列中查找所选数字的行号?

RTSP/1.0 459 不允许聚合操作

networking - 以有用的形式保存 H264 RTP 数据包

java - Libstreaming - 使用 VLC 作为 RTSP 客户端

java - 获取第一个相同标签之后的所有标签的内容 - Jsoup

java - 我想制作一个java程序,其中有一个组合框,显示文件夹中所有可用文件的标题

java - 在 roo 项目中使用 javax.persistence.Table @Table 注释,如何使用 maven(或 spring)从构建配置文件中设置架构?

java - 如何在vlcj上暂停和播放视频?

java - 将 VLCJ 媒体播放器添加到 JavaFX 中的 Canvas

java - 运行此代码后 vlcj 出错