Как получить видео и аудиопотоков с веб-камер с Java?

Как я могу получить видео и аудио потоки от веб-камер с Java (кросс-платформенным способом)?

например, у нас есть компьютер с 3-4 веб-камерами USB; мы хотим получить их потоки и сделать их видимыми в пользовательском интерфейсе. Как мы можем это сделать? Мне нужен код для простого приложения, которое найдет все камеры на компьютере и позволит нам выбрать камеру для wach. Может ли кто-нибудь, пожалуйста, поделиться таким?

4 ответов


с Java media framework JMF или FMJ

здесь является примером с JVM


Я вижу ваш комментарий о том, что решение должно быть "чистым" java, но это действительно "почти" невозможно. Вам нужно будет использовать какую-то родную библиотеку для доступа к устройствам, с учетом этого; я предлагаю вам посмотреть на Xuggler как на ваше решение. Xuggler поддерживает Windows, Mac и Linux, а также предлагает пример кода для обработки аудио и видео. Наконец, библиотека бесплатна. Пример захвата веб-камеры: http://xuggle.googlecode.com/svn/trunk/java/xuggle-xuggler/src/com/xuggle/xuggler/demos/DisplayWebcamVideo.java

хотя у Xuggle нет примера захвата микрофона, вы можете найти образцы в списке рассылки или использовать код, написанный проектом packet-mulitbroadcaster, который находится здесь:https://code.google.com/p/packet-multibroadcaster/


вы можете попробовать мое решение. Он использует OpenCV для захвата изображения и сервера причала для передачи его через WebSocket. Пример имеет три класса, и его будет легко понять. Теперь я могу отправлять только видео, но я также работаю над аудио.


Я бы использовал flex. Он может быть относительно легко интегрирован с Java backend.

UPD:

требуется чистая Java

тогда вы должны рассмотреть решения JavaFX. Я не большой эксперт в javafx, я написал только некоторые основные тестовые приложения, но я уверен, что это современный способ решения описанной проблемы с чистая java.