通过计算机显示器和智能手机摄像头进行数据传输

简介: 【10月更文挑战第7天】

3.2k star,最近超火一个开源神器

libcimbar: 高效的彩色图标矩阵条码实现

软件简介

libcimbar 是一个高效的彩色图标矩阵条码(Color Icon Matrix Barcode)实现,旨在通过计算机显示器和智能手机摄像头进行数据传输。

该项目由 sz3 开发,提供了一种无需互联网、蓝牙或 NFC 等传统通信方式的全新数据传输方法。

libcimbar 通过将数据编码为彩色图标矩阵条码,并利用摄像头进行解码,实现了高达 850 kbps(约 106 KB/s)的传输速度。

image.png

功能特点

  1. 高密度数据编码:libcimbar 使用彩色图标矩阵条码格式,将数据存储在彩色瓷砖网格中。每个瓷砖的位置和颜色编码了数据位,结合 Reed Solomon 纠错码,确保数据传输的可靠性。

  2. 高效数据压缩:libcimbar 采用了基于喷泉码(fountain codes)和 zstd 压缩的文件编码协议。压缩后的文件可以通过一系列 cimbar 码输出为图像或实时视频流。

  3. 跨平台支持:libcimbar 的代码主要用 C++ 编写,并在 amd64+linux、arm64+android(仅解码器)和 emscripten+WASM(仅编码器)上开发和测试。由于编码器可以编译为 asmjs 和 wasm,因此可以在任何现代 Web 浏览器上运行。

  4. 离线使用:用户可以将 cimbar.org 安装为渐进式 Web 应用(PWA),或下载最新版本的 cimbar_js.html 并在本地浏览器中打开。

  5. 简单依赖管理:libcimbar 依赖于 OpenCV 和 GLFW(包括 OpenGL ES 头文件),其他所有依赖项都包含在源代码树中。

如何快速开始

  1. 环境准备

    • 安装 OpenCV 和 GLFW:
      sudo apt-get install libopencv-dev libglfw3-dev libgles2-mesa-dev
      
  2. 克隆仓库

    git clone https://github.com/sz3/libcimbar.git
    cd libcimbar
    
  3. 构建项目

    • 使用 CMake 构建:
      mkdir build
      cd build
      cmake ..
      make
      
  4. 运行编码器

    • 编码器可以将文件编码为 cimbar 码并输出为图像或视频流:
      ./cimbar_encoder input_file output_directory
      
  5. 运行解码器

    • 解码器使用摄像头读取 cimbar 码并重建文件:
      ./cimbar_decoder output_directory
      
  6. Web 版本

    • 访问 cimbar.org 使用 Web 编码器。
    • 下载 cimbar_js.html 并在本地浏览器中打开以离线使用。

结论

libcimbar 提供了一种创新的、无需传统通信方式的数据传输方法。其高效的编码和解码机制、跨平台支持以及简单的依赖管理,使其成为数据传输领域的一个有力工具。

无论是开发者还是普通用户,都可以通过简单的步骤快速上手,体验这一高效的数据传输方式。

希望这篇介绍能帮助您更直观地了解 libcimbar,并激发您对这一创新技术的兴趣!

libcimbar GitHub 仓库(https://github.com/sz3/libcimbar)

相关文章
|
2月前
|
Java 数据安全/隐私保护 计算机视觉
手机虚拟视频替换摄像头,QQ微信虚拟视频插件,jar代码分享
这段代码演示了如何使用JavaCV捕获视频流、处理帧数据并输出到虚拟摄像头设备。它需要JavaCV和OpenCV库支持
|
2月前
|
Android开发 数据安全/隐私保护
手机微信虚拟视频聊天,安卓免root虚拟摄像头,免root虚拟hook相机
以上代码实现了一个完整的免root虚拟摄像头方案,通过Hook系统摄像头服务和微信视频通话接口
|
3月前
|
编解码 Android开发 云计算
云手机调用本机摄像头插件,可扫码二维码通过工具,仅供学习参考使用
本文分享一种基于VirtualCamera的云手机摄像头穿透方案,解决传统视频流重定向延迟高、兼容性差的问题。核心实现包括虚拟设备驱动层创建
|
2月前
|
API Android开发 数据安全/隐私保护
|
2月前
|
API 开发工具 Android开发
qq虚拟视频插件下载安装手机版, 安卓虚拟视频插件,替换摄像头工具
Xposed入口模块:拦截目标应用的相机调用‌23 Camera1 API处理:通过PreviewCallback替换视频流‌1 Camera2 API适
|
8月前
|
人工智能 算法 前端开发
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
OmAgent 是 Om AI 与浙江大学联合开源的多模态语言代理框架,支持多设备连接、高效模型集成,助力开发者快速构建复杂的多模态代理应用。
669 72
OmAgent:轻松构建在终端设备上运行的 AI 应用,赋能手机、穿戴设备、摄像头等多种设备
|
算法 数据安全/隐私保护 计算机视觉
基于Aidlux平台实现手机摄像头实时Canny检测
基于Aidlux平台实现手机摄像头实时Canny检测
|
Android开发 iOS开发
【资源共享】手机共享摄像头给电脑用
【资源共享】手机共享摄像头给电脑用
614 0
|
安全 算法 Unix
网络安全第8章课后题 计算机及手机病毒防范
网络安全第8章课后题 计算机及手机病毒防范
491 0
|
传感器 机器学习/深度学习 编解码
为什么你的手机后置摄像头越来越丑?ECCV2022这篇论文告诉你
为什么你的手机后置摄像头越来越丑?ECCV2022这篇论文告诉你
401 0

热门文章

最新文章