Szukam sposobu na dodanie nakładki do działającej gry dla systemu Windows, na przykład OBS (aplikacja do strumieniowania gier, używana dla usługi Twitch).Udostępnianie ekranu w czasie rzeczywistym do aplikacji Java (localhost)
I choć o użyciu klasy Robot
wziąć 25/30 screeny co sekund i wyświetlać je, ale nie jestem pewien, że to dobre rozwiązanie ..
Więc moje pytanie jest następujące: Jak mogę screenhare uruchomiona aplikacja do aplikacji Java (localhost, ten sam komputer), aby dodać przed nią nakładkę?
EDIT: Próbowałem za pomocą VLC na żywo, ale to sprawia, że komputer naprawdę laggy (i7/8GB) ... Próbowałem z FFmpeg też, używając screen-capture-recorder
i gdigrab
, komputer nie był laggy, ale jak spadnie wideo 5/10 FPS w czasie rzeczywistym.
W FFMpeg użyłem następującego polecenia: ffplay -f dshow -f gdigrab -i title="<NAME>" -framerate 30
.
chciałbym mieć 25/30 FPS z komputera do gier (i7/8GB) ..
Kiedy mówisz 'stream', co dokładnie obiekt Java o niskim poziomie odsyłasz jako wynik? Ciągle zasilane 'InputStream', w którym można odczytać dane ramki z innego wątku/programu? – higuaro
Nie obchodzi mnie typ obiektu Java. To musi być możliwe do wyświetlenia w 'JPanel' :). Aplikacja jest klientem, a serwer może być oprogramowaniem innej firmy (takim jak VLC) lub bezpośrednio zintegrowanym z aplikacją. – Val