webRtc之本地预览摄像头设备绿屏问题

摘要:最近发现,在使用navigator.mediaDevices.getUserMedia({ deviceId: 'xxx'}),指定设备的时候,video播放总是绿屏,发现关闭浏览器硬件加速不会出现,但显然这不是一个最好的方案;
备注: 部分win电脑会出现, 不一定能解决所有问题;因为有的用户电脑是显卡不兼容导致的; 硬件兼容性问题可参考以下两篇文章 浏览器绿屏全局关闭硬件加速 浏览器绿屏仅关闭关video硬件加速

播放后张这样
修复后
上代码

指定采集宽度高度后就不会出现这个绿屏问题

typescript 复制代码
// js
navigator.mediaDevices.getUserMedia({
	video: {
		deviceId: devId,
		// 指定采集尺寸
		width: { ideal: 1280 },
		height: { ideal: 720 },
	}
}).then((stream) => {
     const elm: HTMLVideoElement | any = document.getElementById('devDetectionVideoRef');
     if (elm) {
         elm.srcObject = stream;
     }
}).catch((error) => {
})
// html
<video id="devDetectionVideoRef" className={style.video_element}
	autoPlay
	playsInline
	webkit-playsinline='true'
></video>
// <img src="css" alt="" width="70%" />
.video_element{
	width: 640px;
	height: 480px;
	background-color: #233149;
}
相关推荐
excel20 小时前
HLS TS 文件损坏的元凶:Git 提交与拉取
前端
Aphasia31121 小时前
https连接传输流程
前端·面试
徐小夕21 小时前
万字长文!千万级文档 RAG 知识库系统落地实践
前端·算法·github
threelab21 小时前
Three.js 物理模拟着色器 | 三维可视化 / AI 提示词
开发语言·前端·javascript·人工智能·3d·着色器
kyriewen21 小时前
CSS Container Queries:彻底告别 @media 写到手软,附 5 个真实布局案例
前端·css·面试
小小小小宇1 天前
OpenMemory MCP
前端
和平宇宙1 天前
AI笔记005. hermes-DeepSeek V4 Pro, 128K上下文引发的探索
前端·人工智能·笔记
IT_陈寒1 天前
Redis持久化这个坑,我爬了一整天才出来
前端·人工智能·后端
naildingding1 天前
3-ts接口 Interface
前端·typescript
小小前端仔LC1 天前
Node.js + LangChain + React:搭建个人知识库(六)- “吃什么”项目实战:从700+菜谱入库到Taro H5端JSON渲染
前端·后端