Выходные аудио/видео модули VLCJ

Есть ли возможность изменить «Модуль аудиовыхода» и «Видеовыход» в моей программе Java? Мой Linux не воспроизводит видеофайлы, когда для этих параметров установлено значение «автоматически». Итак, в VLC Player я выбрал «ALSA» и «OpenGL GLX (XCB)», теперь мои файлы воспроизводятся. Но когда я использую EmbeddedMediaPlayerComponent в своей программе, я думаю, что она выбирает «автоматический» режим для потоков аудио/видео. Затем я получаю зеленый экран (вместо моего видео) и ошибку в терминале:

[00007f691c112ac8] pulse audio output error: stream connection failure: Timeout
[00007f691c112ac8] core audio output error: module not functional
[00007f69081b6168] core decoder error: failed to create audio output
Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory

Странно, но звук воспроизводится... Пожалуйста, помогите! ;)


person SerVB    schedule 26.07.2016    source источник


Ответы (1)


Измените аргументы инициализации MediaPlayerFactory, чтобы указать имя модуля вывода аудио/видео, которое вы хотите использовать.

Что-то типа:

String[] args = {"--vout=xcb", "--aout=alsa"});

В командной строке vlc --list предоставит вам доступные имена модулей.

person caprica    schedule 26.07.2016
comment
Хм... Интересное решение, но я боюсь, что мне нужно изменить модули вывода на пути моей программы. Например, в VLC Player есть поле со списком, где я могу выбрать один из всех доступных модулей. Я нашел list of output devices в vlcj, это очень похоже на вариант, который я ищу... - person SerVB; 26.07.2016
comment
Этот ответ - единственный способ сделать это или, по крайней мере, что-то близкое к этому. В LibVLC (и, следовательно, в vlcj) нет нет API, который обеспечивает сопоставление, например. Аудиовыход ALSA -> alsa, и его нельзя изменить на лету. - person caprica; 27.07.2016
comment
Вы имеете в виду, что не предоставляете эту опцию в своем vlcj-player? (Я не могу это проверить, потому что не могу собрать ваш проект :() - person SerVB; 27.07.2016
comment
vlcj может показывать только то, что предоставляет LibVLC. vlcj-player позволяет перечислить и выбрать аудиоустройство, но для вывода видео/аудио ничего нет, так как в LibVLC для этого просто нет API. И проекты прекрасно строятся с использованием maven. - person caprica; 27.07.2016