android 视频录制 以及压缩 mp4 小弟我是不是想的不对

android 视频录制 以及压缩 mp4 我是不是想的不对?
最近用到视频录制功能 
调用intent(MediaStore.ACTION_VIDEO_CAPTURE)
再在onActivityResult中转存。

发现视频质量EXTRA_VIDEO_QUALITY 只有两种: 0 最低 和1最高
最低品质实在是太渣了,但是最高品质又过大 1s视频 1~2m
因为录完的视频是上传到自己的服务器的
文件大小/秒   太大会导致从服务器拿到url,直接使用videoview的时候
mediaplayer偶尔出现-1004(i/o)错误导致视频播放稳定性无法保证,由于贷款原因 能播放的时候视频流畅度也不行,还得处理缓冲。

现在想到先使用最高品质录制mp4 ,录制完成后再压缩。
可是录制好的视频压缩这方面的信息好像有点少,请教我该怎么做,才能获得分辨率够大 和 文件大小/秒 够小的mp4格式视频呢?android 视频录制 以及压缩 mp4 小弟我是不是想的不对
------解决思路----------------------
如果是录制高质量的视频再压缩,压缩时间会比较长,可以继承一个ffmpeg的bin到apk里面,调用ffmpeg命令行就可以了
------解决思路----------------------
引用:
Quote: 引用:

自己调用mediarecorder 设置分辨率和码率即可实现

只是怕自定义摄像,会产生机型啦,系统啦各种不匹配的问题。毕竟各厂商生产的手机摄像头和内置摄像程序都是调好了的。所以想用系统自带的。
如果真的只能这样实现的话,有没有类似的兼容性强的开源项目参考参考呢,不用javacv的?

其实我还是倾向于压缩 毕竟用MeidaRecorder的话,用户自己相册里的视频没办法改,还是会出现1004的问题
要不然在VideoView处下手?
应该怎么做呢 我看MediaPlayer 能动的东西不多啊,怎么解决这个1004的问题?

本来不想搞的很复杂的,但是android系统提供的功能还真是不太友好啊

Mediarecorder 也是系统提供的API啊,不会存在各厂家不同的情况,自带camera录像就是用的这个,只是可以自己设置更多的参数,你说的MediaPlayer 1004跟这个没啥关系吧