Framework para processamento de vídeo em java?

Olá,

Estou precisando fazer:

  1. vídeos upados a um servidor serem encodados em h264 e tirar umas 5 snapshots desses vídeos automaticamente.
  2. um applet nao assinado java para tocar esses mesmos vídeos. (esse é o menos urgente, posso deixar para bem depois)

Estava procurando na net, encontrei várias soluções, mas não sei qual seria a mais prática. Seguem as observações:

  1. JMF está defasado, mas parece que funciona com o JFFMPEG para a maior parte dos formatos (container e codec) existentes, incluindo em applets, entretanto, não consegui encontrar se funciona direito em JDK x64 (no caso, estou usando application container Glassfish sob JDK x64), pelo que li no site da oracle e os testes que fiz aqui não consegue encontrar nenhum player.
  2. Poderia usar o JVLC, mas ainda não encontrei nenhum bom conteúdo sobre ele, se alguém puder me indicar um bom conteúdo sobre ele com o ambiente de desenvolvimento em Windows (mas o servidor é linux). Nesse caso vi que não poderei usar a mesma lib em applet não assinado.
  3. Vi também o FMJ, mas não encontrei nenhum bom exemplo, o FMJ Studio que tem no site deles não abriu nenhum dos vídeos aqui em H264, poderia ver se funciona bem em conjunto com o FFMPEG.
  4. OpenCV me pareceu uma boa, apesar de não poder usar em applet não assinado, me parece que tem muita coisa interessante.
  5. Xuggle também me pareceu uma boa, mas não encontrei as vantagens/desvantagens sobre o opencv, se alguém puder me informar.
  6. Usar diretamente o FFMPEG fazendo chamada ao sistema para fazer o encoding, mas não descobri ainda como fazer o snapshot dessa forma.

De acordo com a experiência de vocês, qual vocês acham que seria a melhor alternativa? Assim eu já me foco em estudar e buscar somente uma alternativa e não fico perdendo tempo comparando elas.

Uma outra dúvida não muito a cerca do assunto, quais as vantagens/desvantagens do JAI em relação ao Java2D? Uso bastante o Java2D, mas se for conveniente, talvez seja interessante começar a usar o JAI.

Obrigado, aguardo respostas

Abraços.

Esqueci de mencionar, outra possibilidade que estou vendo (mas se for mais vantajoso uma das outras eu acho melhor) é usar vídeos com theora+ogg, assim eu poderia buscar o código fonte do cortado applet player e usar a biblioteca theora no java, mas também não encontro nenhum exemplo bom.

Bom, aguardo sugestões.

bom, vou fazer assim:

vou usar o ffmpeg em linha de comando, encodando para mp4+h264 e webm+vp8. A dúvida agora é a seguinte:

No Linux, quando eu chamo o Runtime, eu não consigo passar um parâmetro com espaços no meio… Rodando isso no Windows eu consigo passar enclosurado com aspas duplas, mas no linux ele envia as aspas juntas… alguém tem ideia de como fazer isso?