高颜值高性能的开源免费自托管照片和视频备份方案:Immich

news2024/11/25 18:55:26

Immich:安全存储您的珍贵记忆,高颜值且高性能的自托管照片与视频备份解决方案,让您随时随地无忧回顾美好时光。- 精选真开源,释放新价值

概览

在数字化时代,我们的照片和视频越来越多,如何安全、有效地备份这些珍贵的回忆成为了我们面临的重要问题。Immich以其强大的功能和灵活的扩展性,成为了许多人的选择。

Immich 是一个直接从 iPhone、Android 手机上备份照片与视频的开源解决方案,通过部署在自己的电脑、NAS、服务器中,使用 App 进行备份。界面酷似 Google Photos,支持多用户、照片和相册分享、好友上传、地理位置、机器学习识别事件等功能。

Immich的优势在于:

  • 自动备份:当你打开Immich应用程序时,它会自动备份你的照片和视频,无需手动操作,省时省力。

  • 多平台支持:Immich支持多种操作系统,如Ubuntu、Debian、macOS等,让你在不同平台上都能享受到同样的服务。

  • 多用户支持:Immich支持多用户同时使用,让家庭成员都能方便地共享和管理照片。

  • 共享相册:你可以创建共享相册,邀请亲朋好友一起欣赏和分享你的照片和视频。

  • 元数据视图:Immich提供EXIF、地图等元数据视图,让你更深入地了解每张照片的详细信息。

Immich的强大功能得益于其优秀的技术栈:

  • NestJs:作为Immich的后端框架,NestJs提供了稳定、高效的服务端支持,确保应用程序的稳定运行。

  • SvelteKit:作为Immich的Web前端框架,SvelteKit以其轻量级和高效性为应用程序提供了流畅的用户体验。

  • PostgreSQL:作为Immich的主数据库,PostgreSQL以其强大的功能和稳定性,确保了应用程序的数据安全。

  • Redis:Redis在Immich中被用作docker实例和后台任务消息队列之间的共享websocket实例,提供了高效的缓存和消息处理功能。

  • Nginx:Nginx在Immich中担任负载均衡和优化文件上传的角色,确保了应用程序的稳定性和性能。

  • TensorFlow:TensorFlow在Immich中用于对象检测和图像分类,提供了强大的图像处理能力。

Immich 采用传统的客户端-服务器设计,并配有专用数据库用于数据持久化。 前端客户端使用 REST API 通过 HTTP 与后端服务进行通信。 下面是架构图:

功能特性

移动端

网页端

上传并查看照片和视频

软件运行时自动备份

N/A

忽略重复的项目

选择需要备份的相册

N/A

下载照片和视频到本地

多用户支持

相册与共享相册

可拖动的快速滚动条

支持RAW格式

元数据视图(EXIF、地图)

通过元数据、对象、人脸和标签进行搜索

管理功能(用户管理)

后台备份

N/A

虚拟滚动

OAuth 支持

API Keys

N/A

实况照片备份和查看

支持360度全景图显示

用户自定义存储结构

公共分享

归档与收藏功能

足迹地图

好友分享

人脸识别与分组

回忆(那年今日)

离线支持

只读相册

照片堆叠

截至发稿概况如下:

  • 软件地址:GitHub - immich-app/immich: High performance self-hosted photo and video management solution.

  • 软件协议:AGPL 3.0

  • 编程语言:

语言

占比

TypeScript

43.6%

Dart

32.5%

Svelte

18.9%

Python

2.1%

Swift

0.7%

Kotlin

0.6%

Other

1.6%

  • 收藏数量:29.6K


主要功能

你可以在线体验:https://demo.immich.app

你可以在 https://immich.app 找到官方文档(包含安装手册)

  • 多平台支持

Immich 提供了移动端和Web端的版本,你可以随时随地访问相关的媒体内容。且所有照片和视频都可以做到多端同步。

  • 自动备份、选择目录备份

不用再担心数据丢失。Immich 可以在打开程序时自动备份照片和视频,还支持后台自动备份,确保每一张珍贵的照片和视频都得到保护。同时,你还可以自由选择备份哪些相册,而不必备份所有内容。这种个性化的备份策略更灵活且占用资源更少。

  • 人脸识别和聚合

