Как отправить горячие клавиши через SSH в OMXPlayer с помощью JSch?
Я хочу иметь возможность воспроизводить видео на моем Raspberry Pi и управлять им со своего телефона. Изучив это, я решил использовать SSH-соединение, а затем воспроизвести видео по ссылке, используя OMXPlayer. Сначала я использовал session.openChannel("exec");
канал для отправки команды, которая будет выглядеть omxplayer '[link]'
Однако после осмотра я обнаружил, что exec
Канал действительно может выполнить только одну команду или цепочку команд, как показано здесь, это не подходит, так как я должен быть в состоянии сделать паузу в любое время. Поэтому вместо этого я использовал shell
канал. В качестве теста я просто использовал потоки ввода и вывода по умолчанию.
Примечание: я использую JSch для SSH
try {
JSch jsch = new JSch();
Session sesh = jsch.getSession("pi", "***.***.***.***", 22);
java.util.Properties config = new java.util.Properties();
config.put("StrictHostKeyChecking", "no");
sesh.setConfig(config);
sesh.setPassword("*");
sesh.connect(3000);
Channel chan = sesh.openChannel("shell");
chan.setInputStream(System.in);
chan.setOutputStream(System.out);
chan.connect(3000);
} catch(Exception e) {
e.printStackTrace();
}
Этот код открывает полуфункциональную оболочку, которую я могу использовать для выполнения команды, однако видео воспроизводится горячими клавишами (пробел = воспроизведение / пауза, q = выход, стрелка влево = поиск назад, стрелка вправо = поиск вперед) не работает Я пытался просто нажать клавишу, как вы это делаете в обычной оболочке, нажать клавишу и войти в качестве теста, но ни одна из них не сработала. Так что вопрос в том, кто-нибудь знает, как заставить горячие клавиши работать в канале оболочки? Или кто-нибудь знает, как заставить горячие клавиши работать с каналом exec так, как мне нужно с JSCH?
Любая помощь приветствуется.