返回首页
最新
在构建了几个 Tauri 桌面应用后,我不断遇到同样的问题:在 Windows、macOS 和 Linux 上没有可靠的方法来访问摄像头。每个项目都意味着要重新实现摄像头集成,处理平台特定的 API,以及调试权限问题。
因此,我开发了 CrabCamera——一个为您处理所有摄像头复杂性的 Tauri 插件。
它的功能包括:
- 一个 API,三个平台:相同的 Rust 代码可以在 Windows(DirectShow)、macOS(AVFoundation)和 Linux(V4L2)上运行
- 权限处理:在每个平台上自动请求摄像头权限
- 格式转换:处理平台格式与您的应用需求之间的复杂转换
- 错误处理:使用适当的 Rust 错误类型,而不是神秘的崩溃
- 热插拔:检测摄像头的连接和断开
它解决的问题:
在 CrabCamera 之前,为 Tauri 应用添加摄像头支持意味着:
1. 为每个平台编写独立的原生代码
2. 管理三种不同的权限系统
3. 手动处理格式转换
4. 调试平台特定的边缘情况
5. 随着操作系统 API 的变化维护所有内容
现在只需:
```rust
use crabcamera::Camera;
let camera = Camera::new()?;
let frame = camera.capture_frame().await?;
```
我为什么要开发它:
我正在开发一个植物监测应用(botanica),需要可靠的摄像头访问以进行延时摄影。现有的解决方案要么被遗弃,要么特定于某个平台,或者需要复杂的原生绑定。
Tauri 生态系统正在快速发展,但摄像头支持是一个明显的空白。每个桌面应用最终都需要摄像头访问——视频通话、文档扫描、增强现实功能、安全监控。
技术亮点:
- 使用 nokhwa 进行繁重的工作,但将其封装在 Tauri 友好的 API 中
- 全面支持异步/等待
- 高效的内存流媒体视频捕获
- 内置图像处理管道
- 可扩展的插件架构
接下来的计划:
- WebRTC 集成用于视频通话
- 内置条形码/二维码扫描
- 人脸检测钩子
- 针对 4K 流的性能优化
该 crate 采用 MIT 许可证,并可在 crates.io 上获取。我非常希望能收到其他在摄像头集成方面有经验的 Tauri 开发者的反馈。
链接:
- Crates.io: https://crates.io/crates/crabcamera
- GitHub: https://github.com/Michael-A-Kuykendall/crabcamera
- 文档: https://docs.rs/crabcamera
大家好,我的技术栈是 .NET,团队领导让我在项目中实现结构化日志记录,并且了解面向切面编程。我们应该能够对日志进行查询。你们能推荐一些课程和资源,或者提供一份学习路线图吗?
构建原生应用程序既慢又困难,但尽管面临挑战,我真的很享受使用Swift进行开发的过程。我注意到其他项目使用Electron快速上线并获得了关注——即使它们在做类似的想法。这让我思考:在大多数用户似乎并不关心底层技术的情况下,坚守原生开发是否是一种错误?
大家好,
我是Sumit,我正在构建nocodo.com - [https://github.com/brainless/nocodo](https://github.com/brainless/nocodo)。这是一个相当雄心勃勃的项目,我觉得我可以从HN的朋友们那里获得一些必要的支持。下面是nocodo正在发展成的样子:
- 使用您自己的Linux机器或云服务器(开发机器)来管理应用程序构建的完整生命周期,使用Git、GitHub、云服务提供商、CI等。
- 您将获得代码变更(Git)、问题/任务(最初为GitHub)、CI(最初为GitHub Actions)的集成视图。
- 如果您生成二进制文件,可以直接访问测试部署到您的计算机或服务器 - DNS、数据库由您管理。
- 团队协作将在任务/项目级别变得可能。
- `manager`守护进程托管API,以便从Web/移动接口连接到开发机器上的项目。
- `manager`可以运行任意数量的Claude Code、Gemini CLI、Qwen Code、Continue dev等 - 您自己的API密钥/专业计划。
- `manager-web`应用程序将连接到`manager`,允许向任何项目发送提示,查看状态等。
- `manager`将与GitHub、GitLab、CI平台、Cloudflare和云服务提供商进行API集成。
- `manager`将检查CI,管理测试和生产部署的DNS。
- `manager`基于我自己的一组上下文提示构建,以便在您的项目上工作(氛围编码):http://nododo.com/playbook
- `manager-mobile`应用程序将很快推出,提供与manager-web相同的功能。
- `launcher`应用程序将很快推出,管理在Scaleway、Digital Ocean等上的开发者服务器,使用您的API密钥、SSH密钥等。
用户界面将变得类似于您从Bolt、Replit、Lovable等平台所期待的样子。最初,nocodo将仅支持新项目,后端使用Rust + Actix Web,前端使用Typescript + Solid JS + Tailwind。数据库使用SQLite,配合LiteStream + S3备份。CI管道将为您添加 - 所有由编码代理生成。目标是使非工程团队能够构建全栈应用程序。
如果您访问 [https://github.com/brainless/nocodo/releases](https://github.com/brainless/nocodo/releases),您可以看到我自己在使用这个项目。我通过SSH连接到我的开发机器(这将很快通过manager实现),我与Claude Code对话,Claude编辑代码,使用基于GitHub的工作流程,测试本地二进制文件并继续构建。
nocodo将是自托管的,不会有供应商锁定,支持多个编码代理、云服务提供商等。如果您启用,将通过nocodo.com进行身份验证,并且将是一个小额订阅(大约每年60美元,适用于5人团队)。
我是一个独立创始人,过去两年一直在追逐这个项目。nocodo.com自2013年以来一直伴随我。我觉得有必要分享这个项目,因为它正在成型,同时我也面临资金短缺。我在业余时间进行咨询以维持生计,所以如果您喜欢我的工作并有任何合作机会,请通过我所在的任何网络联系我。
非常感谢,
Sumit