貌似解码得到的每帧图像是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_MPEG4recorder.setFormat("mp4");recorder.setFrameRate(mGrabber.getFrameRate());recorder.setSampleFormat(mGrabber.getSampleFormat());  //recorder.setSampleRate(mGrabber.getSampleRate());recorder.setFrameRate(mGrabber.getFrameRate());recorder.start();while (true) {Frame frame = mGrabber.grabFrame();if (frame == null)break;opencv_core.IplImage img = frame.image;//保存BMPcvCvtColor(img,tempImage,CV_BGR2RGBA);IntBuffer intBuf = tempImage.getIntBuffer();bmp.copyPixelsFromBuffer(intBuf);ImageUtil.saveBitmap(bmp);recorder.record(img);//录制}recorder.stop();recorder.release();mGrabber.stop();if (mEvent != null){mEvent.onDecordFinish();}}catch (Exception e){e.printStackTrace();
}

javacv解码、录制视频,保存图片相关推荐

  1. JavaCV/FFmpeg录制视频并添加多重滤镜

    JavaCV录制视频时常遇到添加FFmpeg音视频滤镜的需求,FFmpeg内置很多常用的滤镜,如果添加多个滤镜的时候代码处理相对单个要复杂一点,使用滤镜的时候需要注意像素格式的转换,FFmpeg处理的 ...

  2. android javacv 录像,使用JavaCV(ffmpeg)录制视频

    使用JavaCV(ffmpeg)录制视频 JavaCV是对各种常用计算机视觉库的封装后的一组jar包,其中封装了ffmpeg.OpenCV.libdc1394.OpenKinect.videoInpu ...

  3. java录制视频_javacv开发详解之1:调用本机摄像头视频(建议使用javaCV最新版本)...

    javaCV系列文章: ' i# f% S' a# J9 X! w- g) wjavacv开发详解之1:调用本机摄像头视频 4 r' C, [4 ?' M7 Y; }javaCV开发详解之2:推流器实 ...

  4. GPUImageMovieWriter录制视频问题

    GPUImageMovieWriter录制视频问题 1.两个movie叠加的时候,每个movie解码出一帧都会走到GPUImageTwoInputFilter的newFrameReadyAtTime ...

  5. Android视频编辑器(二)预览、录制视频加上水印和美白磨皮效果

    前言      这是视频编辑器系列的第二篇文章,在上篇文章中,我们讲解了利用OpenGl和SurfaceView进行视频预览,MediaCodec和MeidaMuxer进行视频录制和断点续录.而这篇主 ...

  6. Android 使用CameraX实现预览/拍照/录制视频/图片分析/对焦/缩放/切换摄像头等操作

    1. CameraX架构 看官方文档 CameraX架构 有如下这一段话 使用CameraX,借助名为"用例"的抽象概念与设备的相机进行交互. 预览 : 接受用于显示预览的Surf ...

  7. opencv录制视频 python_Python-OpenCV录制H264编码的MP4视频

    前言 因最近项目需求涉及计算机视觉相关内容,需要实现在Python录制视频,并且录制完成后可在浏览器前端中进行视频回放的功能:特写下此篇文章以记录整体实现过程. 2019-08-02 更新 之前一直在 ...

  8. Android视频编辑器(一)通过OpenGL预览、录制视频以及断点续录等

    前言 如今的视频类app可谓是如日中天,火的不行.比如美拍.快手.VUE.火山小视频.抖音小视频等等.而这类视频的最基础和核心的功能就是视频录制和视频编辑功能.包括了手机视频录制.美白.加滤镜.加水印 ...

  9. 仿微信录制视频和拍照并发送留言

    仿微信小视频录制功能,打开相机后,点击是拍照,长按是录制,录制小于1秒,要提示"录制时间太短",最大可以录制1分钟的视频,拍完照或录制完视频后,要自动跳转到相片或视频展示页面,点击 ...

  10. WebRTC实现一个网页在线录制视频

    电脑录制视频几乎不会用到,当有需要的时候就各种找软件找工具,并且都会找免费的.现在市场上肯定有很多符合需求,只是那么偶尔的情况下,而且使用场景不是那么多要求的情况下,一个网页在线直接录屏是不是非常ni ...

最新文章

  1. Dalvik与JVM区别
  2. 同步 异步 阻塞 非阻塞概念区分
  3. leetcode 目录
  4. python的lib文件夹_python遍历文件夹os.path与pathlib
  5. php fetch返回false,Php fetch返回字符串而不是布爾值“true / false”值
  6. OpenCV3学习(12.2) 目标跟踪之运动模板法segmentMotion实现(Mat版本)
  7. 京东方OLED屏幕无缘iPhone 12首批供货,因测试未通过
  8. linux内核安装指南-1
  9. iReal Pro 2020 for Mac(模拟乐队音乐陪练工具)
  10. SpringCloud常见面试题总结二
  11. 计算机专业拼音怎样写,电脑的拼音怎么打
  12. stm32指纹考勤机 (程序源码包括app程序+pcb电路图+原件清单)
  13. CKeditor 插件
  14. Linux添加工作组和用户
  15. 智能手持PDA是什么?
  16. 怎样使用计算机函数求出等级,巧用Excel函数出练习题
  17. fedora dnf 指定安装目录
  18. Sign Up VS Register Sign in VS Login
  19. mysql json储存过程_SQL-mysql储存过程
  20. PGD:Towards Deep Learning Models Resistant to Adversarial Attacks

热门文章

  1. 推荐30款最佳的数据可视化工具
  2. Git 使用明细,持续完善中......
  3. 爬虫代码分析(1)--下载小说
  4. python函数参数定义顺序_18 Python - 函数定义与参数
  5. Javascript第六章世上最全常用RegExp正则表达式及表单验证源码第七课
  6. 如何用20%精力搞定80%任务
  7. vue项目中返回按钮案例(用vuex控制返回按钮的显示或者隐藏)
  8. 如何安装win10与linux双系统,Windows10与CentOS 双系统共存完美教程
  9. log4j中将SocketAppender将日志内容发送到远程服务器
  10. P2424 约数和 真丶除法分块