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



我正在编写一个简单的rtsp客户端。我想从我的IP摄像机播放视频。

当我在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.90
  3. 安装库ch.qos。logback:logback内核:1.1.3
  4. 安装库ch.qos.logback:logback classic:11.1.3
  5. 使用JDK 1.8.0_60-64位

相关内容

  • 没有找到相关文章