2015-01-23 4 views
7

Ich bin auf der Suche nach einer Möglichkeit, ein laufendes Windows Spiel, wie OBS (eine Spiel-Streaming-Anwendung, für Twitch verwendet) hinzufügen.Echtzeit-Screensharing zu Java-app (localhost)

ich aber über die Robot-Klasse 25/30 Screenshots jede Sekunde zu nehmen und sie zeigen, aber ich bin mir nicht sicher, dass die richtige Lösung ist ..

So ist meine Frage die folgende: Wie kann ich Screenshot eine laufende App zu einer Java-Anwendung (localhost, gleicher Computer), um ein Overlay davor hinzuzufügen?

EDIT: Ich habe versucht VLC Streaming verwenden, aber das macht der Computer wirklich laggy (i7/8Gb) ... ich mit FFMpeg auch versucht, screen-capture-recorder und gdigrab verwenden, war der Computer nicht laggy, aber das Video fällt wie 5/10 FPS in Echtzeit.
In FFMpeg verwendete ich den folgenden Befehl: ffplay -f dshow -f gdigrab -i title="<NAME>" -framerate 30.

Ich mag würde ein 25/30 FPS mit einem Spielcomputer (i7/8Gb) haben ..

+0

Wenn Sie 'stream' sagen, was genau beziehen Sie sich auf ein Java-Objekt auf niedriger Ebene als Ergebnis? Ein ständig gefütterter 'InputStream', in dem Sie die Framedaten eines anderen Threads/Programms lesen können? – higuaro

+0

Ich interessiere mich nicht wirklich für den Java-Objekttyp. Es muss nur in einem 'JPanel' angezeigt werden können :). Die App ist der Client, und der Server kann eine Drittanbieter-Software (wie VLC) sein oder direkt in die App integriert sein. – Val

Antwort

2

Ich einmal entwickelt SimRat (Eine einfache Bildschirmfreigabe App wie Teamviewer) mit Robot & Corba. Sie können möglicherweise eine grundlegende Idee mit Blick auf den Code bekommen. Dies ist nicht die beste Möglichkeit, die Bildschirmfreigabe zu implementieren. Java RMI wäre hilfreich für Sie.

+0

Ich habe einige Methoden ausprobiert, und die Screenshots mit der 'Robot' Klasse sehen aus wie die schnellste in meinem Fall .. Also ich akzeptiere diese Antwort! Danke :) – Val

+0

Sie sind willkommen. Froh, dass es hilfreich war :) –

+0

yeah ... ich auch mit openairplay, ist einer der Technik teilen Bildschirm als auch .... aber ich frage mich, wie das Sound-Streaming verfügbar werden .... – gumuruh

3

java-screen-recorder Versuchen Sie, ist es ein einfacher Bildschirm capturer und Konverter. Es ist nicht sehr cpu/gpu verbrauchen. Lösung basiert auf java.awt.Robot und wiederholte Erfassung des Bildschirms.

+0

Ich bin nicht sicher, dass dieses Tool den Benutzer in Echtzeit streamen lässt (ich möchte den Bildschirm nicht in einer Datei aufzeichnen und später ansehen, aber streamen). – Val

+0

Es gibt eine Menge Open Source darüber Internet! Sie können weiter gehen und Screen-Recoder mit f.e verbinden. [Xuggler Streaming] (http://www.xuggle.com/xuggler) – ancalled

+1

Wenn Sie glauben, dass das funktionieren sollte, können Sie ein Quellcode-Beispiel angeben, das bei 25/30FPS zum Streamen einer App ausgeführt werden sollte? – Val

Verwandte Themen