Как отправить горячие клавиши через 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?

Любая помощь приветствуется.

0 ответов

Другие вопросы по тегам