public void gravar(Bitmap b){
Camera c=Camera.open();
MediaRecorder mMediaRecorder=new MediaRecorder();
//
mMediaRecorder.setCamera(c);
//Passe o objeto de arquivo a ser gravado. Chame isso depois de setOutputFormat(), mas antes de prepare(). O arquivo deve ser pesquisável. Depois de configurar o próximo arquivo de saída, o aplicativo não deve usar o arquivo até stop(). O aplicativo é responsável por limpar arquivos não utilizados após stop() ser chamado.
mMediaRecorder.setOutputFile("/sdcard/Pictures/video.mp4");
try{
//
mMediaRecorder.prepare();
}catch(Exception e){}
//Obtém a superfície para gravar ao usar a fonte de vídeo SURFACE.
//Só pode ser chamado após prepare(). Os quadros renderizados para o Surface antes de start() serão descartados.
Surface s=mMediaRecorder.getSurface();
//Set video frame capture rate.
double fps=5;
mMediaRecorder.setCaptureRate(fps);
//Configura o gravador para usar uma superfície persistente ao usar a fonte de vídeo SURFACE.
// mMediaRecorder.setInputSurface(s);
//Sets the maximum duration (in ms) of the recording session.
int max_duration_ms=30000;
mMediaRecorder.setMaxDuration(max_duration_ms);
//Define uma superfície para mostrar uma visualização da mídia gravada (vídeo).
// mMediaRecorder.setPreviewDisplay(s);
//Sets the frame rate of the video to be captured.
int rate=5;
mMediaRecorder.setVideoFrameRate(rate);
//Define a largura e a altura do vídeo a ser capturado.
int width=1080;
int height=720;
mMediaRecorder.setVideoSize(width,height);
//Começa a capturar e codificar dados para o arquivo especificado com setOutputFile().
mMediaRecorder.start();
//Begins capturing and encoding data to the file specified with setOutputFile().
try{Thread.sleep(5000);}catch(Exception e){}
mMediaRecorder.stop();
}