Firefly开源社区

标题: Firefly 摄像头预览帧率低 [打印本页]

作者: lianjimie    时间: 2015-4-13 23:28
标题: Firefly 摄像头预览帧率低
最近学习camera app 使用onpreviewframe 抓取yuv数据,发现ov13850只有7fps.对比系统camera app发现系统的app也只有7fps,相同程序在4412上是正常的,大概有25fps,有谁搞过这里,请帮忙分析下。
作者: carlinluo    时间: 2015-4-14 09:23
0v13850的数据格式是raw的哦
作者: isle    时间: 2015-4-14 09:28
你打开摄像头时。 设置的是什么图像格式
作者: lianjimie    时间: 2015-4-14 14:12
摄像头设置的nv21 ,取数据是在onpreviewframe,在hal层打印消息发现hal层也只7fps,但是查看proc/interrupts marvinirq 中断每秒大概30个
作者: lianjimie    时间: 2015-4-14 14:13
camera输出的是raw ,预览的数据来自isp
作者: lianjimie    时间: 2015-4-14 14:53
CameraHal:bufferCb 获取图像到Camera-JNI:dataCallback要耗时60-90ms
作者: isle    时间: 2015-4-14 16:14
或者你发下你的设置代码 或者你自己跟下 看看是那里耗时太多。
我这边用过1080P的分辨率 正常情况在17贞的样子。
作者: lianjimie    时间: 2015-4-14 16:53
       Camera.Parameters parameters = mCamera.getParameters();
   parameters.setPreviewFpsRange(15000, 30000);
   parameters.setRotation(0);
   parameters.setFocusMode(Camera.Parameters.FLASH_MODE_AUTO);
   parameters.setWhiteBalance(Camera.Parameters.WHITE_BALANCE_AUTO);
   parameters.setSceneMode(Camera.Parameters.SCENE_MODE_AUTO);
   parameters.setFlashMode(Camera.Parameters.FLASH_MODE_AUTO);
   parameters.setPreviewSize(width, height);
   parameters.setPreviewFrameRate(15);
   parameters.setPictureSize(640,480);
   parameters.setPreviewFormat(ImageFormat.NV21);
   mCamera.setPreviewDisplay(mSurfaceHolder);
   mCamera.setParameters(parameters);mCamera.addCallbackBuffer(raw);
   mCamera.enableShutterSound(false);
   mCamera.setDisplayOrientation(180);
   mCamera.setPreviewCallbackWithBuffer(this);
   mCamera.startPreview();


作者: lianjimie    时间: 2015-4-14 17:05
onpreviewframe什么也不做的情况下也只有7帧,我在系统的camera预览中打印信息 帧率也是7帧
作者: lianjimie    时间: 2015-4-14 17:16
可以把你的测试代码贴上来吗@isle
作者: isle    时间: 2015-4-14 18:09
系统上的came 都只有7贞 ?  那你用系统那个came录像 不是很卡? 你用的是什么摄像头 ,是我们官方标配么?
作者: isle    时间: 2015-4-14 18:13
我之前 有试过parameters.setPreviewFormat(preview_format); 这个格式如果换掉 就会变很满,追踪了是sdk里面做格式转化的时候用的是软件转的,效率极低 后面把preview_format = ImageFormat.NV21 ; 就可以了。
不过你的分辨率只 设置到640*480 也这么慢,就很不正常了。
作者: lianjimie    时间: 2015-4-14 18:22
本帖最后由 lianjimie 于 2015-4-14 18:47 编辑

用官网标配的摄像头ov13850 系统录的1080p视频也是只有7帧,看MarvinIrq 的速度有30帧。nv21 和yv12效果相同

作者: isle    时间: 2015-4-15 09:41
系统自带的apk录像都只有7贞?你用的是默认版本固件么?这就应该不是你测试代码的问题。你用修改什么么?这个要好好查下了。我们这边系统自带的apk是很正常的。
作者: lianjimie    时间: 2015-4-15 10:29
本帖最后由 lianjimie 于 2015-4-15 10:39 编辑

用firefly-rk3288_pad_android4.4_201412381550.img测试依旧只有7帧,包括系统camera .在package app camera2 src com android camera PhotoUI.java
onSurfaceTextureUpdated 中添加打印信息可判断系统帧率

作者: lianjimie    时间: 2015-4-15 10:58
pad分支不行 master有25帧
作者: isle    时间: 2015-4-15 14:33
你用官方的固件默认版本(非pad版) 系统自带的那个camera 的apk  也只有7贞?你先确认下系统那个是好的。
作者: lianjimie    时间: 2015-4-15 16:11
用firefly-rk3288_android4.4_201501271047 我的程序可以跑到25fps
作者: isle    时间: 2015-4-15 17:49
那你现在是什么情况?是你自己编的固件不行?
作者: lianjimie    时间: 2015-4-16 08:59
官方发布的pad版的固件不行 box的固件可以。自己编的pad版也不行
作者: isle    时间: 2015-4-16 10:12
我们用了我们最新发布的pad版固件 应该是1-28的 是可以的。请更新最新的固件测试。自己编译的固件也请更新最新的代码测试。
作者: lianjimie    时间: 2015-4-20 09:11
自己编的不行 pad版还是只有7fps
作者: isle    时间: 2015-4-20 09:27
你确定你烧的是这一版本固件?
Firefly-RK3288_PAD_B101EW05_Android4.4_201501281108

板子是一样的 摄像头是一样的  固件是一样的,怎么你的只有7贞 ,不科学啊!
作者: madfrog    时间: 2015-6-19 13:41
isle 发表于 2015-4-20 09:27
你确定你烧的是这一版本固件?
Firefly-RK3288_PAD_B101EW05_Android4.4_201501281108

斑竹你好,我们也碰到了楼主一模一样的现象。

Firefly-RK3288_PAD_B101EW05_Android4.4_201501281108
OV13850

预览帧率很低。 在TVBOX版下正常。
请你们检查一下,或者指点一下如何修改
作者: amnesia    时间: 2016-9-7 18:54
isle 发表于 2015-4-16 10:12
我们用了我们最新发布的pad版固件 应该是1-28的 是可以的。请更新最新的固件测试。自己编译的固件也请更新 ...

你好,问下你这个帧率设置是通过那部分代码设置的。改的是摄像头上的帧率吗?
作者: zz123456    时间: 2023-12-4 16:52
isle 发表于 2015-4-14 16:14
或者你发下你的设置代码 或者你自己跟下 看看是那里耗时太多。
我这边用过1080P的分辨率 正常情况在17贞的 ...

您好,我在3588上使用13850也遇到同样问题,使用系统自带camera录制视频只有7.5帧,请问应该怎么处理?




欢迎光临 Firefly开源社区 (https://dev.t-firefly.com/) Powered by Discuz! X3.1