回到主页
个人项目No. 38

旧手机变网络摄像头: mydroidcam

想让旧手机有点用处, 把它当摄像头: 一周做出一个 Flutter 应用, 手机端 HTTP 服务输出 MJPEG 视频流, WebSocket 远程控制相机.

终端与通用软件

视频流四环节1 段

手机逐像素转码编 JPEG, multipart 推流; 电脑两种拼帧; 编码慢于 33 ms 时延迟越积越多

演示滚到这里时加载

这一段证明: 按长度拼帧不怕缩略图; 只留最新帧延迟不涨

Flutter 写的手机应用, 31 个提交. 相机这一侧能调分辨率 变焦 曝光 闪光灯, 能切自动与手动对焦, 也能切换镜头.

试过把推流放到单独的 isolate 里, 流出来了, 但访问视频地址时报 505; 隔天退回单线程的写法, 把相机管理收成一个对象, 推流和远程控制都经过它.

电脑上用一个 Python 脚本取流显示.

个人项目; 开发中用 GPT 与 Claude 对话生成代码, 需求由本人一步步拆给它们, 包的用法由本人查好资料贴给它们.

追问

追问 · 第 2 层为什么用 MJPEG?

仿的是 DroidCam; 当时的选型表写 MJPEG 方便网络传输.

联系我