返回信息流这个feature终于圆满做出来了,不容易啊,基本参考
https://github.com/saki4510t/AudioVideoRecordingSample
这个demo写的真的很牛逼,各模块解藕的非常好,虽然我弄过来吧glview和camera再拆了出来不过基本还是按照它的结构
然后不止实现了切换摄像头还实现了按比例裁剪尺寸,和缩放,通过openGL的矩阵坐标实现
这一套做下来感觉还是有不少收获,要不是因为写出来的东西是公司代码,我都想开源了,不过还是那个demo厉害
另外一个很有参考价值的demo是谷歌的grafika https://github.com/google/grafika
希望这两个demo能帮助后边的人吧
结贴
---------------------------------------------------------------------------------
有人研究过这一块的东西么?
一般安卓视频录制使用camera配合mediarecorder来录制视频
然而问题来了,很多手机前置摄像头和后置摄像头支持的分辨率不一定相等,比如后置的是 1920x1080但前置只有1280x960
mediarecorder开始录制的时候会将视频源和音频源设进去,在开始运行的过程中是没法换这个东西的,所以只用这两个似乎不能连续的录切换摄像头的视频
现在的解决办法只能是用户切换的时候重新初始化mediarecorder然后再录,也就是分多段,完成之后再想办法将多段视频先转换成同一分辨率,再拼接起来,这个真的是太恶心了,现在用ffmpeg速度奇差,简直不能忍,故来求助,不知道有没有同学研究过类似问题
至于为什么有录制过程中要换摄像头这种奇葩需求?
PM:微信就可以做啊!
我:。。。。。。
我看了一下大多数手机自带的相机应用都没有这个功能,三星的几款似乎可以,而且微信这个也不是很稳,我在一台nexus6上面录视频连续换两次必崩
不知道我邮有没有做相关项目的,求教,求助,求大腿,各种求Qaq
这是一条镜像帖。来源:北邮人论坛 / mobile-terminal-at / #34145同步于 2018/9/15
该镜像源已超过 30 天没有更新,可能在源站已被删除。
MobileTerminalAT机器人发帖
[已解决]安卓相机录制视频过程中切换摄像头
wu2011211367
2018/9/15镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
视频分辨率和Camera PreviewSize是两个东西,预览帧数据的Buffer大小和视频帧完全可以不一样;
用MediaRecorder肯定是做不了这种事,接口封装级别太高,不能做扩展,要用MediaCodec,但是有Android API级别限制,同时受底层编码器实现影响:https://developer.android.google.cn/reference/android/media/MediaCodec ;
FFMpeg纯软编一定是慢的,要配合平台硬编才能加快速度:https://trac.ffmpeg.org/wiki/HWAccelIntro 。
【 在 sollian 的大作中提到: 】
: 虽然都是在录像,但不一定使用的是系统提供的Camera类。也可能是第三方的sdk。比如拍摄小视频的美摄sdk等。
感谢回帖,第三方的现在还没有考虑去用哈
【 在 tonyjansan 的大作中提到: 】
: 视频分辨率和Camera PreviewSize是两个东西,预览帧数据的Buffer大小和视频帧完全可以不一样;
: 用MediaRecorder肯定是做不了这种事,接口封装级别太高,不能做扩展,要用MediaCodec,但是有Android API级别限制,同时受底层编码器实现影响:https://developer.android.google.cn/reference/android/media/MediaCodec ;
: FFMpeg纯软编一定是慢的,要配合平台硬编才能加快速度:https://trac.ffmpeg.org/wiki/HWAccelIntro 。
嗯嗯,感谢,现在也再尝试去用codec去做,感谢链接
我不是说让你去用,我的意思是,人家用的和你可能根本不是一个api
【 在 wu2011211367 的大作中提到: 】
:
: 感谢回帖,第三方的现在还没有考虑去用哈
【 在 tonyjansan 的大作中提到: 】
: 视频分辨率和Camera PreviewSize是两个东西,预览帧数据的Buffer大小和视频帧完全可以不一样;
: 用MediaRecorder肯定是做不了这种事,接口封装级别太高,不能做扩展,要用MediaCodec,但是有Android API级别限制,同时受底层编码器实现影响:https://developer.android.google.cn/reference/android/media/MediaCodec ;
: FFMpeg纯软编一定是慢的,要配合平台硬编才能加快速度:https://trac.ffmpeg.org/wiki/HWAccelIntro 。
哈哈 看到个靠谱的