Code Bye

android 视频录制 以及压缩 mp4 本人是不是想的不对

最近用到视频录制功能
调用intent(MediaStore.ACTION_VIDEO_CAPTURE)
再在onActivityResult中转存。
发现视频质量EXTRA_VIDEO_QUALITY 只有两种: 0 最低 和1最高
最低品质实在是太渣了,但是最高品质又过大 1s视频 1~2m
原因是录完的视频是上传到本人的服务器的
文件大小/秒   太大会导致从服务器拿到url,直接使用videoview的时候
mediaplayer偶尔出现-1004(i/o)错误导致视频播放稳定性无法保证,由于贷款原因 能播放的时候视频流畅度也不行,还得处理缓冲。
现在想到先使用最高品质录制mp4 ,录制完成后再压缩
可是录制好的视频压缩这方面的信息好像有点少,讨教本人该怎么做,才能获得分辨率够大 和 文件大小/秒 够小的mp4格式视频呢?
解决方案

50

假如是录制高质量的视频再压缩压缩时间会比较长,可以继承一个ffmpeg的bin到apk里面,调用ffmpeg命令行就可以了

50

引用:
Quote: 引用:

本人调用mediarecorder 设置分辨率和码率即可实现

只是怕自定义摄像,会产生机型啦,系统啦各种不匹配的问题。毕竟各厂商生产的手机摄像头和内置摄像程序都是调好了的。所以想用系统自带的。
假如真的只能这样实现的话,有没有相似的兼容性强的开源项目参考参考呢,不用javacv的?
其实本人还是倾向于压缩 毕竟用MeidaRecorder的话,用户本人相册里的视频没办法改,还是会出现1004的问题
要不然在VideoView处下手?
应该怎么做呢 本人看MediaPlayer 能动的东西不多啊,怎么解决这个1004的问题?
本来不想搞的很复杂的,但是android系统提供的功能还真是不太友好啊

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


CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明android 视频录制 以及压缩 mp4 本人是不是想的不对