Dein Vorhaben ist schwer und wenn es dann mal klappt, nutzt du vermutlcih JMF/FMJ was wiederum veraltet ist und nicht mehr entwickelt wird. Die kurze Antwort wrid dir nicht gefallen: Alles was mit Video/Webcam/Audio zu tun hat, ist bei Java nur über Umwege möglich. Aus meiner Sicht ist die Rangfolge der Schwierigkeitslevel so:
Am einfachsten: Audio
Immernoch relativ einfach bis mittelschwer: Video
Schwer: Webcam
Es gibt endlose Probleme, die von Leuten stammen, die ein und das selbe Programm auf unterschiedlichen Plattformen laufen lassen.
Mal klappt es.. mal klappt es nicht.
Multimediaprogrammierung ist ein sehr schweres Thema in Java. Du musst nich nur sehr gutes Javawissen vorweisen sondern auch viele Frameworks kennen, damit du entstehenende Probleme über andere Wege lösen kannst.
Ein Beispiel dazu: Du kannst mit Xuggler recht viel im Bereich multimedia machen. Ausnahme: MP3. -> klappt einfach nicht.
Außerdem gibt es sowohl Xuggler als auch Gstreamer-java(eine andere gute Medienlib) nur für 32 bit systeme...
Mit JMF ist Webcam relativ gut zu realisieren. Allerdings klappen manche Webcams nicht... Mit JMF Videos abspielen ist wiederum zum ******. Alles in allem sehr kompliziert.
Als nächstens würde sich die Frage stellen, ob dann überhaupt JAVA wirklich die erste Wahl ist. Immerhin gibt es keine perfekte Sprache. Angenommen du willst nur auf Windowsplattformen arbeiten ("nur" is gut, 80-90% benutzen windows), wäre es Unsinn Java zu nehmen.
C# ist fast wie Java aber dort kannst du DirectShow nehmen. Damit ist alles im Bereich Multimedia nur ein 10 Zeiler... maximal.
Du musst halt einfahc überlegen was du machen willst und dann die beste Sprache anwenden. Java ist eigentlich nicht gemacht für Multimedia und du solltest viel Motivation mitbringen, da das teilweise ziemlich deprimierend sein kann. Irgendwas klappt nicht und du und alle anderem im Forum haben keine Ahnung woran es liegt, dabei hast du dann nur ein 64bit system und nutzt vlt 32bit Libraries... Oder ähnliche Probleme... Damit wollte ich jetzt in keinster Weise dieses Forum schlecht machen, es geht darum, dass man oft nicht beschreiben kann, was genau kaputt ist, sondern schlicht und eifnach von JNA eine "Klappt nicht Exception" ins Gesicht bekommen kann und keiner hat genug Wissen über dein System/Konfiguration um es zu lösen. Außerdem musst du daran denken, wie das dann mal bei einem kommerziellen Projekt werden soll, wenn deine Software bei 50% der Leute abschmiert.
Und wenn du aus der suchfunktion nicht schlau wirst, dann wirst du mit Medienprogrammierung auch ncih weitkommen. Du musst dort ständig in alten Foren blättern (weil eben viele Frameworks veraltet sind und nicht mehr aktiv entwicklet werden .. ergo kein support).
Das alles soll dich nicht entmutigen, aber dir zeigen, dass es recht schwer ist. JMF/FMJ, GStreamer-Java, Jffmpeg, JMC, Xuggler, Vorbis/Theora (JTheora) sind stichworte, die dir helfen könnten.
Gruß,
chris