在 Java 中使用 vlcj 时,VLC 无法打开 MRL

VLC is unable to open th MRL when using vlcj in Java

我正在尝试获取 vljc-javafx-demo 应用程序 运行,我 运行 遇到了以下问题:

[00007f9884007300] v4l2 demux error: cannot open device '/dev/video0 ': No such file or directory
[00007f9884007300] v4l2 demux error: cannot open device '/dev/video0 ': No such file or directory
[00007f9884007300] v4l2 demux error: cannot open device '/dev/video0 ': No such file or directory
[00007f9884007300] v4l2 demux error: cannot open device '/dev/video0 ': No such file or directory
[00007f9884013920] v4l2 stream error: cannot open device '/dev/video0 ': No such file or directory
[00007f9884013920] v4l2 stream error: cannot open device '/dev/video0 ': No such file or directory
[00007f989820af20] main input error: Your input can't be opened
[00007f989820af20] main input error: VLC is unable to open the MRL 'v4l2:///dev/video0 :v4l2-width=3840 :v4l2-height=2160'. Check the log for details.

当我从命令行发出以下命令时,它运行良好:

vlc v4l2:///dev/video0 :v4l2-width=3840 :v4l2-height=2160

这是适用于这款新采集设备 (Magewell Eco Capture HDMI 4K M2.2) 的最低 MRL。我一直在使用 Bytedeco 的 FfmpegFrameGrabber 和 OpenCV 库,但如果我可以让它工作,我希望能提高这个库的性能。

至于 'Check the log for details',据我所知,任何地方都没有记录。我将 VLC 设置为记录到文件和系统日志,但此演示应用程序没有生成任何内容。

我确实将我的用户添加到了视频组,即使 VLC 命令行在我不在组中的情况下也能正常工作,但没有任何效果。

运行 Ubuntu 20.04、JavaSE 14/JavaFX 14.0.2.1、vlcj 4.7.0 vlcj-javafx 1.0.2、VLC 3.0.9.2、Eclipse 2020-06。

感谢您的帮助!

最大残留限量应为 v4l2://

然后使用媒体选项或 MediaPlayerFactory 参数:

String[] args = {
    "--v4l2-dev", "/dev/video0",
    "--v4l2-width", "3840",
    "--v4l2-height", "2160"
}

使用这些参数创建 MediaPlayerFactory,或者在使用 play() 时将它们作为媒体选项传递。