mp4不可以,你这个问题我们当初遇到过,最用的解决方案是在JNI里面引入FFMPEG库,进行转码
OpenCV for Anroid 的JNI部分,比较弱,和桌面版的有差距,具体表现为,做面板的VideoCapture是集成FFMPEG,所以不存在读不了视频的情况,但是移动端的.so库的libopencv_videoio.so(记不清了,貌似是这个吧)就没有。所以你要手动用FFMPEG……
OpenCV for Android录制视频的接口貌似不是VideoCapture,虽然你也能看到这个类的Java版,但是打开之后发现提供的是C++的接口,通过native引入C++代码。Android本身API是有录制视频的类的,如camera,而OpenCV for Android 提供的相关接口是CameraBridgeViewBase以及相关接口,这些都是在官方文档的samples提到的。