# Wie JAVA Webcam Client programmieren?



## asmith (11. Jul 2009)

Guten Tag,
ich recherchiere schon ne ganze Weile zum Thema Webcam Chat mit einem JAVA client. Ich komme aber nicht so recht weiter...
Ich plane eine sehr reduzierten Clone von Webcam Anwendungen wie MSN oder Skype umzusetzen.

Letztendlich benötige ich folgende funktionalität:
Peer to Peer Verbindung zwischen 2 PCs mittels IP.
- Communikation der Clients via Bild, Ton und Schrift (Chat).
- Protokollierung der Verbindungsdauer auf meinem Webserver.
- Eventuell später Konferenzschaltungen, Aufzeichnen von Bild/Ton auf dem lokalen Client.

Eine wichtige Komponente ist wohl die JMF für derartige funktionalitäten. Im Web habe ich diese URL hier gefunden David Fischer's Java Programming Examples: Capture Video from Logitech QuickCam Pro 3000 USB Camera with JMF. was schon sehr vielversprechend aussieht. Es zeigt zumindest, das es mit JAVA möglich sein sollte. Jedoch denke ich das es schwer möglich sein wird ein solches Programm von Hand selbst zu stricken.

Von daher... Kennt jemand und/oder hat jemand Erfahrung mit einer fertigen Lösung (Komponente, Class), die man relativ einfach in seine Software integrieren kann?
Gern auch kostenplichtige Lösungen mit support...

Toll währen auch Hinweise auf JAVA APIs, welche zur Umsetzung erfoderlich sind. Leider kann ich über Google nicht so viel brauchbares zu diesem Thema finden.

Cheers!


----------



## Noctarius (11. Jul 2009)

Was ist denn deiner Meinung nach so schwer daran? Vielleicht kann man spezieller helfen.


----------



## HoaX (12. Jul 2009)

Die Komponenten und Klassen hast du schon genannt: Das JMF - Java Media Framework, ist kein Hexenwerk damit auf Videoquellen zuzugreifen


----------



## asmith (14. Jul 2009)

Vielen Dank erstmal... 
Ja wie gesagt sieht das David Fischer Example sehr vielversprechend aus. Ich mache mir da nur ein bischen *sorgen über die Hardware kompatibilität bei Java*. Der Client soll natürlich so Hardwarekompatibel wie möglich sein. Ein weiteres Problem ist sicher... *Wie an den Firewalls vorbeikommen?* Dafür ist sicher eine p2p Verbindung sehr ungeeignet oder? 
Hab natürlich auch schon über eine *Serverlösung* nachgedacht, aber mal angenommen man hat nachher so an die 100-500 User (Sender) dann ist der Traffic ja schon sehr beachtlich. 
Hatte gehofft hier hat schon jemand erfahrungen mit so einem Projekt und rückt ein paar Links zu "Best practices" zu dem Thema raus. 
Natürlich auch sehr interessant ist Flash... Soweit ich ich es gesehen hab kommt Silverlight bischer so gar nicht auf Webcams klar. Logisch falsches Forum hier dann... aber vielleicht können wir in dem Thread hier ja mal ein bischen disktutieren was sinn macht ?  Welche Technologie/Architektur ist am sinnvollsten und ist JAVA Überhaupt die richtige Umgebung für so ein Projekt? 
Wenns jemand vernünftig beurteilen kann JAVA Experten 

Cheers!


----------



## HoaX (14. Jul 2009)

Wenn das Betriebssystem die Kamera erkennt, dann solltest du auch über Java darauf zugreifen können, das sind standardisierte Schnittstellen.
Zum Thema Firewalls gibts unter Netzwerkprogrammierung mehr als ein Thema, such mal nach Hole Punching oder so.


----------



## Noctarius (14. Jul 2009)

Ich mag Sachen wie Hole Punshing und ähnliche Methoden nicht, weshalb meine Firewall so eingestellt ist, dass auch Skype mich nicht mag *hrhr*

Ich würde die Client-Server-Client Lösung immer, und ich meine wirklich immer, bevorzugen, solange du keine Gigabyte an Daten transportieren musst!


----------



## Gast2 (14. Jul 2009)

Noctarius hat gesagt.:


> [..]weshalb meine Firewall so eingestellt ist, dass auch Skype mich nicht mag *hrhr*


was ist Skype ???:L



asmith hat gesagt.:


> Hab natürlich auch schon über eine *Serverlösung* nachgedacht, aber mal angenommen man hat nachher so an die 100-500 User (Sender) dann ist der Traffic ja schon sehr beachtlich.


