3分钟上手libcimbar:断网环境下,用屏幕和摄像头把文件“传过去“

发布时间:2026/10/9 12:20:45

3分钟上手libcimbar:断网环境下,用屏幕和摄像头把文件“传过去“ 3分钟上手libcimbar断网环境下用屏幕和摄像头把文件传过去【免费下载链接】libcimbarOptimized implementation for color-icon-matrix barcodes项目地址: https://gitcode.com/GitHub_Trending/li/libcimbar深夜十一点某保密机房的工程师老周盯着两台物理隔离的电脑发愁U盘被封禁、网络被拔线一份 8MB 的配置文件却必须在两套系统间流转。打印成二维码一张最多几 KB得打几百页纸。就在他准备用最原始的办法——对着屏幕一个字一个字抄——时同事发来一个项目libcimbar。这是一个基于彩色图标矩阵条形码Color Icon Matrix Barcodes的视觉传输库。它把文件编码成一组不断跳动的彩色方格动画发送端放动画接收端拿手机摄像头一扫最高能以106KB/s的速度把数据隔空传过去。全程不碰网络、蓝牙、NFC数据只走镜头这一条路。这不是科幻是已经跑起来的开源项目。它到底在屏幕上画了什么打个比方就懂了先忘掉那些专业术语。把 libcimbar 想象成一本会翻页的彩色密码书每一帧画面就是一页页面上是密密麻麻的彩色小方格官方叫 tile瓦片。每个格子选什么图案、涂什么颜色组合起来就代表 6 个比特4 位图案 2 位颜色。一整页塞下约 7500 字节的有效数据——相当于一页纸装下两页半《新华字典》的压缩包。解码端则是翻书人。它靠画面三个角上的锚点图案定位就是下图这种回字形方块类似二维码的回字定位符再做透视校正然后逐格识别图案和颜色把二进制流还原出来。这里有个反直觉的巧思cimbar 判断某个格子是什么图案靠的不是像素级比对而是图像哈希——把 8x8 的格子压成一个 64 位数字再与 16 个标准图案的哈希做距离比对取最接近的那个。即使画面模糊、轻微形变哈希距离依然稳定这就是它在手机镜头下依然能读准的底气。看就是这些标准图案在来回切换不过单页再能装也装不下整份 8MB 文件而且镜头难免漏拍几帧。于是 libcimbar 又叠了两层保险Reed-Solomon 纠错处理单帧内的坏格子喷泉码wirehair 实现处理帧与帧之间的关系——只要收到足够多的水滴帧哪怕顺序打乱、丢了几帧整条河文件都能完整复原。文件最多支持到压缩后 33MB先 zstd 压缩再编码文本类文件能再省一大截传输量。一台电脑 一部手机把第一条光缆架起来上手路径有两条我推荐先走命令行因为它把整个链路摊开给你看。源码在src/exe/下发送端cimbar_send、接收端cimbar_recv一眼就能找到。第一步把库编出来。依赖就三个系统包其余第三方库zstd、wirehair、libcorrect 等全部内嵌在src/third_party_lib/里clone 下来直接编git clone https://gitcode.com/GitHub_Trending/li/libcimbar cd libcimbar # Ubuntu/Debian 需先装三个依赖OpenCV、GLFW、OpenGL ES 头文件 sudo apt install libopencv-dev libglfw3-dev libgles2-mesa-dev cmake . make -j$(nproc) make install产物默认落在./dist/bin/cimbar_send和cimbar_recv都在这里。第二步发送端开播。把文件丢给它屏幕上会弹出一个满屏彩色格子的窗口像一堆有节奏跳动的雪花——那就是你的数据正在一帧帧地广播./cimbar_send -i report.pdf第三步接收端对准屏幕。手机或另一台电脑插上摄像头运行解码器把镜头对准那片跳动的格子保持 30–50cm 距离、正对不要斜./cimbar_recv -i 0 -o ./received_files看到终端里不断刷新的[23%, 57%, 100%]进度列表了吗那是每个文件的喷泉码接收进度。等它全部到 100%received_files目录里就是完好无损的原始文件。是不是比你想象的简单三个别人不知道的进阶玩法玩法一参数黄金组合肉眼可见地提速。默认 15fps 偏保守如果你的屏幕和摄像头都够劲试试这套组合——把-f提到 30、-e降到 16更少纠错字节意味着更多数据位-z 0关掉对已压缩媒体的二次压缩./cimbar_send -i photo.jpg -m B -f 30 -e 16 -z 0前提是发送端和接收端的-m模式必须一致默认 B 模式否则谁也认不出谁。玩法二零安装的 Web 发送端。不想编译项目把编码器编译成了 wasmweb/目录下就是完整的浏览器实现。用python3 package-cimbar-html.py -i your_file.txt -o send_page.html生成一个单文件 HTML任何现代浏览器打开即用连应用都不用装。接收端同样有纯浏览器的recv.html——两台没装任何软件的电脑也能互传这在机房应急时是救命招。玩法三打破 33MB 上限。官方喷泉码把单流文件封顶在 33MB但社区工具 cimbar-bigfile 通过把大文件切成多个 10–15MB 的并行encode_id流再配一份 SHA256 校验的manifest.json轻松支持 100MB 文件。大文件传输不再是禁区。我踩过的坑你绕着走屏幕亮度调满但环境光才是主角。官方性能文档里原话是screen brightness on the sender is good, but ambient light is better——只靠屏幕发光容易过曝开盏台灯、用白色背景帧捕获质量立竿见影。别贪 8 色模式。8 色8C 模式理论速度更快但官方自己都标注实验性、一直不稳定0.6.0 起已移除。老老实实用 B 模式8x8、4 色它是可靠性与速度的最佳平衡点。镜头歪一点ECC 就救不回来。斜着拍会导致画面一部分格子密集变形错误聚集在局部30/155 的纠错等级扛不住。宁可把手机放低一点正对屏幕也别图省事斜着架。提防反光和手抖。灯管反射会让整片格子失明手抖则让锚点定位飘移。支架一夹问题少一半。一张表看懂各模式真实速度模式格子规格颜色数实测速率状态B推荐8x84色~852 Kb/s106KB/s0.6.0 起默认4C旧版8x84色~838 Kb/s104KB/s兼容保留8C8色8x88色~943 Kb/s118KB/s已移除不稳定S试验5x54色稳定超 1 Mb/sWIP需特殊编译换算成体感1MB 文件约 10–15 秒10MB 约 1.5–2.5 分钟。作为参考单帧 barcode 是 1024x1024 像素每帧在纠错后还能扛住 7500 字节净数据这个密度在视觉传输里相当能打。参数速查对照表参数含义常见取值适用场景-m编码模式B / Bm / Bu / 4C默认 B求稳用 4C-f帧率15–30硬件好就 30-e每块纠错字节16–64光照差加大反之减小-zzstd 压缩级别0–15文本开高媒体开 0想看更深的实现细节编码器的喷泉码逻辑在src/lib/fountain/Reed-Solomon 纠错在src/lib/encoder/摄像头提取链路在src/lib/extractor/官方文档DETAILS.md和PERFORMANCE.md把每一条性能数据都交代得清清楚楚。这项目最迷人的地方在于它把传输这件事从网络协议里剥离出来退回到一束光、一个镜头这样最原始的物理介质。数据可以被隔离但从未停止流动——这就是 libcimbar 给出的答案。现在去把你的第一份文件发到屏幕对面吧整个过程不会超过 10 分钟。【免费下载链接】libcimbarOptimized implementation for color-icon-matrix barcodes项目地址: https://gitcode.com/GitHub_Trending/li/libcimbar创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
延伸阅读

