Firefly开源社区

打印 上一主题 下一主题

RK3288 Reload多路视频编解码问题请教,急

30

积分

0

威望

0

贡献

游客

积分
30

RK3288 Reload多路视频编解码问题请教,急

发表于 2017-10-17 18:08:15      浏览:11947 | 回复:6        打印      只看该作者   [复制链接] 楼主
工具:RK3288 Reload开发板+三个720p的usb摄像头(调试先用了两个)。系统固件:firefly-rk3288_android5.1(固件已经升级到最新)。
参照“【技术分享】Firefly-RK3288多路视频编解码技术案例源码 ...”添加uvc代码、添加uvcserver、更换libRkOMX_Resourcemanager.so、安装MultiCodecs.apk。打开MultiCodecs.apk同时只有一路视频编解码显示正常,拔除当前摄像头重新打开另一路摄像头显示正常,查看设备video0、video1正常,串口打印信息:
V/Uvc ( 163): startPreview
E/UvcIoctl( 163): buffers0.start = 0xb41ef000
E/UvcIoctl( 163): buffers1.start = 0xb3e9a000
E/UvcIoctl( 163): buffers2.start = 0xb3e03000
E/UvcIoctl( 163): buffers3.start = 0xb3d6c000
E/UvcIoctl( 163): stream_on fd 13
E/UvcIoctl( 163): VIDIOC_STREAMON error 28, No space left on device
E/UvcIoctl( 163): VIDIOC_STREAMON error 28, No space left on device
E/UvcIoctl( 163): Command VIDIOC_DQBUF error, errno: 22, Invalid argument
D/UvcJNI ( 2337): unlock
E/UvcIoctl( 163): VIDIOC_DQBUF error 22, Invalid argument
E/UvcIoctl( 163): VIDIOC_DQBUF error 22, Invalid argument
D/UvcClient( 2337): unlock
D/Uvc ( 163): dequeue err -1
D/Uvc ( 163): threadFunc exit
D/IUvc ( 163): UNLOCK
V/Uvc ( 163): unlock
修改MultiCodecs.apk源码,将分辨率改为640*480以及320*240,帧数改为2,显示的画质变差,帧数明显改变,但不知是板卡对数据处理的结果还是usb摄像头的工作参数被修改,问题没有解决。
在kernel的uvc驱动中添加打印,部分打印信息如下:
[  234.912884] long uvc_v4l2_do_ioctl VIDIOC_S_FMT
[  234.912895] long uvc_v4l2_set_format width=640 height=480
[  234.912900] long uvc_v4l2_try_format
[  234.912908] long uvc_probe_video
[  234.912914] long uvc_set_video_ctrl wPFrameRate=0 dwFrameInterval=333333 wKeyFrameRate=0 wCompWindowSize=0
[  234.938899] long uvc_fixup_video_ctrl wWidth=640 wHeight=480
[  234.940123] long uvc_fixup_video_ctrl wWidth=640 wHeight=480
[  234.940131] long uvc_set_video_ctrl wPFrameRate=0 dwFrameInterval=333333 wKeyFrameRate=0 wCompWindowSize=0
[  234.966558] long uvc_fixup_video_ctrl wWidth=640 wHeight=480
[  234.967096] long uvc_v4l2_do_ioctl VIDIOC_S_PARM
[  234.967106] long uvc_v4l2_set_streamparm
[  234.967112] long uvc_probe_video
[  234.967129] long uvc_set_video_ctrl wPFrameRate=0 dwFrameInterval=333333 wKeyFrameRate=0 wCompWindowSize=0
[  234.993136] long uvc_fixup_video_ctrl wWidth=640 wHeight=480
[  234.994361] long uvc_fixup_video_ctrl wWidth=640 wHeight=480
[  234.994369] long uvc_set_video_ctrl wPFrameRate=0 dwFrameInterval=333333 wKeyFrameRate=0 wCompWindowSize=0
[  235.020580] long uvc_fixup_video_ctrl wWidth=640 wHeight=480
[  235.038785] long uvc_set_video_ctrl wPFrameRate=0 dwFrameInterval=333333 wKeyFrameRate=0 wCompWindowSize=0
[  235.069595] INFO:: check_periodic_bandwidth: already claimed usecs 64, required usecs 60
[  235.069595]
[  235.069615] INFO:: schedule_periodic: Insufficient periodic bandwidth for periodic transfer.
[  235.069615]
[  235.069627] ERROR::dwc_otg_hcd_urb_enqueue:538: DWC OTG HCD URB Enqueue failed adding QTD. Error status -28
[  235.069627]
[  235.069640] uvcvideo: Failed to submit URB 0 (-28).
[  236.182745] vcodec_service: ff9a0000.vpu_service: power off...
[  236.182835] vcodec_service: done
[  236.247403] vcodec_service: ff9a0000.vpu_service: power on
[  936.269574] type=1400 audit(1293884151.640:20): avc: denied { ptrace } for pid=163 comm="debuggerd" scontext=u:r:debuggerd:s0 tcontext=u:r:init:s0 tclass=process permissive=1
[  936.641686] init: Warning!  Service uvcd needs a SELinux domain defined; please fix!
[  939.230703] vcodec_service: ff9a0000.vpu_service: power off...
[  939.230789] vcodec_service: done

根据打印信息,分辨率应该是修改成功了。
问题一直没有解决,从最初的错误提示来看也质询了原厂说是usb带宽不够,但分辨率和帧数已经这么低了不应该带宽还不够吧,纠结好几天了,求指点。
回复

使用道具 举报

30

积分

0

威望

0

贡献

游客

积分
30
发表于 2017-10-20 08:40:53        只看该作者  沙发
石沉大海,自个dddddddddd
回复

使用道具 举报

29

积分

0

威望

0

贡献

游客

积分
29
发表于 2017-10-27 15:52:10        只看该作者  板凳
2B铅笔 发表于 2017-10-20 08:40
石沉大海,自个dddddddddd

兄弟,找到问题了吗?
回复

使用道具 举报

30

积分

0

威望

0

贡献

游客

积分
30
发表于 2017-10-30 10:13:02        只看该作者  地板
奔跑的老牛 发表于 2017-10-27 15:52
兄弟,找到问题了吗?

咨询了原厂,说是带宽满足不了
回复

使用道具 举报

28

积分

0

威望

0

贡献

游客

积分
28
发表于 2018-1-11 11:35:48        只看该作者  5#
要改check_periodic_bandwidth带宽大小
回复

使用道具 举报

20

积分

0

威望

0

贡献

技术小白

积分
20
发表于 2018-11-13 19:49:19        只看该作者  6#
shu51 发表于 2018-1-11 11:35
要改check_periodic_bandwidth带宽大小

这个接口我都把100改成125了,还是同样的问题,一个摄像头yuv格式,一个mjpeg就没问题,但是两个都是yuv格式的640*480就有问题,如果分辨率降低为320*240的双yuv格式也没问题
回复

使用道具 举报

29

积分

0

威望

0

贡献

技术小白

积分
29
发表于 2018-12-23 18:55:45        只看该作者  7#
请问 更换libRkOMX_Resourcemanager.so。 这个so文件是从哪搞到的。我的是Firefly3288 5.1
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

友情链接 : 爱板网 电子发烧友论坛 云汉电子社区 粤ICP备14022046号-2
快速回复 返回顶部 返回列表