测试虚拟驱动vivi
文章目录
- 测试虚拟驱动vivi
- 安装xawtv
- 方法1
- 方法2
- 测试USB摄像头
- 测试虚拟摄像头vivi
- 1.确定ubuntu的内核版本
- 2. 去www.kernel.org下载同版本的内核
- 修改Makefile
- 测试体验
安装xawtv
方法1
sudo apt-get install xawtv
方法2
源码xawtv-3.95.tar.gz: http://www.kraxel.org/releases/xawtv/
在这个网站创建新的sources.list
http://repogen.simplylinux.ch/
- 选择国家
- 选择相邻的ubuntu版本
- 选择"Ubuntu Branches"
- 生成sources.list
- 把得到内容替换到/etc/apt/sources.list
- sudo apt-get update
sudo apt-get install xawtv
测试USB摄像头
1.让VMWAER处于前台,接上USB摄像头,可以看到生成了/dev/video0
2.执行 xawtv 即可看到图像
xawtv
右键出现控制界面可以调节参数
测试虚拟摄像头vivi
1.确定ubuntu的内核版本
uname -a
Linux ubuntu16 4.15.0-142-generic #146~16.04.1-Ubuntu SMP Tue Apr 13 09:27:15 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
2. 去www.kernel.org下载同版本的内核
The Linux Kernel Archives
https://www.kernel.org/
下载
下载代码后解压
vivi已近改名vivid
目录位置
/drivers/media/platform/vivid/
修改Makefile
修改Makefile,也就是加入vivid-cec.o,因为如果不加入的话,会提示缺少符号
# SPDX-License-Identifier: GPL-2.0
KERN_DIR = /usr/src/linux-headers-4.15.0-142-generic
vivid-objs := vivid-core.o vivid-ctrls.o vivid-vid-common.o vivid-vbi-gen.o \
vivid-vid-cap.o vivid-vid-out.o vivid-kthread-cap.o vivid-kthread-out.o \
vivid-radio-rx.o vivid-radio-tx.o vivid-radio-common.o \
vivid-rds-gen.o vivid-sdr-cap.o vivid-vbi-cap.o vivid-vbi-out.o \
vivid-osd.o vivid-cec.o
all:
make -C $(KERN_DIR) M=`pwd` modules
clean:
make -C $(KERN_DIR) M=`pwd` modules clean
rm -rf modules.order
obj-m += vivid.o
编译报错
出现了未定义V4L2_COLORSPACE_ADOBERGB变量的error。
但是在正则表达式去搜索文件定义的时候发现vivid目录下所有文件都没有定义过,所以我直接选择进行出问题的地方进行注释
grep -nR V4L2_COLORSPACE_ADOBERGB
vi vivid-ctrls.c +346
vi vivid-vid-out.c +428
重新编译
make
安装自带vivid及依赖,这里先使用modprobr加载vivid,会将其依赖一并加载,然后再卸载vivid,最后加载上我们编译的vivid.ko
sudo modprobe vivid /安装自带vivid
sudo rmmod vivid //卸载自带的vivid
sudo insmod ./vivid.ko //安装自己编译的vivid.ko
测试体验
xawtv -h //帮助信息
xawtv -c /dev/videoX //指定设备
xawtv -noalsa //关闭声卡启动
xawtv //运行摄像头
ls /dev/video*
xawtv -c /dev/videoX