当前位置: 首页 > news >正文

windows10-VMware17-Ubuntu-22.04-海康2K摄像头兼容问题,求解(已解决)

文章目录

      • 1.webrtc camera测试
      • 2.ffmpeg 测试
      • 3.Ubuntu 自带相机
      • 4.解决办法

环境:windows10系统下,VMware的Ubuntu-22.04系统

问题:摄像头出现兼容问题,本来是想开发测试的,Ubuntu方便些。买了海康2K的USB摄像头,没买1080P是想着2K可以选分辨率。之前1080P的海康USB摄像头在 windows10 下 VMware 的 UOS 系统都是正常采集和使用的,想来2K在Ubuntu也是可以的。没想到啊,虚拟机直接出现兼容问题,各种app采集的图像出现方块隔离图形,通过apt upgrade更新也没用。找不到解决办法,内心拔凉拔凉。

windows 下可查摄像头:

$ ffmpeg -hide_banner -list_devices true -f dshow -i dummy
[dshow @ 0000022efa6fb9c0] "2K USB Camera" (video)
[dshow @ 0000022efa6fb9c0]   Alternative name "@device_pnp_\\?\usb#vid_2bdf&pid_0281&mi_00#6&1399960&0&0000#{65e8773d-8f56-11d0-a3b9-00a0c9223196}\global"
[dshow @ 0000022efa6fb9c0] "耳机 (HIFI Audio)" (audio)
[dshow @ 0000022efa6fb9c0]   Alternative name "@device_cm_{33D9A762-90C8-11D0-BD43-00A0C911CE86}\wave_{6BADEC19-D8BA-46B3-ACEA-9E36987284A4}"
[in#0 @ 0000022efa6ad100] Error opening input: Immediate exit requested
Error opening input file dummy.

状况(连接到 Ubuntu 虚拟机 - VMware->虚拟机->可移动设备(D)->2K USB Camera->连接):
1.自带摄像头启动花屏并崩溃或者干脆报错等
2.webrtc camera 火狐打开首图响应慢、方格图、数秒才刷新一帧等
3.ffmpeg 也是首图响应慢、方格图等

愁啊愁…

[jn@jn bin]$ lsusb
Bus 001 Device 004: ID 2bdf:0281 04014008_P040300_SN0002 2K USB Camera
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
[jn@jn bin]$
[jn@jn bin]$ v4l2-ctl --list-devices
2K USB Camera: 2K USB Camera (usb-0000:02:03.0-1):/dev/video0/dev/video1/dev/media0[jn@jn bin]$
[jn@jn bin]$ v4l2-ctl --list-formats-ext
ioctl: VIDIOC_ENUM_FMTType: Video Capture[0]: 'YUYV' (YUYV 4:2:2)Size: Discrete 640x360Interval: Discrete 0.040s (25.000 fps)Size: Discrete 640x480Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.040s (25.000 fps)[1]: 'MJPG' (Motion-JPEG, compressed)Size: Discrete 640x360Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Size: Discrete 1280x720Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Size: Discrete 1280x960Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Size: Discrete 1920x1080Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Size: Discrete 2048x1536Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Size: Discrete 2560x1440Interval: Discrete 0.040s (25.000 fps)Size: Discrete 640x480Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)Interval: Discrete 0.033s (30.000 fps)Interval: Discrete 0.040s (25.000 fps)
[jn@jn bin]$

1.webrtc camera测试

