首先,我想指出的是,没有太多的例子如何从相机读取rtsp流。
到目前为止,我使用vlcj进行rtsp流读取是相当困难的,因为许多问题。
版本2.1.2
这对我来说很重要。接下来是添加两个依赖项
vlcj库
:
uk.co.caprica
vlcj
3.9.0
然后我不得不将JNA版本降级到
版本3.5.2
所以:
net.java.dev.jna
jna
3.5.2
public static void main(final String[] args) {
/* import .dll libraries */
NativeLibrary.addSearchPath(RuntimeUtil.getLibVlcLibraryName(), "C:\\Program Files\\VideoLAN\\VLC");
Native.loadLibrary(RuntimeUtil.getLibVlcLibraryName(), LibVlc.class);
/* rtsp stream url */
String mrl = "rtsp://192.168.1.1:5555/h264";
String[] options = { ":network-caching=400" };
/* getting MediaPlayer */
MediaPlayerFactory mediaPlayerFactory = new MediaPlayerFactory(args);
HeadlessMediaPlayer mediaPlayer = mediaPlayerFactory.newHeadlessMediaPlayer();
mediaPlayer.playMedia(mrl, options);
/* infinite loop keeping stream reading alive */
while (true) {
}
}
到目前为止我用简单的
HeadlessMediaPlayer
只是为了测试。
String[] options = {":network-caching=400"};
我的缓存设置为400。但变化不大。流的延迟太大。
有人修好了吗?