Live Photo 实际上是一个 HEIC 图像和 MOV 视频两个文件,备份时也是会产生两个文件。正常情况不需要忽略!
群晖的 Synology Photos 备份 Live Photo 后会在同目录下生成一个同名的 MOV 文件。
若直接备份到其他相册易造成重复,因此我修改了 syncthing 代码:当文件为 MOV 格式时,判断同目录是否存在同名 HEIC 文件,若存在则不同步该 MOV 文件。
diff --git a/lib/model/folder.go b/lib/model/folder.go
index 70fe941f2..c333b5fd3 100644
--- a/lib/model/folder.go
+++ b/lib/model/folder.go
@@ -695,7 +695,27 @@ func (f *folder) scanSubdirsChangedAndNew(ctx context.Context, subDirs []string,
}
return changes, err
}
-
+
+ // 判断并忽略属于 Live Photo 的 .mov 视频文件
+ fileName := res.File.Name
+ // 检查文件扩展名
+ if strings.HasSuffix(strings.ToLower(fileName), ".mov") {
+ // 去掉扩展名
+ baseName := fileName[:len(fileName)-4]
+
+ // 构建同名的 .heic 文件路径
+ heicPath := baseName + ".heic"
+ heicPathUpper := baseName + ".HEIC"
+
+ _, err1 := f.mtimefs.Stat(heicPath)
+ _, err2 := f.mtimefs.Stat(heicPathUpper)
+ if err1 == nil || err2 == nil {
+ // 找到了同名的 HEIC 文件,忽略
+ f.sl.DebugContext(ctx, "Ignoring Live Photo video", slog.String("file", fileName))
+ continue
+ }
+ }
+
if ok, err := batch.Update(res.File); err != nil {
return 0, err
} else if ok {
编译使用
GOFLAGS=-buildvcs=false CGO_ENABLED=0 go run build.go \
-no-upgrade \
-version=v2.3.3 \
build syncthing
您好,我想问一下,我用的是黑群晖,一次断电后,我的这个群晖web界面里的filestation组件无法使用,修复也无法修复成功,一直处于停用状态,好在是现在磁盘没坏,仍可以对其进行读写操作,但是就是web界面无法登录上去进行上传功能,只能本地使用,网上关于这方面的信息比较少,想问问大佬对于这个问题有没有解决方案,希望给个联系方式,如有帮助,必有重谢
不好意思,没看到邮件。
去 SSH 用 synopkg 修复下试试看看有没有错误,或者看下系统日志,如果日志也看不出来直接备份数据重置。
rr 引导好像是有个强制重装系统的功能,注意不是群晖系统内的重置(系统内的重置好像是清空所有硬盘数据)。可以保持数据除了套件以外的数据重置。
这种系统数据损坏的你修一个地方可能还有别的地方也存在问题,不如重置省心。