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小时前,















































































