如何通过收缩视频减少iCloud存储

事实上对于 4k 视频减去不必要的片段可以更有效的节省空间


当我在“照片”中画廊视频时,它将显示我在何时何地拍摄它们

这是一个很棒的功能,可以帮助我回忆我的记忆
但是原始的 4k 在 iCloud 中占用了太多空间

例如,即使采用 HEVC(高效视频编码),则 2:30 的视频将占用 1GB 的空间
我的 200G iCloud 计划几乎已 ​​ 满

因此,我计划稍微压缩视频以节省一些空间。

但,

FFmpeg 转换视频,即使有元数据也会丢失 GPS

幸运的是,我找到了一种方法

Tools

  • FFmpeg
  • Exiftool

将原始视频导出到文件夹

将视频从“照片”拖到文件夹的常用方法是让“照片”转换视频

因此,您必须选择所有要导出的视频,

File -> Export -> Export Unmodified Original For...

缩小每个视频

iPhone 默认流为

#0:0(und): Video: hevc (Main) (hvc1 / 0x31637668), yuv420p(tv, bt709)

因此使用-pix_fmt yuv420p10le重新编码为 10bit 并没有帮助

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
ffmov() {
mkdir -p shrunk

# ffmpeg with h265
ffmpeg -i "$1" -c:v libx265 -crf 28 -c:a copy -c:s copy -tag:v hvc1 shrunk/"$1"
overwriteExif "$1"
}

overwriteExif() {

# copy Exif info from the original video to the shrunk *.mov
exiftool -tagsFromFile "$1" shrunk/"$1"
exiftool shrunk/"$1"
rm shrunk/"$1_original"
}

shrinkVideos() {
## walk thought all *.mov
for f in *.mov
do
echo $f
ffmov $f
done
}

然后,您可以将这些代码复制并粘贴到Terminalcd VideoFolder, 然后 shrinkVideos

收缩将花费很长时间

在我的 MacBook Pro(15 英寸,2018 年)上,只有 0.3 倍
但通常情况下,视频会缩小 5 倍,而不会损失太多质量

全部完成后,缩小的视频将位于 shrunk/ 文件夹下

然后,您可以对其进行比较,并先删除原始视频,然后再导入缩小的视频

好的,最后我不能忍受极慢的速度,所以我使用 Nvidia 1080 GPU 进行加速,以了解更多: CUDA GPU Accelerated h264/h265/HEVC Video Encoding with Staxrip

下一步是将转换后的视频标记为 hvc1,否则,导入照片时会出现错误:

Invalid: The operation couldn’t be completed. (PHPhotosErrorDomain error -1.)

所以整个步骤是

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
ffhvc1() {
echo "$1 -> $1.mov"
ffmpeg -i "$1" -c:v copy -c:a copy -c:s copy -tag:v hvc1 "$1.mov"

echo "$1.mov -> $1"
rm "$1"; mv "$1.mov" "$1"
}

overwriteExif() {
# copy Exif info from the original video to the shrunk *.mov
exiftool -tagsFromFile "$1" shrunk/"$1"
exiftool shrunk/"$1"
rm shrunk/"$1_original"
}

shrinkVideos() {
## walk thought all *.mov
for f in *.mov
do
echo "$f"
ffhvc1 "shrunk/$f"
overwriteExif "$f"
done
}

# use Staxrip to convert all videos to shrunk/
# then run `shrinkVideos`

希望对您有帮助