Immich 采用了机器学习技术,它可以自动识别照片中的人脸,并将它们与特定的个体相关联。在识别完成后,Immich 会自动将相同人脸的照片分组在一起。这样可以帮助你快速浏览某个人的所有照片,而不必手动搜索。同时 Immich 也会根据照片的地理信息,将同一个地点的照片进行分组。这两种方式都能使用户更轻松地组织和浏览照片。

  • 全局地图展示

Immich 能根据照片的地理信息,在地图上绘制出你所有照片的轨迹,你可以查看到所有照片在地图上的位置,且某处有哪些照片。当你点击地图上的数量图标后,即可进入相对应地区拍摄的照片。

  • UI预览


遐想

Immich是一个高颜值高性能的自托管照片和视频备份方案,功能也比较完善,支持通过 APP 从 iOS 、Android 设备备份照片与视频至服务器中,还支持多用户、相册、共享相册、自动备份、后台备份、 OAuth 等功能。

大家如果发现它别的特点功能可以在评论区踊跃讨论!或者还有什么类似的程序大家也可以评论分享一下!


声明:本文为辣码甄源原创,转载请标注"辣码甄源原创首发"并附带原文链接。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1582822.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

DSP笔记12-PWM基础知识及EPWM

PWM pulse width modulation 脉冲宽度调制,宽度可调节的方波脉冲,驱动开关器件, 参数: 1.频率f 1kHz,2kHz开关损耗 2.周期T 3.幅值,高低电平之间电压 gpio输出3.3V,转换成5V高电平输出 4.占…

Vue项目中,使用高级表格vxe-table中的【vxe-grid】动态列之动态插槽

1、首先项目当中得安装了vxe-table // 没有安装的话,可以使用一下命令安装 npm install vxe-table 或 yarn add vxe-table使用示例: import Vue from vue import VXETable from vxe-table import vxe-table/lib/style.cssVue.use(VXETable)2、动态列中动…

苍穹外卖---文件上传-阿里OSS

一:开通阿里云对象存储服务oss,创建bucket,获得密钥 二:在程序中集成上传文件功能 1.连接阿里云OSS对象存储服务器 声明一个配置属性的文件用于传入连接的参数 package com.sky.properties;import lombok.Data; import org.springframewo…

电感在 DC/DC 变换器中的作用及选型指南

消费类应用是现代 DC/DC 变换器需求的主要驱动力。在这类应用中,功率电感主要被用于电池供电设备、嵌入式计算,以及高功率、高频率的 DC/DC 变换器。了解电感的电气特性对于设计紧凑型、经济型、高效率、并具备出色散热性能的系统至关重要。 电感是一种…

AI 对话完善【人工智能】

AI 对话【人工智能】 前言版权开源推荐AI 对话v0版本:基础v1版本:对话数据表tag.jsTagController v2版本:回复中textarea.jsChatController v3版本:流式输出chatLast.jsChatController v4版本:多轮对话QianfanUtilChat…

【分析 GClog 的吞吐量和停顿时间、heapdump 内存泄漏分析】

文章目录 🔊博主介绍🥤本文内容GClog分析以优化吞吐量和停顿时间步骤1: 收集GClog步骤2: 分析GClog步骤3: 优化建议步骤4: 实施优化 Heapdump内存泄漏分析步骤1: 获取Heapdump步骤2: 分析Heapdump步骤3: 定位泄漏对象步骤4: 分析泄漏原因步骤5: 修复泄漏…

linux服务使用./xxx.sh执行脚本命令

设置脚本文件为全权限 chmod 777 xxx.sh直接使用./xxxx.sh即可

go语言学习--4.方法和接口

目录 1.方法 2.接口 2.1结构体类型 2.2具体类型向接口类型赋值 2.3获取接口类型数据的具体类型信息 3.channel 3.1阻塞式读写channel操作 2.3非阻塞式读写channel操作 4.map 4.1插入数据 4.2删除数据 4.3查找数据 4.4扩容 1.方法 方法一般是面向对象编程(OOP)的一…

2万亿训练数据!Stable LM 2-12B加入开源队列

公*众*号:AI疯人院 4月9日,知名大型模型开源平台Stability.ai在其官网上发布了全新的类ChatGPT模型——Stable LM 2 12B。 据了解,Stable LM 2 12B模型拥有120亿个参数,其训练数据涵盖了英语、西班牙语、德语等7种语言的2万亿个…