ich habe seit rund. 2 Jahre 3 eigene CZero-Mods am laufen ... die Downloads betragen dabei einige MB ... allerdings habe ich nie mehr 300 GB Traffic ... das ist bei den meisten (V)Server-Angeboten locker enthalten

außerdem wirst Du nicht sofort 500 User haben ... das wird sich langsam in die Richtung bewegen ... ansonsten berechne doch mal den Traffic den 100 User verbrauchen, wenn sie


200 Byte-Lange Sätze schreiben
das im Minuten-Takt
auch noch 24 Stunden

damit hast Du eine pauschale Hochrechnung für Deinen Traffic-Verbrauch



> Welche Technologie/Architektur ist am sinnvollsten und ist JAVA Überhaupt die richtige Umgebung für so ein Projekt?


Dein Problem ist das Netzwerk ... P2P ist sehr aufwendig - das Programmiert man mal nicht so einfach ... Du kannst das ganze mittels PHP & einer Datenbank lösen - fordert aber den Prozessor erheblich ... oder Du organisierst Dir einen (V)Server (alternativ Dyndns.org & Home) und programmierst Dir ein einfachen Client-Server-Chat ... benötigst aber auch ein eigenes Protokoll, da Du ja die Videodaten übertragen willst



> Wenns jemand vernünftig beurteilen kann JAVA Experten


Deine Probleme haben nichts mit Java gemeinsam (außer JMF) 

hand, mogel


----------



## Noctarius (14. Jul 2009)

mogel hat gesagt.:


> was ist Skype ???:L



Das immer wieder angeführte "Musterbespiel" wie man Hole Punshing betreibt Q_Q Die haben die Technik nahezu perfektioniert.


----------



## Gast2 (14. Jul 2009)

Noctarius hat gesagt.:


> Das immer wieder angeführte "Musterbespiel" wie man Hole Punshing betreibt Q_Q Die haben die Technik nahezu perfektioniert.


ach das Ding was ich nach der Vista Installation erstmal wieder entfernt habe (Aufräumaktion, brachte glatte 10 GB) ... musste ich mal nehmen - mein Prof bestand darauf


----------



## asmith (15. Jul 2009)

mogel hat gesagt.:


> Dein Problem ist das Netzwerk ...



Leute? 

Alles ganz interessante Gedankengänge...
Also ich hab hier eine Opensource Lösung gefunden, welche offensichtlich auch in JAVA geproggt ist. Red5 : Open Source Flash Server Open Source Flash . Offenbar erledigt es sämtliche Protokollfragen, wie von Herrn Mogel angeregt. Finde zwar noch keinen konkreten einstiegspunkt für mich aber das muss man wohl lesen :bahnhof: Befürchte auch ich komme mit meinem all-inkl 4,95€ test account da nicht weiter... :noe:

Alles in allem ist ist red5 wohl vergleichbar mit Apache oder iis. Bin mir nicht sicher ob das nicht alles ein bischen überkandidelt ist für meine zwecke. 

Es werden von heute auf morgen weit mehr als 200 sender online sein. und hoffentlich noch mehr viewer, da alles mit einem ausgeklügelten marketing und promotion plan online gehen wird, welcher zum einem auch ein webmaster partner programm und zum anderen natürlich auch einen didicated server beinhaltet.

Kann doch nicht sein das keiner von den krassen leuten hier ne webcam sender farm klar gemacht hat oder? 

Wie gesagt bin ich auf der suche nach best pratices. Von Adobe gibt es wohl auch einen Flasch media Server... aber für 4,500 $ . Solln se machen... I LUV LINUX 

Verbleibe mit besten Dank und würde mich über weiter Kommentare freuen :O) 

ich mache des weiteren diesen hier :rtfm: 


CHEEERS! :toll:


----------



## Gast2 (16. Jul 2009)

Moin,

also das klingt ja nach einem kompletten System ... und auch danach als das Du es nicht selebr programmieren würdest wollen ... dann versuch mal hier im Forum Dein Glück in der Jobbörse ... da werden dann wohl noch ein paar mehr anspringen 

hand, mogel


----------



## asmith (21. Jul 2009)

Naja Jobbörse... 
Ich denke mal ich habs geknackt. Falls sich jemand dafür Interessiert... Red5 ist genau die richtige Serverumgebung. Entwickelt wird unter Eclipse mit nem Flash Compiler Plugin.... 
Warum hat mir keiner gesagt


----------

