看到别人USB摄像头是没有问题的,正常fswebcam,但是csi摄像头就不行
# v4l2-ctl --device=/dev/video11 --list-formats-ext
ioctl: VIDIOC_ENUM_FMT
Type: Video Capture Multiplanar
[0]: 'UYVY' (UYVY 4:2:2)
Size: Stepwise 32x16 - 2304x1296 with step 8/8
[1]: 'NV16' (Y/CbCr 4:2:2)
Size: Stepwise 32x16 - 2304x1296 with step 8/8
[2]: 'NV61' (Y/CrCb 4:2:2)
Size: Stepwise 32x16 - 2304x1296 with step 8/8
[3]: 'NV21' (Y/CrCb 4:2:0)
Size: Stepwise 32x16 - 2304x1296 with step 8/8
[4]: 'NV12' (Y/CbCr 4:2:0)
Size: Stepwise 32x16 - 2304x1296 with step 8/8
[5]: 'NM21' (Y/CrCb 4:2:0 (N-C))
Size: Stepwise 32x16 - 2304x1296 with step 8/8
[6]: 'NM12' (Y/CbCr 4:2:0 (N-C))
Size: Stepwise 32x16 - 2304x1296 with step 8/8
# fswebcam --device /dev/video11
--- Opening /dev/video11...
Trying source module v4l2...
/dev/video11 opened.
No input was specified, using the first.
Error selecting input 0
VIDIOC_S_INPUT: Inappropriate ioctl for device
pico-mac sc3336 v4l2可以正常调用,fswebcam却不能通过v4l2调用
fswebcam没有做RK系列的支持 目前无法使用
看到有up fswebcam成功调用usb摄像头,是不是因为sc3336没做适配
应该是的
想问这个摄像头可以通过V4L2在代码里调用捕获视频帧吗,如果可以代码里该怎么写
下面是一个使用 v4l2 捕获视频帧的例程,包含源码和可执行文件 编译
Code: Select all
arm-rockchip830-linux-uclibcgnueabihf-gcc luckfox_v4l2_test.c -o v4l2_test
Code: Select all
ffplay -video_size 640x480 -pixel_format nv12 -framerate 1 -i out.yuv
这种方式虽然可以正常捕获到视频帧,但是没有经过 ISP 算法处理,呈现的效果会偏绿。
如果条件允许还是推荐使用 opencv-mobile 进行摄像头数据帧获取,已经集成了 ISP 算法;或者使用 rkmpi 的 api,使用官方提供的接口调用 rkaiq 进行处理。