在这里插入图片描述
html code:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>WebRTC Camera Test</title><style>body {display: flex;justify-content: center;align-items: center;height: 100vh;margin: 0;background-color: #f0f0f0;}video {border: 2px solid #333;width: 80%;max-width: 640px;}</style>
</head>
<body><video id="video" autoplay></video><script>async function startCamera() {try {// 请求摄像头权限const stream = await navigator.mediaDevices.getUserMedia({ video: true });// 获取 video 元素const video = document.getElementById('video');// 将摄像头流设置为 video 元素的源video.srcObject = stream;} catch (err) {console.error('Error accessing the camera: ', err);}}// 启动摄像头startCamera();</script>
</body>
</html>

2.ffmpeg 测试

[jn@jn bin]$ time ./ffmpeg -f v4l2 -i /dev/video0 -vframes 1 output.jpg
ffmpeg version 4.4.5 Copyright (c) 2000-2024 the FFmpeg developersbuilt with gcc 11 (Ubuntu 11.4.0-1ubuntu1~22.04)configuration: --prefix=/home/jn/Desktop/3rdParty/source/../libs/ffmpeg --pkg-config-flags=--static --enable-gpl --enable-nonfree --enable-cross-compile --enable-libx264 --enable-asm --enable-alsa --enable-pthreadslibavutil      56. 70.100 / 56. 70.100libavcodec     58.134.100 / 58.134.100libavformat    58. 76.100 / 58. 76.100libavdevice    58. 13.100 / 58. 13.100libavfilter     7.110.100 /  7.110.100libswscale      5.  9.100 /  5.  9.100libswresample   3.  9.100 /  3.  9.100libpostproc    55.  9.100 / 55.  9.100
Input #0, video4linux2,v4l2, from '/dev/video0':Duration: N/A, start: 405.937317, bitrate: 122880 kb/sStream #0:0: Video: rawvideo (YUY2 / 0x32595559), yuyv422, 640x480, 122880 kb/s, 25 fps, 25 tbr, 1000k tbn, 1000k tbc
Stream mapping:Stream #0:0 -> #0:0 (rawvideo (native) -> mjpeg (native))
Press [q] to stop, [?] for help
[swscaler @ 0x56c3ff867e80] deprecated pixel format used, make sure you did set range correctly
Output #0, image2, to 'output.jpg':Metadata:encoder         : Lavf58.76.100Stream #0:0: Video: mjpeg, yuvj422p(pc, progressive), 640x480, q=2-31, 200 kb/s, 25 fps, 25 tbnMetadata:encoder         : Lavc58.134.100 mjpegSide data:cpb: bitrate max/min/avg: 0/0/200000 buffer size: 0 vbv_delay: N/A
frame=    1 fps=0.0 q=5.4 Lsize=N/A time=00:00:00.04 bitrate=N/A speed=7.25x
video:23kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknownreal    0m16.780s
user    0m7.400s
sys     0m9.216s
[jn@jn bin]$ ls
ffmpeg  ffprobe  output.jpg
[jn@jn bin]$

output.jpg:
在这里插入图片描述

3.Ubuntu 自带相机

直接GG
在这里插入图片描述

4.解决办法

① 麦克风:VMware->虚拟机->可移动设备(D)->声卡->连接
② 摄像头:VMware->虚拟机->设置->硬件->USB 控制器->连接->USB 兼容性( C )
( 前提:VMware->虚拟机->可移动设备(D)->2K USB Camera->连接)

修改:我是修改 USB 2.0 -> USB 3.1 之后就OK了,如果你也遇到这个问题可以相互切换试试
在这里插入图片描述
在这里插入图片描述

相关文章:

windows10-VMware17-Ubuntu-22.04-海康2K摄像头兼容问题,求解(已解决)

文章目录 1.webrtc camera测试2.ffmpeg 测试3.Ubuntu 自带相机4.解决办法 环境&#xff1a;windows10系统下&#xff0c;VMware的Ubuntu-22.04系统 问题&#xff1a;摄像头出现兼容问题&#xff0c;本来是想开发测试的&#xff0c;Ubuntu方便些。买了海康2K的USB摄像头&#xf…...

【系统架构设计师】解释器模式

解释器模式&#xff08;Interpreter Pattern&#xff09;是一种行为型设计模式&#xff0c;它定义了文法的表示&#xff0c;并定义了一个解释器&#xff0c;该解释器使用该表示来解释语言中的句子。在解释器模式中&#xff0c;通常包括一个抽象语法树&#xff08;Abstract Synt…...

Hive原理剖析

1. 概述 背景介绍 Apache Hive是一个基于Hadoop的开源数据仓库软件&#xff0c;为分析和管理大量数据集提供了SQL-like的接口。最初由Facebook开发并贡献给Apache&#xff0c;Hive现已成为大数据处理领域的重要工具之一。它将传统的SQL功能与Hadoop的强大分布式处理能力结合&…...

在 Ubuntu 上查看重复文件

一般情况下 1. 使用 fdupes 工具 fdupes 是一个专门用于查找重复文件的工具。 安装: sudo apt-get install fdupes 使用: fdupes -r /path/to/directory -r 选项会递归查找子目录中的重复文件。 2. 使用 rmlint 工具 rmlint 是另一个强大的重复文件查找工具&#xf…...

docker容器高效连接 Redis 的方式

在微服务架构中&#xff0c;Redis 是一种常见的高效缓存解决方案&#xff0c;通常用于存储临时数据、会话信息或 token。如何在服务容器中高效、稳定地连接 Redis 是架构设计中的一个重要环节。 这篇博客将以实际项目为例&#xff0c;详细介绍如何配置 Flask 应用中的服务容器…...

手撕Python之生成器、装饰器、异常

1.生成器 生成器的定义方式&#xff1a;在函数中使用yield yield值&#xff1a;将值返回到调用处 我们需要使用next()进行获取yield的返回值 yield的使用以及生成器函数的返回的接收next() def test():yield 1,2,3ttest() print(t) #<generator object test at 0x01B77…...

LabVIEW步进电机控制方式

在LabVIEW中控制步进电机可以通过多种方式实现。每种方法都有其独特的优缺点&#xff0c;适用于不同的应用场合。下面详细介绍几种常见的步进电机控制方式&#xff0c;并进行比较。 1. 开环控制&#xff08;Open-Loop Control&#xff09; 特点 通过定期发出脉冲信号来控制步进…...

vllm源码解析(五):LLM模型推理

八 模型推理细节探索 8.1 回顾下step的流程 def step(self) -> List[Union[RequestOutput, EmbeddingRequestOutput]]:# 多GPU并行推理时走AsyncLLMEngine分支。如果进入当前LLMEngine,性能会下降&#xff0c;这里会抛出异常。if self.parallel_config.pipeline_parallel_s…...

数学建模笔记——熵权法(客观赋权法)

数学建模笔记——熵权法[客观赋权法] 熵权法(客观赋权法)1. 基本概念2. 基本步骤3. 典型例题3.1 正向化矩阵3.2 对正向化矩阵进行矩阵标准化3.3 计算概率矩阵P3.4 计算熵权3.5 计算得分 4. python代码实现 熵权法(客观赋权法) 1. 基本概念 熵权法,物理学名词,按照信息论基本原…...

XGBoost算法-确定树的结构

我们在求解上面的w和obj的过程中&#xff0c;都是假定我们的树结构是确定的&#xff0c;因为当我们改变树中划分条件的时候&#xff0c;每个叶子节点对应的样本有可能是不一样的&#xff0c;我们的G和H也是不一样的&#xff0c;得到的最优w和最优obj肯定也是不一样的。 到底哪一…...

concurrentHashMap线程安全实现的原理

1. Segment 数组 ConcurrentHashMap 内部维护一个 Segment 数组&#xff0c;每个 Segment 都是一个小型的 HashMap。Segment 继承自 ReentrantLock&#xff0c;因此每个 Segment 都是一个可重入锁。 2. 并发级别 ConcurrentHashMap 在构造时可以指定并发级别&#xff08;con…...

域名证书,泛域名证书,sni

文章目录 前言一、证书1.全域名证书2.泛域名证书 二、域名证书的使用1、浏览器请求域名证书流程对全域名证书的请求流程对泛域名证书的请求流程ssl client-hello携带server name 报文 2、浏览器对证书的验证流程 三、域名证书和sni 前言 本文介绍了泛域名证书和全域名证书的区别…...

Pytest夹具autouse参数使用。True表示会自动在测试中使用,而无需显式指定

1. 全局conftest文件日志记录功能 # 当前路径(使用 abspath 方法可通过dos窗口执行) current_path os.path.dirname(os.path.abspath(__file__)) # 上上级目录 ffather_path os.path.abspath(os.path.join(current_path,"../"))LOG_FILE_PATH f{ffather_path}/lo…...

Linux:归档及压缩

tar命令 • tar 集成备份工具 – -c&#xff1a;创建归档 – -x&#xff1a;释放归档 – -f&#xff1a;指定归档文件名称,必须在所有选项的最后 – -z、-j、-J&#xff1a;调用 .gz、.bz2、.xz 格式工具进行处理 – -t&#xff1a;显示归档中的文件清单 – -C&#xff1a;指定…...

jenkins 安装

jenkins安装 jenkins官网 中文网址 安装设置 所有jenkins版本 内存512M以上&#xff0c;10Gb磁盘&#xff1b;安装jdk&#xff0c;需要java8以上下载较新的版本&#xff0c;否则安装插件时可能报错版本过低 # 搜索java yum search java | grep -iE "jdk"# 安装jd…...

mysql学习教程,从入门到精通,MySQL 删除数据库教程(6)

1、MySQL 删除数据库 使用普通用户登陆 MySQL 服务器&#xff0c;你可能需要特定的权限来创建或者删除 MySQL 数据库&#xff0c;所以我们这边使用 root 用户登录&#xff0c;root 用户拥有最高权限。 在删除数据库过程中&#xff0c;务必要十分谨慎&#xff0c;因为在执行删除…...

C语言:刷题日志(2)

一.币值转换 输入一个整数&#xff08;位数不超过9位&#xff09;代表一个人民币值&#xff08;单位为元&#xff09;&#xff0c;请转换成财务要求的大写中文格式。如23108元&#xff0c;转换后变成“贰万叁仟壹百零捌”元。为了简化输出&#xff0c;用小写英文字母a-j顺序代…...

微带结环行器仿真分析+HFSS工程文件

微带结环行器仿真分析HFSS工程文件 工程下载&#xff1a;微带结环行器仿真分析HFSS工程文件 我使用HFSS版本的是HFSS 2024 R2 参考书籍《微波铁氧体器件HFSS设计原理》和视频微带结环行器HFSS仿真 1、环形器简介 环行器是一个有单向传输特性的三端口器件&#xff0c;它表明…...

怎么仿同款小程序的开发制作方法介绍

很多老板想要仿小程序系统&#xff0c;就是想要做个和别人界面功能类似的同款小程序系统&#xff0c;咨询瀚林问该怎么开发制作&#xff1f;本次瀚林就为大家介绍一下仿制同款小程序系统的方法。 1、确认功能需求 想要模仿同款小程序系统&#xff0c;那么首先需要找到自己想要…...

音视频入门基础:WAV专题(10)——FFmpeg源码中计算WAV音频文件每个packet的pts、dts的实现

一、引言 从文章《音视频入门基础&#xff1a;WAV专题&#xff08;6&#xff09;——通过FFprobe显示WAV音频文件每个数据包的信息》中我们可以知道&#xff0c;通过FFprobe命令可以打印WAV音频文件每个packet&#xff08;也称为数据包或多媒体包&#xff09;的信息&#xff0…...

突破不可导策略的训练难题:零阶优化与强化学习的深度嵌合

强化学习&#xff08;Reinforcement Learning, RL&#xff09;是工业领域智能控制的重要方法。它的基本原理是将最优控制问题建模为马尔可夫决策过程&#xff0c;然后使用强化学习的Actor-Critic机制&#xff08;中文译作“知行互动”机制&#xff09;&#xff0c;逐步迭代求解…...

Python:操作 Excel 折叠

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 Python 操作 Excel 系列 读取单元格数据按行写入设置行高和列宽自动调整行高和列宽水平…...

Cesium1.95中高性能加载1500个点

一、基本方式&#xff1a; 图标使用.png比.svg性能要好 <template><div id"cesiumContainer"></div><div class"toolbar"><button id"resetButton">重新生成点</button><span id"countDisplay&qu…...

【机器视觉】单目测距——运动结构恢复

ps&#xff1a;图是随便找的&#xff0c;为了凑个封面 前言 在前面对光流法进行进一步改进&#xff0c;希望将2D光流推广至3D场景流时&#xff0c;发现2D转3D过程中存在尺度歧义问题&#xff0c;需要补全摄像头拍摄图像中缺失的深度信息&#xff0c;否则解空间不收敛&#xf…...

Neo4j 集群管理:原理、技术与最佳实践深度解析

Neo4j 的集群技术是其企业级高可用性、可扩展性和容错能力的核心。通过深入分析官方文档,本文将系统阐述其集群管理的核心原理、关键技术、实用技巧和行业最佳实践。 Neo4j 的 Causal Clustering 架构提供了一个强大而灵活的基石,用于构建高可用、可扩展且一致的图数据库服务…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

React父子组件通信:Props怎么用?如何从父组件向子组件传递数据?

系列回顾&#xff1a; 在上一篇《React核心概念&#xff1a;State是什么&#xff1f;》中&#xff0c;我们学习了如何使用useState让一个组件拥有自己的内部数据&#xff08;State&#xff09;&#xff0c;并通过一个计数器案例&#xff0c;实现了组件的自我更新。这很棒&#…...

新版NANO下载烧录过程

一、序言 搭建 Jetson 系列产品烧录系统的环境需要在电脑主机上安装 Ubuntu 系统。此处使用 18.04 LTS。 二、环境搭建 1、安装库 $ sudo apt-get install qemu-user-static$ sudo apt-get install python 搭建环境的过程需要这个应用库来将某些 NVIDIA 软件组件安装到 Je…...

【Vue】scoped+组件通信+props校验

【scoped作用及原理】 【作用】 默认写在组件中style的样式会全局生效, 因此很容易造成多个组件之间的样式冲突问题 故而可以给组件加上scoped 属性&#xff0c; 令样式只作用于当前组件的标签 作用&#xff1a;防止不同vue组件样式污染 【原理】 给组件加上scoped 属性后…...

Linux系统:进程间通信-匿名与命名管道

本节重点 匿名管道的概念与原理匿名管道的创建命名管道的概念与原理命名管道的创建两者的差异与联系命名管道实现EchoServer 一、管道 管道&#xff08;Pipe&#xff09;是一种进程间通信&#xff08;IPC, Inter-Process Communication&#xff09;机制&#xff0c;用于在不…...