久久派安装启用USB摄像头(基于mjpg-streamer)

久久派安装启用USB摄像头(基于mjpg-streamer)

文中所需网盘资料及讲解视频在文章末尾哦[1](#1)

一、开启USB摄像头功能

若有小伙伴不想编译内核,也可以直接到网盘找到编译好的内核(开启USB摄像头和wifi)文件内的vmlinuz直接执行第4步把内核拷贝到系统中。

1、wsl安装依赖

bash 复制代码
sudo apt-get install flex
sudo apt-get install bison
sudo apt-get install libssl-dev
sudo apt-get install bc
sudo apt-get install libncurses-dev

2、在wsl中配置内核

bash 复制代码
cd linux-4.19
cp arch/loongarch/configs/loongson_2k300_defconfig .config
make menuconfig ARCH=loongarch

(1)配置USB摄像头驱动

选择Device Drivers

在Multimedia support选项上,输入y,然后回车进入

在Cameras/video grabbers support选项上,输入y

在Media USB Adapters选项上,输入y,然后回车进入

在USB Video Class(UVC)选项上,输入y

(2)配置wifi驱动(反正都编译内核了,顺带一起吧,要不之前安装的ko文件不能用)

选择Device Drivers

选择Network device support

选择Wireless LAN

在AIC8800 wlan Support选项上,输入y

在AIC8800 bluetooth Support选项上,输入y

最后按下->键在下方目录中选择<Save>回车进行保存

按下Ctrl+C退出编辑

3、编译内核

bash 复制代码
export PATH=/root/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.3-1/bin:$PATH
make clean ARCH=loongarch CROSS_COMPILE=loongarch64-linux-gnu-
make vmlinuz ARCH=loongarch CROSS_COMPILE=loongarch64-linux-gnu- -j 4

4、把内核拷贝到系统中

进入wsl中的root目录,在linux-4.19目录中找到vmlinuz

把vmlinuz拷贝到久久派

执行

bash 复制代码
sudo cp vmlinuz /boot
sudo reboot

5、修改内核路径并重新安装驱动

启动之后,需要把/lib/modules/4.19.190+改为/lib/modules/4.19.190(具体原因未知,自己编译的内核路径发生了改变)

bash 复制代码
sudo mv /lib/modules/4.19.190+ /lib/modules/4.19.190
sudo depmod

如果发现某些模块掉了,就手动安装一下(以下是我之前装过的驱动,大家根据自己的实际情况安装)

bash 复制代码
sudo insmod /lib/modules/4.19.190/aic8800_bsp.ko
sudo insmod /lib/modules/4.19.190/aic8800_btlpm.ko
sudo insmod /lib/modules/4.19.190/aic8800_fdrv.ko
sudo insmod /lib/modules/4.19.190/ch341.ko
sudo insmod /lib/modules/4.19.190/cp210x.ko
sudo insmod /lib/modules/4.19.190/ftdi_sio.ko
sudo insmod /lib/modules/4.19.190/r8152.ko

二、安装ffmpeg测试摄像头

FFmpeg是一个开源项目,它提供了一套用于处理音频和视频内容的库和程序,可以用于录制、转换以及流化音视频。

首先需要安装一下ffmpeg库。

bash 复制代码
sudo apt install ffmpeg

安装完测试一下,当我们的内核安装正确,且在久久派上有插摄像头,可以使用指令识别出来。

使用FFmpeg命令用于从/dev/video0视频设备捕获一张指定为1280x720像素 帧数为1 名称为out.jpg的图片。

bash 复制代码
ffmpeg -f v4l2 -video_size 1280x720 -i /dev/video0 -frames 1 out.jpg

在FileZilla中,将生成的out.jpg拷贝出来,如果生成了一张摄像头拍摄图片,代表USB摄像头驱动和ffmpeg安装完毕。

三、mjpg-streamer推流

1、安装依赖

安装mjpg-streamer推流[2](#2)

bash 复制代码
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

2、安装编译

bash 复制代码
git clone https://gitee.com/magicor/mjpg-streamer.git
cd mjpg-streamer/mjpg-streamer-experimental
make all
sudo make install

没网的小伙伴可以直接复制网盘资料中的mjpg-streamer.tar.gz,然后执行解压指令

bash 复制代码
tar -zvxf mjpg-streamer.tar.gz

3、汉化(可选)

将mjpg-streamer/mjpg-streamer-experimental路径下的www文件夹删除,再将网盘中汉化好的www文件夹拷贝进去。

直接使用网盘链接中文件的小伙伴可以跳过这个步骤。

4、启动

首先需要进入文件

bash 复制代码
cd mjpg-streamer/mjpg-streamer-experimental

执行以下指令来使用mjpg-streamer,实现单个摄像头的开启。

bash 复制代码
sudo ./start.sh

看到执行后,在PC浏览器输入 http://久久派IP:8080后,可以打开mjpg-streamer,点Stream页面后就可以看到摄像头的视频流啦。

5、指定摄像头和端口启动

可以同时启动多个摄像头,多个摄像头编号按照0、2、4排列并不是连续的。如果需要多摄像头运行,在指令后加上符号&后台执行。

bash 复制代码
./mjpg_streamer -i "input_uvc.so -d /dev/video0 " -o "output_http.so -w ./www -p 8080" &
./mjpg_streamer -i "input_uvc.so -d /dev/video2 " -o "output_http.so -w ./www -p 8081" &

6、关闭后台

如果是前台运行,直接ctrl+c退出

后台需要执行

bash 复制代码
pkill -9 mjpg_streamer

  1. 百度网盘链接123网盘链接(提取码:qIq1)某站讲解视频链接↩︎

  2. 参考论坛文章 ↩︎

相关推荐
码匠许师傅1 小时前
【STM32U385RG 测评】基于VSCode的STM32开发环境搭建
vscode·stm32·嵌入式硬件
longxiangam11 小时前
retro-go 1.45 编译及显示中文
c语言·单片机·嵌入式硬件
JasmineX-111 小时前
STM32内部读写FLASH
c语言·stm32·单片机·嵌入式硬件
源远流长jerry13 小时前
电路基础相关知识
stm32·单片机·嵌入式硬件
1+2单片机电子设计14 小时前
基于STM32的数控机床物联网改造研究
stm32·单片机·嵌入式硬件·51单片机
猫猫的小茶馆15 小时前
【STM32】HAL库中的实现(三):PWM(脉冲宽度调制)
stm32·单片机·嵌入式硬件·mcu·51单片机·智能硬件
国科安芯15 小时前
ASP3605I同步降压调节器的高频化设计与多相扩展技术优化方案
网络·单片机·嵌入式硬件·硬件架构
嵌入式×边缘AI:打怪升级日志17 小时前
韦东山STM32_HAl库入门教程(SPI)学习笔记[09]内容
stm32·嵌入式硬件·microsoft
码小文20 小时前
Altium Designer 22使用笔记(4)---添加封装、ERC检查、PDF文档与BOM生成
笔记·嵌入式硬件·硬件工程·学习方法·硬件经验
猫猫的小茶馆21 小时前
【STM32】HAL库中的实现(四):RTC (实时时钟)
stm32·单片机·嵌入式硬件·mcu·51单片机·实时音视频·pcb工艺