mahlernim/google-timeline-visualizer

GitHub Trending (daily) 工具

摘要

一个工具,可以将Google Timeline数据转换为动画旅行视频,提供Android应用和iPhone网页应用。

使用您的Google Location History(Timeline)数据来可视化您的年度旅行。
查看原文
查看缓存全文

缓存时间: 2026/08/20 15:50

mahlernim/google-timeline-visualizer

来源:https://github.com/mahlernim/google-timeline-visualizer

时间线可视化工具

한국어 안내 · 日本語

将您的时间线文件转换为在Android手机上播放的动画旅行视频。可选择精确日期、预览旅程,并生成可观看或分享的MP4文件。

视频库

新建视频

Android 许可证 构建状态

在iPhone上使用

在Safari中打开iPhone网页应用 (https://ahn-lab.org/google-timeline-visualizer/)。无需安装应用,也不上传时间线文件。

  1. 在Google Maps中,打开个人头像 → 设置 → 个人内容 → 导出时间线数据,并将Timeline.json保存到“文件”应用。
  2. 返回网页应用,选择选择Timeline.json
  3. 选择月份范围或精确日期,选择相机移动方式,并确认地图隐私声明。
  4. 预览旅程,然后选择创建MP4
  5. 播放、分享或下载完成的视频。

创建MP4需要Safari 16.4或更新版本,并支持H.264编码。视频创建过程中请保持标签页开启。如需将网页应用添加到主屏幕,请使用Safari的共享菜单并选择添加到主屏幕

在Android上安装

该应用尚未上架Google Play。请从此仓库的最新版本 (https://github.com/mahlernim/google-timeline-visualizer/releases/latest) 安装:

  1. Assets部分,在手机上下载TimelineVisualizer-v2.2.4.apk
  2. 打开已下载的文件。
  3. 如果Android阻止安装,请选择设置,允许您的浏览器或文件管理器安装未知应用,然后返回重试。
  4. 安装完成后,您可以再次关闭该权限。

请仅从此仓库下载APK。Android可能会显示警告,因为该应用是在Google Play之外安装的。对于直接分发的APK,此警告是预期的。未来的版本可以直接在此版本上安装。

需要Android 8.0或更新版本。

获取您的时间线文件

在Android上,导出功能位于手机的设置应用中,而非Google Maps中:

  1. 打开手机设置
  2. 选择位置 → 位置服务 → 时间线
  3. 选择导出时间线数据,然后选择继续
  4. Timeline.json保存到易于找到的位置,例如下载文件夹。

如果时间线菜单缺失或您手机上的标签不同,请参阅Google的时间线帮助 (https://support.google.com/maps/answer/6258979)。

名称和菜单位置可能因手机而异。在时间线可视化工具中,获取时间线文件会显示这些说明,并可以为您打开位置设置。Android不提供应用直接链接到时间线页面的标准方式。

在iPhone上,导出的JSON可以直接在iPhone网页应用 (https://ahn-lab.org/google-timeline-visualizer/) 中使用。也可以将其移动到Android手机,并在Android应用中打开。

恢复缺失的Google Maps时间线

如果更改手机、重新安装Google Maps或重置设备后旧的行程消失,可能存在加密的时间线备份。使用应用的恢复Google Maps时间线链接或按照恢复指南操作。

请先在Google Maps中恢复历史记录,然后导出新的JSON文件。时间线可视化工具无法访问您的Google账户或加密备份,也不会直接恢复它。

创建并分享视频

  1. 打开创建视频,选择选择文件,然后选择您的时间线文件。
  2. 选择月份范围或使用精确日期处理仅持续几天的行程。默认选择最近一个完整年份,范围可以跨年。
  3. 确认名称和标题模板,然后选择预设或自定义10到300秒的旅程时长。模板会保存供下次使用,并支持{year}{name}。超过60秒的时长会显示渲染时间和存储提醒。
  4. 选择预览以检查动画地图。这是交互式预览。保存的视频使用相同的设计,但地图瓦片会在渲染前准备好。
  5. 选择创建视频。在Android 10及更高版本上,应用会自动将视频保存到Movies/Timeline Visualizer。Android 8和9使用系统“另存为”选择器。应用会显示每个阶段,在测量到足够进度时显示预估时间,并提供取消按钮。您可以切换应用或关闭屏幕,视频会继续创建。
  6. 视频保存后,可以观看或分享,使用另存为将其复制到其他位置,可选择保存或分享1080 × 1080的旅程概览,或创建另一个视频。

成功加载时间线后,应用会记住其文档引用,并在打开新建视频且存储提供商保留访问权限时重新打开它。它不会复制时间线数据。如果文件被移动或权限丢失,应用会返回正常的加载流程。

旧的旅行会逐渐淡出移动标记之后,以便长而详细的时间线保持清晰且渲染高效。在选定的旅程时长后,视频会添加1.5秒的结尾,其中包含缩小视图、显示完整路线,并在最后停留半秒的概览。

如果您取消,应用会删除不完整的输出文件。预览到达终点后,再次选择预览会从头开始播放。在Android 13或更新版本上,允许通知以在应用外跟踪进度并接收完成提醒。即使您拒绝通知权限,视频创建仍会继续。

保存您的视频

完成的视频会自动添加到我的视频中。每个条目会保留其缩略图、标题、时间线时间段、时长和创建日期,并提供快速操作以观看或分享。视频在应用内的全屏播放器中打开,支持跳转、分享,并可回退到外部播放器。自动创建的MP4文件保留在Movies/Timeline Visualizer中。应用仅存储一个小型本地索引和从最终旅程概览生成的确定性缩略图。

使用添加视频可以包含在此库引入之前制作的MP4文件。您可以一次选择多个视频。如果文件在应用外被移动或删除,其条目会标记为文件不可用,以便您可以将其从列表中移除。

从列表中移除不会触动MP4文件。删除视频是一个独立的、需确认的操作,当存储提供商允许时会永久删除文件。全部删除会在确认后删除所有可用的视频。底部导航栏使我的视频创建视频设置易于访问。

视频设置

设置控制每个新视频的默认值。固定相机和平衡的长途压缩是默认设置。固定相机保持一个缩放级别,而动态相机更积极地跟随局部移动。长途压缩仅更改动画时长,不影响路线几何形状。视频格式提供方形480p、720p和1080p输出,以及竖屏1080 × 1920和横屏1920 × 1080预设。恢复默认值会将所有视频设置恢复为推荐值。

时间线处理默认使用保守的GPS异常值过滤。它仅忽略孤立的、不合理的往返坐标,报告被忽略的数量,并保持原始JSON文件不变。将过滤器设置为关闭以使用所选文件中的所有位置。

应用支持英语、韩语、日语、简体中文、繁体中文、西班牙语、法语、德语和巴西葡萄牙语。在设置中选择任何支持的语言或保持系统默认。设置中还显示已安装的版本和构建代码。

长途飞行和其他稀疏路线会沿大圆路径进行插值,因此相机可以平滑地跟随行程,而不是直接跳转到目的地。在局部旅行中,标记可以在稳定的中心区域内移动,然后相机才会跟随。这减少了通勤时地图快速来回移动,而无需更改或移除任何时间线点。

支持的导出格式

  • 当前Android和iOS直接数组时间线导出
  • 旧的{ "semanticSegments": [...] }导出
  • 可选的原始位置回退(带警告和本地降噪)
  • 时间线路径、活动和访问点
  • 字符串、latLng、度数、geo:和E7坐标
  • 跨越国际日期变更线的路线

隐私

不使用Google登录、位置权限、账户权限、分析或广泛的存储权限。应用仅读取您选择的JSON和视频文件,视频渲染完全在设备上进行。

Google登录可以提供个人资料名称,但Google不会通过登录公开手机的时间线历史记录。要求登录会增加账户访问权限而不移除导出步骤,因此应用使用您可编辑的手机名称作为默认标题。

您的时间线文件永远不会被上传。底图是唯一的网络功能。CARTO接收所显示的地图区域请求,并基于OpenStreetMap数据提供瓦片。这可能会向瓦片提供商标识查看的区域,但时间线JSON不会被上传。在加载第一个时间线之前,应用会解释此传输过程并允许您取消。查看完整的隐私说明

桌面Python版本

原始的Python生成器仍可供桌面用户使用。它需要Python 3.9+、FFmpeg和requirements.txt中的包。

python -m pip install -r requirements.txt
python visualizer.py --input Timeline.json --year 2025 --camera-movement steady \
  --long-trip-compression balanced --output my_trip_2025.mp4

构建与测试

Android开发需要JDK 17、Android SDK Platform 36和Build Tools 36.0.0。

./gradlew test lint assembleGithubDebug assemblePlayDebug
python -m pip install -r requirements-dev.txt
python -m pytest

底图归属信息会显示在每个预览和导出的视频中: © OpenStreetMap contributors (https://www.openstreetmap.org/copyright) 和 © CARTO (https://carto.com/attributions)。

采用MIT许可证授权。

相似文章

TapVid

Product Hunt

TapVid 是一款工具,能让用户将任何想法转化为动态视频。

Animos App

Product Hunt

Animos App 是一个展示动态设计的工具。

Google Just Turned Street View Into a Video Game

Reddit r/singularity

Google 在 IO 大会上发布的 Genie 3 实时视频生成器,可将 Google Maps 街景图像转换为可交互的 3D 世界,让用户像玩游戏一样自由探索真实场景。