Я работал над небольшой программой для веб-камеры на Java, которая захватывает изображения с веб-камеры и затем передает поток видео в другую программу (на другом компьютере) с помощью сокета.
До сих пор я выполнял потоковое видео, но со скоростью примерно 1-5 кадров в секунду, где его можно было бы передавать со скоростью примерно 30 кадров в секунду
Сервер отправляет массив int с данными RGB через te-сокет.Код выглядит следующим образом:
Клиент / получатель
try{
Object o;
o = objInStream.readObject();
if(o != null){
if(o instanceof int[]){
videoFeed.setRGB(0,0,640,480,(int[]) o, 0, 640);
repaint();
}
}
}catch(Exception ex){
System.out.println("Error: " + ex.getMessage());
}
А отправителем является просто ObjectOutputStream:
outStream.send (image);<--- image - это int [] данных RGB.outStream.flush (); </p>
, затем поток спит в течение (10 миллисекунд).
Здесь можно посмотреть видео со штуковиной: http://www.youtube.com/watch?v=esAMHOdoOUk Примечание: версия в видеопросто выводит изображение на локальный компьютер.