更多相关文章

2026/10/7 13:21:55

AMD Ryzen 7 2700E低功耗处理器:从市场逻辑到实战调校全解析

1. 从一则“曝光”消息说起:低功耗处理器的市场逻辑 最近在翻看一些硬件资讯时,又看到了一个熟悉的名字带着新后缀出现:AMD Ryzen 7 2700E。对于很多普通消费者,甚至是一部分DIY玩家来说,这可能是个有点陌生的型号。毕…

2026/10/9 12:16:40

LangChain 从入门到实战(09):不再一问一答——真正的 Agent(ReAct 循环)

LangChain 从入门到实战(09):不再一问一答——真正的 Agent(ReAct 循环) 前 8 篇的链都是「单步」:你问一句,配好的 prompt 跑一遍就出答案。可真实任务往往是「拿到结果还要再决定下一步」——比如你先问天气、它发现要查坐标、查完再答。这一篇让模型进入循环:自己决…

2026/10/9 12:16:40

LangChain 从入门到实战(12):实战(下)——生产三件套(收官)

LangChain 从入门到实战(12):实战(下)——给助手装上「生产三件套」(收官) 第 11 篇搭好的知识助手能跑,但还缺「上线」那口气:同步等待阻塞、出错就静默崩、问题来了没法追查、更不知道一次调用烧了多少 token。这一篇为它装上异步、日志、错误兜底三件套,并附一个…

