使用JavaCV(ffmpeg)录制视频
JavaCV是对各种常用计算机视觉库的封装后的一组jar包,其中封装了ffmpeg、OpenCV、libdc1394、OpenKinect、videoInput和ARToolKitPlus等计算机视觉编程人员常用库的接口,可以通过其中的utility类方便的在包括Android在内的Java平台上调用这些接口。其中使用最多的应该就是ffmpeg了。
起初Javacv是googlecode下面的一个项目,后续迁移到了github,并且包名也由com.googlecode.javacv改为org.bytedeco.javacv,网上的demo主要有两个:
https://github.com/peirenlei/FFmpegRecorder
https://github.com/CrazyOrr/FFmpegRecorder
我是参考的上面那个,但是使用的是最新的版本1.3.1 。
集成过程中遇到很多问题,弄了一个多星期,在此就记录一下。
其中,javacpp.jar 和 javacv.jar是必须的两个包,然后需要什么功能就添加额外的包。例如我需要用到ffmpeg进行视频录制,则需要添加ffmpeg.jar和ffmpeg-android-arm.jar(打包的arm平台so库)。这里很方便的地方是,so库文件都放在了jar文件里面,所以在集成的时候很简洁明了。
把需要的jar包拷贝到项目的libs目录下就可以直接使用了,