找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 240|回复: 2

99pai使用USB摄像头

[复制链接]

1

主题

0

回帖

94

积分

注册会员

积分
94
发表于 2024-8-11 17:08:35 | 显示全部楼层 |阅读模式
本帖最后由 蓝凌风 于 2024-8-11 17:08 编辑

自带的LoongOs系统中的apt没有源,板子已经刷成Loongnix,USB摄像头连接上999Pai的USB后,终端可以提示有USB设备插入,但是没有枚举,这是官方自带的内核没有加上UVC的驱动。

我们需要重新编译内核并把UVC驱动加到内核上去,下载最新版本的内核源码linux-4.19-0627.tar.gz,执行 make menuconfig ARCH=loongarch对内核进行配置(TF卡板跟EMMC版本的使用的设备树不一样,自己注意去切换设备树),按“/”进去后,输入“USB_VIDEO_CLASS"搜索,可以看有两个选项,我们需要把这两个选项都设置成Y,在打开这两个选项之前,需要把前置的选项”MEDIA_SUPPORT“、”MEDIA_USB_SUPPORT“、”MEDIA_CAMERA_SUPPORT“都先设置为Y。然后编译内核。

内核编译好之后,替换下板子上内核,再把USB摄像头连接到板子的USB口,可以看到板子已经识别到了摄像头,ls /dev也可以看到多出video0跟video1两个设备。

接下来来测试摄像头,apt-get install v4l-utils来安装v4l2,通过v4l2-ctl -d /dev/video0 --all可以读取摄像头的所有参数,驱动已经正常,继续来试试用mjpg-streamer来网络推流。

先安装必要的库
sudo apt-get update
sudo apt-get install subversion
sudo apt-get install libjpeg62-turbo-dev
sudo apt-get install imagemagick
sudo apt-get install libv4l-dev
sudo apt-get install cmake
sudo apt-get install git
然后执行
git clone https://gitee.com/magicor/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
make all
sudo make install
至此mjpg-streamer安装完成,执行sudo ./start.sh来使用mjpg-streamer,看到执行后,在PC浏览器输入 http://ip:8080后,可以打开mjpg-streamer,点Stream页面后就可以看到摄像头的视频流。


最后,如果板子有屏幕的话,也可以使用ffmpeg来把摄像头视频流显示到屏幕上。
sudo apt install ffmpeg
安装ffmgpeg 后执行sudo ffmpeg  -f v4l2 -framerate 24 -video_size 1024x600 -i /dev/video0  -pix_fmt bgra  -f fbdev /dev/fb0就可以把摄像头的视频流推到Framebuffer,但是 -pix_fmt bgra 一定要指定bgra格式,实际Framebuffer是rgba,导致屏幕显示的红色跟蓝色反过来,具体解决没去深究。



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

11

主题

59

回帖

371

积分

超级版主

积分
371
发表于 2024-8-12 11:19:24 | 显示全部楼层

0

主题

1

回帖

18

积分

新手上路

积分
18
发表于 2024-8-15 08:56:00 | 显示全部楼层
usb摄像头的型号有要求吗

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

本版积分规则

Archiver|手机版|小黑屋|Discuz! X

GMT+8, 2024-9-20 01:36 , Processed in 0.088625 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表