Transmissão de vídeo em tempo real

Estou com uma ideia para o meu TCC que eu começo a desenvolver nesse semestre na faculdade. Vai ser mais ou menos assim: uma aplicação desktop desenvolvida em Java, que ficará hospedada em um servidor, que fará a captura de vídeo (por uma Webcam), e em tempo real transmitirá para um dispositivo móvel utilizando Android, que estará conectado a internet, através de Wi-Fi ou 3G.

O meu problema é que eu nunca trabalhei com vídeo em java, e não tenho ideia de como fazer a captura do mesmo e nem como transmiti-lo pela rede.
Eu sei que eu terei que utilizar alguma arquitetura Cliente/Servidor. Já conheço algumas, mas qual vocês acham que seria a melhor opção?

Gostaria que vocês pudessem me dar algumas dicas de materiais e/ou tutoriais para estudar. Obrigado.

Amigo não sei se o Java seria a melhor solução para o seu problema de uma lida JMF

se vc quiser fazer tudo “na mão” (não sei se tem algo pronto em java), pode fazer dessa forma:

  1. Uma aplicação java no cliente que acesse a webcam e envie por socket em um OutputStream para o seu servidor.
  2. Seu servidor deverá ter uma porta socket aberta (mas pode ser feito em algum web container), que receba o streaming e grave num “buffer” os bytes recebidos, sempre tomando cuidado com o tamanho máximo do seu buffer.
  3. Em cada requisição a uma url específica (ou mesmo outra aplicação por socket em uma porta específica) você coloca para enviar o buffer.
  4. Na outra aplicação você coloca para receber o stream e mostrar na tela, pode usar o JMF para isso também.

transmissao de video em tempo real… acredito que vai ficar um pouco lento a comunicação… dependendo do dispositivo (aparelho) pode ser impraticável…

Já existe algumas threads sobre captura de video com java e a verdade é bem desanimadora. Dá uma olhada nesse tópico http://guj.com.br/java/257412-jmf-could-not-connect-to-capture-device