介绍rk3568/3588平台录像常见的问题

文章介绍了在Android系统中自定义录像分辨率遇到的问题及解决方案,包括修改XML配置文件以支持更高分辨率,处理录像画面显示不全、打开录像功能报错、录像帧率不足和录像模糊等常见问题。关键在于理解MediaProfiles配置和相机传感器支持的分辨率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 1.自定义录像分辨率    

        首先录像分辨率默认限制的是1920x1080,因此当你分辨率为1920x1536进行录像时,就会出现录像失败,会出现如下log报错

Intended video encoding frame height (1536) is too large and will be set to (1080)
Video dimension (1920x1080) is unsupported

         根据log报错打印,在frameworks\av\media\libmedia\MediaProfiles.cpp中找到该位置,可以看到minFrameHeight 就是media_profiles.xml文件中的minFrameHeight ;

         因此,在xml中可以看到h264编码的限制,将maxFrameWidth 以及 maxFrameHeight的值改大就可以了。所以自定义的录像分辨率,首先判断是否大于1080p,然后按照下面步骤去修改即可。

1.在以下三份文件中,可以参考其它分辨率,去添加你定义的分辨率
packages\apps\Camera2\res\values\arrays.xml
packages\apps\Camera2\res\values\strings.xml
packages\apps\Camera2\src\com\android\camera\settings\SettingsUtil.java

2.framework目录下,以下文件参考其它分辨率进行添加
frameworks\base\core\api\current.txt
frameworks\base\media\java\android\media\CamcorderProfile.java
frameworks\av\media\libmedia\MediaProfiles.cpp
frameworks\av\media\libmedia\include\media\MediaProfiles.h

3.在xml文件中添加你自定义的分辨率
device\rockchip\rk3588\rk3588_s\media_profiles_default.xml

2.录像常见的问题

2.1录像画面显示不全

        比如hdmiin输入的分辨率是1080p,那么就会按照1080p进行预览;录像默认的是480p的,因为1920x1080是16:9的,而640x480是4:3的,所以如果录像用480p的话,会因为缩放比例不一致的原因导致录像画面异常;所以只需要在media_profiles_default.xml中添加上1080p分辨率即可。

2.2打开录像功能报错

2.2.1分辨率问题

        xml中会用cameraid来识别sensor;每一个sensor都可以根据实际来配置所支持的分辨率,例如你的sensor只支持480p的分辨率,但你在xml中配置了1080p的分辨率;因此在打开录像功能时,会出现如” can't connect to the camera “的情况,那是因为录像时,默认打开了1080p的分辨率!因此在xml中将1080p的注释掉就行了。

   <CamcorderProfiles cameraId="0">
   <CamcorderProfiles cameraId="1">

        还有一种情况就是,我们media_profiles_default.xml一般默认是480p的分辨率,如果你在camera3_profiles.xml中没有添加该480p分辨率,那么打开录像就会报错。

2.2.2帧率问题

        遇到过接入USB的双目摄像头发现,拍照是正常的,但是录像的时候会提示报错;在dumpsys media.camera 里 可以看到支持帧率有25 但是没30帧,所以xml 里framerate 改成25就解决了。

2.3录像帧率达不到预期

        遇到过camera的预览帧率能达到60fps,但是录像帧率只能达到48fps,这个应该跟CPU调度有关,把CPU全部定到最高频率就能达到60fps了。

2.4录像模糊

        可以尝试在xml中改大码率maxBitRate ,改成10M,20M试试

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值