ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

没有网也能传文件?libcimbar 让我用屏幕和摄像头“拍“过去

没有网也能传文件?libcimbar 让我用屏幕和摄像头“拍“过去 没有网也能传文件libcimbar 让我用屏幕和摄像头拍过去【免费下载链接】libcimbarOptimized implementation for color-icon-matrix barcodes项目地址: https://gitcode.com/GitHub_Trending/li/libcimbar机房的门一关网络就断了。这是很多实验室、工厂、保密单位的日常两台电脑明明挨着文件却像隔着太平洋。U盘被禁用蓝牙识别不到设备云盘更是想都别想。那天我站在两台电脑中间手里一份 40MB 的日志文件急得直转圈。朋友发来一条消息说你试试 libcimbar彩色条形码屏幕放、摄像头收。我半信半疑地把项目编译完把文件丢上屏幕举起手机——不到一分钟文件真的到了。它是什么屏幕当信纸摄像头当眼睛libcimbar 是一个开源的彩色图标矩阵条形码项目。通俗地说它是在用光写信把文件切成很多帧彩色图案电脑屏幕负责念手机摄像头负责听整个过程不碰网络、蓝牙、NFC 里任何一样东西。最打动我的是它够快——实测能跑到每秒 106KB 上下日常的文档、截图几十秒就能拍完。原理说人话像用彩色格子写莫尔斯电码它的原理并不玄乎拆开看就三步。第一步把文件变成碎片。原始数据先被压缩默认用 zstd 压缩再切成一段段每段做成一张图。为了防丢还引入了一种叫喷泉码的编码——你可以把它想成一套拼图不需要按顺序收集只要集齐足够多的碎片就能还原整幅图中间丢几片、顺序打乱都不影响。它叫喷泉是因为数据像水花一样撒出来接满一杯就能喝。第二步把碎片画成格子。每张图是一块布满彩色小方格的矩阵每个格子的图案和颜色组合起来就代表一串二进制数字。四个角上有定位用的锚点图案作用类似二维码的三个角帮摄像头判断从哪开始看。第三步容忍模糊。手机拍屏幕多少会有点糊。项目引入了 Reed-Solomon 纠错码简单说就是给数据加冗余哪怕一小部分格子认错了也能把原始内容修正回来。这也是它比普通二维码更结实的原因。这些名词你不熟也没关系只要记住一句话它把文件变成一段会动的彩色图案拍得差不多就能解出来。第一次上手从编译到拍通我踩过的坑我的环境是 Ubuntu全程按项目 README 走。先装依赖这条命令是安装 OpenCV、GLFW 等图像处理库sudo apt install libopencv-dev libglfw3-dev libgles2-mesa-dev然后克隆仓库并编译。项目用 CMake 构建-j$(nproc)表示用满所有 CPU 核心来加速git clone https://gitcode.com/GitHub_Trending/li/libcimbar cd libcimbar cmake . make -j$(nproc) make install编译完的程序在./dist/bin/下。发送端很简单-i后面跟要传的文件屏幕会弹出一个不断变化的彩色窗口./dist/bin/cimbar_send -i report.pdf接收端用摄像头来解码-i后面是摄像头编号0 表示默认摄像头-o是文件保存目录./dist/bin/cimbar_recv -i 0 -o ./received这一步我卡得最久。第一次举着手机拍屏幕上刷过一行行[12%, 15%, ...]却迟迟到不了 100%。后来才摸清门道手机要固定住、正对屏幕距离 30~50 厘米屏幕亮度调高、周围光线要足。调整之后进度条稳定爬升直到[100%]接收目录里出现了完整的 PDF用编辑器打开一个字都没丢。如果你不想编译项目还提供了网页版浏览器打开web/index.html当发送端、web/recv.html当接收端手机浏览器访问同样可用是体验最快的方式。它适合谁隔离环境、临时共享还有好奇心如果你是做运维或测试的经常在断网环境里传配置、日志、固件这个工具几乎是为你们准备的。如果你只是偶尔想在两台设备间临时传个小文件又懒得找数据线它也比想象中省事。哪怕你单纯对用光传数据这件事好奇把它当成一个看得见的通信原理演示也很有意思。数字说人话速度、上限与新手避坑速度怎么理解每秒 106KB 听起来不大换成生活里的概念传一个 1MB 的文件大约 10 秒差不多是一首歌前奏的时间10MB 的 PDF 两分多钟。这是压缩之后的速度所以传文本、日志这类可压缩文件最划算。单次传输上限是压缩后 33MB更大的文件需要先分卷。新手常踩的坑基本就这几个手机没固定画面一抖就前功尽弃最好用支架。距离太近或太远对不上焦30~50cm 是比较稳的范围。光线不足或屏幕反光会让解码出错记得开灯、让图案占满画面。发送端和接收端的模式要一致两端都默认 B 模式别随意改动。文件超过 33MB 会失败先压缩或分卷再传。想深入一点项目里的 DETAILS.md 把编码、解码、纠错、喷泉码讲得很透PERFORMANCE.md 有各模式的实测数据核心逻辑在src/lib/cimb_translator/命令行工具在src/exe/下WASM.md 讲了网页版是怎么编译出来的。README 里还提到 cimbar-bigfile 这类社区工具可以突破 33MB 的限制。老实说第一次看到屏幕上那团花屏似的图案时我是怀疑的。但当我亲眼看着进度条走到 100%文件在接收目录里安静躺好那种感觉还挺奇妙——原来文件真的可以被看着传过去。下一次你也被困在没有网的房间里不妨也试试。【免费下载链接】libcimbarOptimized implementation for color-icon-matrix barcodes项目地址: https://gitcode.com/GitHub_Trending/li/libcimbar创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表