我正在编写简单的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流?
答案 0 :(得分:0)
经过10个小时的研究后,我找到了解决办法...代码在这里很好,但还有另一种混淆。
此配置适用于我