Я ищу способ добавить оверлей к работающей игре Windows , например OBS ( приложение для потоковой передачи игр, используемое для Twitch).

Я думал об использовании класса Robot, чтобы делать 25/30 снимков экрана каждую секунду и отображать их, но я не уверен, что это правильное решение ..

Итак, мой вопрос заключается в следующем: как я могу поделиться экраном работающего приложения с приложением Java (локальный хост, тот же компьютер), чтобы добавить наложение перед ним?

РЕДАКТИРОВАТЬ : я пробовал использовать VLC Streaming, но из-за этого компьютер действительно тормозит (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) ..

7
Val 23 Янв 2015 в 13:37

2 ответа

Лучший ответ

Однажды я разработал SimRat (простое приложение для совместного использования экрана, такое как Teamviewer) с помощью Robot & Corba. Возможно, вы сможете получить общее представление, глядя на код. Это не лучший способ реализовать совместное использование экрана. Java RMI будет вам полезен.

1
Rumesh Eranga Hapuarachchi 2 Фев 2015 в 15:13

Попробуйте java-screen-recorder, это простой захват и конвертер экрана. Это не очень потребляет CPU / GPU. Решение, основанное на java.awt.Robot и многократном захвате экрана.

3
gvlasov 31 Янв 2015 в 23:15