#java #javafx #vlcj
#java #javafx #vlcj
Вопрос:
Я пытаюсь запустить приложение 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
Это минимальный MRL, который будет работать с этим новым устройством захвата (Magewell Eco Capture HDMI 4K M2.2). Я использую библиотеки FFmpegFrameGrabber и OpenCV от Bytedeco, но я надеюсь повысить производительность с помощью этой библиотеки, если смогу заставить ее работать.
Что касается «Проверьте журнал для получения подробной информации», насколько я могу судить, нигде ничего не регистрируется. Я настроил 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.
Спасибо за любую помощь!
Ответ №1:
MRL должен быть v4l2://
.
Затем вы используете параметры мультимедиа или аргументы MediaPlayerFactory:
String[] args = {
"--v4l2-dev", "/dev/video0",
"--v4l2-width", "3840",
"--v4l2-height", "2160"
}
Либо создайте MediaPlayerFactory с этими аргументами, либо передайте их в качестве параметров мультимедиа при использовании play().
Комментарии:
1. Я отвечаю по памяти, прошло некоторое время с тех пор, как я использовал устройства видеозахвата.