Verificar se houve movimento

Preciso desenvolver uma aplicação, onde eu preciso gravar o vídeo de uma câmera somente quando houver movimento. Gostaria de saber qual a melhor forma de verificar se houve movimento ou não.

Você precisa de um sensor adicional de movimento, que costuma ser um detector de movimento infravermelho.

Simplesmente ficar tirando a diferença entre dois frames de uma câmera é muito complicado e muito pesado (gasta uma quantidade absurda da CPU); é possível, mas é bem complicado, até porque você precisa tratar a diferença porque há muito ruído entre um frame e outro, então você precisa tratar o resultado da diferença (que nunca é sempre zero, mesmo que você deixe a câmera no completo escuro).

http://tecnologia.uol.com.br/ultnot/2006/12/13/ult2870u216.jhtm

Mas eu preciso fazer essa aplicação utilizando a programação mesmo, pois é projeto de faculdade

Se for um projeto de faculdade aí muda de figura. Você precisa aprender um pouco sobre processamento digital de sinais.

Se puder usar a biblioteca OpenCV (é em C++, sorry, mas é a mais famosa e a mais usada - ela é usada até naquelas máquinas fotográficas que reconhecem um sorriso e batem uma foto automaticamente), é melhor.

http://opencv.willowgarage.com/wiki/

Mas qual a melhor forma de fazer a programação? Analisar frame a frame?

Hum… é por isso que lhe indiquei a OpenCV. De lá você pode pegar ponteiros para literatura sobre análise de imagens; talvez, para seu objetivo, você precise analisar a diferença entre 2 frames sucessivos, ou então precise fazer algum outro tratamento prévio na imagem . Não sei exatamente o que se deve fazer; só sei que você precisa estudar.

Pra fazer esse projeto o JMF pode me ajudar?

Cara, primeiro de tudo: descubra oq o seu professor quer com esse trabalho.
Eu estou com uma disciplina parecida com essa na faculdade, e estavamos conversando com o professor. Ele mesmo falou que fazendo análise de imagem, é bem complexo algo assim. Algo merecedor de TCC. Então, se este não é o seu caso, converse com quem lhe pediu este trabalho e veja se vc precisa usar computação gráfica para isso. As vezes oq ele quer é somente ver a sua capacidade de racionalizar sobre o problema, e não somente sobre a solução.

Esse projeto é para o meu tcc, o que eu preciso saber no momento é saber qual o melhor meio pra fazer a análise.
Obrigado a todos pela ajuda

Bem, já que é assim, posso te recomendar um artigo, feito por um aluno da FURB, com o Professor Dalton:
Desenvolvimento de um Sistema de Visão Computacional para Monitoramento Automatizado de Veículos

Já é um início para a sua pesquisa de TCC ;D

Gostaria de saber quais métodos são possíveis para fazer essa análise
Eu pensei em capturar uma imagem inicial e a cada intervalo de tempo comparar essa imagem com outra, ou analisar pixel a pixel das imagens.
Preciso saber se alguma dessas formas é possível ou se existe outro meio de fazer isso.