如何不用网络把文件从电脑传到手机:libcimbar 完整快速上手指南
2026/8/24 11:24:13 网站建设 项目流程

如何不用网络把文件从电脑传到手机:libcimbar 完整快速上手指南

【免费下载链接】libcimbarOptimized implementation for color-icon-matrix barcodes项目地址: https://gitcode.com/GitHub_Trending/li/libcimbar

安全环境里的机器不能联网,PDF 怎么发到手机上?libcimbar 把屏幕变成一块"动态二维码",让手机摄像头一路拍过去就能接收文件。实测 850 千比特/秒(约 106 KB/s),几兆的文件一分钟不到就送完了——不用插线、不用网、不用蓝牙。

痛点:机器"被锁"之后,文件传输卡在哪

真实场景里,接收端经常是完全断网的:政务内网工位、医院系统、工控机房。U 盘一插安全告警,蓝牙被禁用,NFC 也没有。你想把自己的一份十几兆文档挪到手机上,传统通道全被掐断。

靠"打印普通二维码再拍照"也不现实:常规二维码有效载荷只有几 KB,错误一多就得重扫,十几 MB 的文件得拍几千张。所以真正需要的是一种高密度、抗干扰、还能持续播放的"大容量条码"。

原理拆解:一格彩色方块凭什么装下整个文件

每个小方格存 6 位数据,一帧净收 7500 字节

cimbar 码块是 1024×1024 像素的网格,小图块 8×8 像素。每个图块有两层信息:从 16 种图案里选一种,编码 4 位;再配上 4 种颜色之一,多编码 2 位。

打个比方,它像一套彩色数独——每个格子的"字母"同时由形状和颜色决定。这样一帧扣掉纠错开销后能装7500 字节有效数据,理论上限约 9300 字节。

Reed-Solomon 纠错:糊了几个字也能推出来

摄像头拍屏幕必然有模糊、噪点和轻微错位,出错是常态。编码端因此给每 125 字节真数据配 30 字节"保险"(Reed-Solomon 码,即 ecc=30/155 配置)。

类比:一份电报糊掉了几个字,只要冗余在,就能把原文推回来 ✅ 官方给出的预期纠错率低于 1%,而且实测中这些零星错误都能被吸收。

喷泉码:页面乱序到,也能把书拼回来

一帧 7500 字节不够装大文件,libcimbar 用喷泉码(wirehair)把文件切成海量独立数据包。这类码的妙处在于:收到顺序可以任意,只要比需要的多收一包,就能重建整个文件——哪怕中间丢帧、坏帧都不影响。

就像一本标了编号的书:不用按 1、2、3 顺序集齐,拿到任意足够多的页就能复原。这也解释了为什么屏幕上播放的是不断变化的动画——每一帧都是一张"独立随机页"。单文件上限(压缩后)约33.5 MB

实测数据:能跑多快,能装多大 ⚡

官方基准用一台骁龙 625 中端老手机(4 线程)接收,瓶颈在摄像头而不是 CPU:

  • B 模式(当前默认):4,689,084 字节(压缩后)44 秒传完,约852 千比特/秒,折合106 KB/s
  • 旧 4C 模式:4,717,525 字节要 45 秒,约 838 千比特/秒
  • 单帧净数据7500 字节,理论上限约 9300 字节
  • 单文件上限(压缩后)33.5 MB
  • 环境光线好、屏幕用白色背景、摄像头正对屏幕,稳定性明显更高

换句话说:一块普通电脑显示器 + 一部普通手机,44 秒送出 4.7 MB。

上手路径:三步传出你的第一个文件 📱

不用写代码。编码器被编译成 WASM,任何现代浏览器都能跑:

  1. 在电脑浏览器里打开官方网页版编码器,选好文件,屏幕开始播放动画码
  2. 手机装 Android 端解码应用 cfc,用摄像头对准屏幕
  3. 等进度走完,文件自动重组、解压、落盘

喜欢命令行也行,克隆源码后只需一条命令:

./cimbar_send inputfile.pdf

它把文件编码并在窗口里播放,手机对着拍就行。

进阶:想深挖的话,源码从这里入手

  • 编码核心在src/lib/encoder/,Reed-Solomon 与喷泉码协议都在这里
  • 符号编解码(16 个图块字典的识别与生成)在src/lib/cimb_translator/
  • 图像找角、透视校正在src/lib/extractor/,相当于 QR 识别里的"扫描"环节

编码器还能以 WASM 形式嵌进任何网页,离线用也行。路线图里还有个 5×5 的 S 模式在开发,目标是突破 1 Mbit/s。

收尾

气隙传输的本质不是发明新通道,而是把"屏幕 + 摄像头"这条旧通道挤到 100 KB/s 的持续带宽 📡。如果你的两台设备"不许说话",这个方案值得先试一把。

【免费下载链接】libcimbarOptimized implementation for color-icon-matrix barcodes项目地址: https://gitcode.com/GitHub_Trending/li/libcimbar

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询