Скриншоты в реальном времени в Java-приложение (localhost)
Я ищу способ добавить наложение на работающий Windows игры, как OBS (потоковое приложение для игры, используемое для Twitch).
Я думал об использовании Robot
класс, чтобы делать 25/30 скриншотов каждые секунды и отображать их, но я не уверен, что это правильное решение..
Итак, мой вопрос заключается в следующем: как я могу screenshare запущенное приложение для приложения Java (localhost, тот же компьютер), чтобы добавить накладку перед ним ?
редактировать: Я попытался использовать потоковую передачу VLC, но это делает компьютер действительно отстающим (i7/8Gb)... Я тоже пробовал с FFMpeg, используя screen-capture-recorder
и gdigrab
, компьютер не отставал, но видео падает, как 5/10 FPS в режиме реального времени.
В FFMpeg я использовал следующую команду:ffplay -f dshow -f gdigrab -i title="<NAME>" -framerate 30
.
Я хотел бы иметь 25/30 FPS с игровым компьютером (i7/8Gb)..
2 ответов
Я еще раз SimRat (простое приложение для совместного использования экрана, такое как Teamviewer) с помощью Robot & Corba. Возможно, вы сможете получить базовую идею, глядя на код. Это не лучший способ реализовать совместное использование экрана. Java RMI будет полезен для вас.
попробовать java-screen-recorder, Это простой захват экрана и конвертер. Это не очень потребляет cpu/gpu. Решение на основе java.awt.Robot
и повторный захват экрана.