2026/10/9 12:16:40

LangChain 从入门到实战(11):实战(上)——搭一个能跑的知识助手

LangChain 从入门到实战(11):实战(上)——搭一个能跑的知识助理 前面 9 篇我们把记忆、工具、RAG、分支一个个装进了大脑。这一篇不教新概念,而是把它们装进一个能真正运行的工程:一个「文档知识助理」——你丢给它一份产品资料,它能回答你、能检索、还能记住多轮对话…

2026/10/9 12:16:40

万年历数据库设计:从1970到2100的日期查询与农历转换实战

简介:这是一份覆盖1970年1月1日至2100年12月31日的完整万年历MySQL数据库资源,面向需要日期维度数据的开发者、数据分析人员及后端工程师,可用于日历查询、节假日统计、报表按日聚合等场景,省去自行推算农历与公历对应关系的繁琐工…

2026/10/9 12:16:40

无线AP与AC控制器部署指南:常见问题与避坑经验

1. 无线AP与AC控制器到底在解决什么问题很多人第一次接触企业级无线网络,脑子里冒出来的画面就是“家里那台路由器换个天线”。但真到了办公室、酒店、学校或者仓库这种场景,一台路由器根本扛不住——人一多就卡,走两步就断,隔一堵…

2026/10/9 12:11:40

300页精读学习【2/3】——企业数字化绿色化协同转型发展典型案例汇编

该汇编适用于企业管理层、数字化 / 绿色化转型负责人、政策制定者、行业咨询从业者及科研人员。其重要性体现在:聚焦多行业数字化绿色化协同转型痛点,汇集百度、京东、伊利等龙头企业实践案例,覆盖制造、能源、农业等多领域。整合 AI、物联网等数字技术与节能降碳、循环利用…

2026/10/8 10:03:18

Jev+Agent接管浏览器:browser-use实战与jev-ultrafast性能优化

1. 从“Jev”说起:为什么我要把Agent接进浏览器“Jev”这个词最近在圈子里出现的频率越来越高,很多人第一次听到会以为是某个新模型的名字,其实它更像是一种思路——把Jev模型的能力当作底座,通过Agent的方式去接管浏览器&#xf…

2026/10/8 10:03:20

多智能体集群实战:DeepAgents编排、MCP与A2A协议及Skills体系

1. 从"单兵作战"到"集群协同":多智能体编排到底在解决什么问题如果你最近在折腾 Agent 相关的东西,大概率会有一种感觉:单个 Agent 能做的事情,其实很快就摸到天花板了。你给它一个提示词,挂几个工…

2026/10/8 6:05:44

无源低通滤波器设计实战:从RC到LC,手把手教你避开那些坑

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/9 0:04:27

毕业论文初稿完成后首次进行AIGC疑似度自查的摸底与分流策略

毕业论文初稿完成后首次进行AIGC疑似度自查的摸底与分流策略当数万字的学位论文初稿经历开题、实验、问卷与多轮文献梳理最终成形时,绝大多数研究生都会面临一道全新的形式审查关卡:AIGC 疑似度排查。在高校毕业审核流程中,盲审前的文本检测通…

2026/10/9 0:04:27

食堂节能改造源头工厂,商用厨房设备焕新方案广受好评

商用厨房作为餐饮经营、单位供餐的核心后勤阵地,其设备配置、动线规划与运维体系直接决定后厨作业效率、运营成本与合规性。从基础的灶具、制冷存储设备,到油烟净化、水处理等配套系统,每一个环节的合理性都与食品安全、能耗管控、消防安全挂…

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