夜雨聆风学习资料网

ARTICLE · 1288525

技术实战|把安卓手机变身Windows虚拟摄像

技术实战|把安卓手机变身Windows虚拟摄像

技术实战|把安卓手机变身Windows虚拟摄像

我做了个工具,把安卓旧手机变成 Windows 虚拟摄像头和麦克风。微信、腾讯会议、Zoom 都能直接认出来。

链路其实挺直白:手机采集画面声音,硬编码后过 USB 传给电脑;PC 解码完塞进共享内存,上层软件以为插了真外设。720P30 下 PC 占用很低,USB 断了还能自动重连。

但真做起来才发现,编解码只占一小块,坑全在兼容和同步上:

DirectShow 接口太严:手写 COM 组件,虚表或引用计数错一处,微信、浏览器就崩溃,还经常拿不到调用栈。
格式偏好不同:只给 NV12,微信就黑屏。后来把 YUY2 放第一位,再备好多种格式,并统一缩放到 720P。
画面撕裂与音频爆音:共享内存用 seqlock 机制,写时序列号置奇数,写完置偶数,读两次一致才输出;音频指针用 CAS 原子指令操作。
断线不能让设备消失:USB 一掉,共享内存和音频渲染器保持常驻,只重置解码器,后台每秒重试,软件几乎无感知。
安卓锁屏杀后台:光有相机和录音权限不够,得配齐前台服务和各项通知权限,采集逻辑全放进 Service 里跑。

目前这东西还得开 ADB 调试模式,分辨率也写死了 720P。源码已经开源,想折腾音视频虚拟设备的可以看看。

更多细节,请查看原文。

源码:https://github.com/suihanlansnow/virtualCamUseAndroid

原文技术实战|把安卓手机变身Windows虚拟摄像头,踩过的那些坑
上海,1小时前,

回首页,搜索你想要的文档

在首页搜索框输入关键词,快速定位资料

文库首页搜索指引 立即搜索

相关学习资料