个人项目No. 38
旧手机变网络摄像头: mydroidcam
想让旧手机有点用处, 把它当摄像头: 一周做出一个 Flutter 应用, 手机端 HTTP 服务输出 MJPEG 视频流, WebSocket 远程控制相机.
终端与通用软件
视频流四环节1 段
手机逐像素转码编 JPEG, multipart 推流; 电脑两种拼帧; 编码慢于 33 ms 时延迟越积越多
演示滚到这里时加载
这一段证明: 按长度拼帧不怕缩略图; 只留最新帧延迟不涨
Flutter 写的手机应用, 31 个提交. 相机这一侧能调分辨率 变焦 曝光 闪光灯, 能切自动与手动对焦, 也能切换镜头.
试过把推流放到单独的 isolate 里, 流出来了, 但访问视频地址时报 505; 隔天退回单线程的写法, 把相机管理收成一个对象, 推流和远程控制都经过它.
电脑上用一个 Python 脚本取流显示.
个人项目; 开发中用 GPT 与 Claude 对话生成代码, 需求由本人一步步拆给它们, 包的用法由本人查好资料贴给它们.
追问
追问 · 第 2 层为什么用 MJPEG?
仿的是 DroidCam; 当时的选型表写 MJPEG 方便网络传输.