貌似解码得到的每帧图像是RGB24的,要保存Bitmap.Config.ARGB_8888,要转一下cvCvtColor(img,tempImage,CV_BGR2RGBA)。
mGrabber = new FFmpegFrameGrabber(mMvPath); mGrabber.start(); opencv_core.IplImage tempImage = opencv_core.IplImage.create(mGrabber.getImageWidth(), mGrabber.getImageHeight(), opencv_core.IPL_DEPTH_8U, 4); Bitmap bmp = Bitmap.createBitmap(mGrabber.getImageWidth(),mGrabber.getImageHeight(), Bitmap.Config.ARGB_8888); String fileName = mMvPath.replace(".mp4", "_edited.mp4"); FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(fileName, mGrabber.getImageWidth(), mGrabber.getImageHeight(),mGrabber.getAudioChannels()); recorder.setVideoCodec(avcodec.AV_CODEC_ID_H264); //avcodec.AV_CODEC_ID_H264 //AV_CODEC_ID_MPEG4 recorder.setFormat("mp4"); recorder.setFrameRate(m