# Bildschirmübertragung via RTMP



## MR_UNIX (16. Dez 2012)

Hallo Leute,

ich hätte da mal eine Frage zu RTMP:
Gibt es in Java eine vernünftige Bibliothek, mit der man den Bildschirm des eigenen Rechners in Echtzeit per RTMP übertragen kann?
Die Anwendung soll ähnlich wie das TeamViewer Meeting werden nur eben das RTMP verwenden.


----------



## tröööt (16. Dez 2012)

also ich denke mal auch wenn man eine vernünftige lib findet die halbwegs performant ist dürfte java dafür nicht unbedingt die beste wahl sein ...
zwar haben dinge wie VNC proof-of-concept bewiesen das es auch mit java geht ... aber wenns dann doch halbwegs sinnvoll werden soll würde ich schon zu anderen sprachen raten ...

wenns mit SE-java sein soll : [japi]Robot[/japi] bietet alles was man braucht um sowas selbst zu basteln ... nur das es dann ganz schön ruckeln dürfte wenn man keinen halbwegs sinnvollen algorithmus verwendet


----------



## MR_UNIX (16. Dez 2012)

Basiert Robot auf RTMP? Ich will es nämlich auf jeden Fall per RTMP machen.


----------



## tröööt (16. Dez 2012)

ich hab schon extra API-tags verwendet damit die board-software einen anklickbaren link erzeugt ... und da mal drauf zu klicken sollte doch nicht so schwer sein ... und was du dann damit machen kannst weis google ...

aber mal von abgesehen ... weist du überhaupt was RTMP ist ?


			
				Wikipedia hat gesagt.:
			
		

> Das Real Time Messaging Protocol (RTMP) ist ein von Adobe Systems entwickeltes proprietäres Netzwerkprotokoll, um Audio-, Video- und sonstige Daten über das Internet von einem Media Server zu einem Flash-Player zu übertragen.


Das sieht mir nach einem one-way-protocol aus ... du könntest also nur den inhalt des hosts streamen ... allerdings diesen nicht manipulieren wie es bei VNC oder TeamViewer möglich ist ... (falls das überhaupt gewünscht ist)


----------



## MR_UNIX (16. Dez 2012)

Ich will auch nur den Bildschirm des Hosts streamen. Es geht um eine Livestream-Software. Und Robot habe ich mir derweil mal angesehen. Das kann ja nur den Bildschirm aufnehmen. Ich möchte diesen aber in Echtzeit streamen.


----------



## Marco13 (16. Dez 2012)

Eine Websuche nach "rtmp java" liefert einige Ergebnisse, ggf. erstmal eine passende Lib dafür aussuchen. Ich hab's nicht ausführlicher durchsucht, aber es KÖNNTE sein dass, selbst wenn du eine passende Lib dafür hast, das Problem nicht mehr die Übertragung an sich ist, sondern überhaupt an die Daten zu kommen. Robot ist für sowas i.a. zu langsam (oder war es zumindest früher mal). Schlimmstenfalls muss man sich da seine eigene Lib mit JNI basteln, um schnell an den Bildschirminhalt ranzukommen.


----------



## tröööt (17. Dez 2012)

gut ... wenn es nur um streaming geht ist java trotzdem nicht das mittel der wahl ...

mit Robot.createScreenCapture(Rectangle) kann man zwar einen "screenshot" machen ... und wenn man multi-threaded arbeitet das auch mit recht hohen FPS ... aber die echt-zeit codierung in ein streaming-kompatibles format ... dafür ist reines java schlicht zu langsam ...

hier braucht man schon wirklich sehr gute native-libs die auch intiligent capturen ... also z.b. nur die veränderungen anstatt jedes mal ein komplettes frame ... und die auch gute und vor allem schnelle codecs nutzen ...


wie gesagt : proof-of-concept ist es möglich ... aber es dürfte nicht wirklich toll werden ... zumindest im vergleich mit richiger streaming-software wie z.b. xsplit ...
außerdem müsstest du auch eine freeware-lib finden ... denn wie oben steht : RTMP ist eigentum von Adobe ... und es dürfte mich schwer wundern das die freiwillig eine en-coder-lib gratis verteilen ...


----------