【MATLAB源码-第179期】基于matlab的64QAM调制解调系统频偏估计及补偿算法仿真,对比补偿前后的星座图误码率。

操作环境: MATLAB 2022a 1、算法描述 在通信系统中,频率偏移是一种常见的问题,它会导致接收到的信号频率与发送信号的频率不完全匹配,进而影响通信质量。在调制技术中,QPSK(Quadrature Phase Shift Keyi…

《由浅入深学习SAP财务》:第2章 总账模块 - 2.6 定期处理 - 2.6.2 月末操作:GR/IR重组

2.6.2 月末操作:GR/IR重组 SAP在采购订单收货和发票校验时分别产生凭证,中间采用GR/IR过渡。GR即为收货,IR即为收票。月末,GR/IR的余额根据收货和收票的情况进行判断,转入“应付暂估”或“在途物资”,次月自…

【Python】FANUC机器人OPC UA通信并记录数据

目录 引言机器人仿真环境准备代码实现1. 导入库2. 设置参数3. 日志配置4. OPC UA通信5. 备份旧CSV文件6. 主函数 总结 引言 OPC UA(Open Platform Communications Unified Architecture)是一种跨平台的、开放的数据交换标准,常用于工业自动化…

4.19号驱动

1. ARM裸机开发和Linux系统开发的异同 相同点:都是对硬件进行操作 不同点: 有无操作系统 是否具备多进程多线程开发 是否可以调用库函数 操作地址是否相同,arm操作物理地址,驱动操作虚拟地址 2. Linux操作系统的层次 应用层…

Redis群集模式

目录 一、集群的作用 二、Redis集群的数据分片 三、集群的工作原理​编辑 四、搭建Redis群集模式 1.准备环境 1.1 首先安装redis 1.2 在etc下创建redis 1.3再在redis中创建redis-cluster/redis600{1..6}文件 1.4 做个for循环 1.5 开启群集功能 1.6启动redis节点 1.…

c语言---预处理详解(详解)

目录 一、预定义符号二、define 定义常量三、define定义宏四、带有副作用的宏参数五、宏替换的规则六、宏函数的对比七、#和##7.1 #运算符7.2 ##运算符 八、命名约定九、#undef十、命令行定义十一、条件编译十二、头文件的包含12.1头⽂件被包含的方式:12.1.1本地文件…

anylabeling使用和安装

源码地址: git clone https://github.com/vietanhdev/anylabeling.git Auto Labeling with Segment Anything Youtube Demo: https://www.youtube.com/watch?v5qVJiYNX5KkDocumentation: https://anylabeling.nrl.ai Features: Image annotation for polygon, r…

德勤:《中国AI智算产业2024年四大趋势》

2023年《数字中国建设整体布局规划》的发布,明确了数字中国是构建数字时代竞争优势的关键支撑,是继移动互联网时代以来经济增长新引擎。当我们谈论数字中国的构建,不仅仅是在讨论一个国家级的技术升级,而是关乎如何利用数字技术来…

StoryImager、Face Morph、Hash3D、DreamView、Magic-Boost、SmartControl

本文首发于公众号:机器感知 StoryImager、Face Morph、Hash3D、DreamView、Magic-Boost、SmartControl Eagle and Finch: RWKV with Matrix-Valued States and Dynamic Recurrence We present Eagle (RWKV-5) and Finch (RWKV-6), sequence models improving upon…

今日arXiv最热大模型论文:Dataverse,针对大模型的开源ETL工具,数据清洗不再难!

引言:大数据时代下的ETL挑战 随着大数据时代的到来,数据处理的规模和复杂性不断增加,尤其是在大语言模型(LLMs)的开发中,对海量数据的需求呈指数级增长。这种所谓的“规模化法则”表明,LLM的性…

Python爬虫之Scrapy框架基础

Scrapy爬虫框架介绍 文档 英文文档中文文档 什么是scrapy 基于twisted搭建的异步爬虫框架. scrapy爬虫框架根据组件化设计理念和丰富的中间件, 使其成为了一个兼具高性能和高扩展的框架 scrapy提供的主要功能 具有优先级功能的调度器去重功能失败后的重试机制并发限制ip使用次…