Terrain Route Video

🗺️ 道路级路线动画一键生成

基于OSRM道路数据生成极简地形风格自驾路线动画视频,支持GPX/KML轨迹导入,无需Remotion,12秒即可导出MP4。

收藏
4k
安装
1.2k
版本
0.2.0
CLS 安全性认证2026-08-04
点击查看完整报告 >

使用说明

核心用法

Terrain Route Video 是一款面向自驾记录、旅行Vlog创作者的轻量级视频生成工具。它接收城市/兴趣点列表(JSON)或现有轨迹文件(GPX/KML),通过 OSRM(Open Source Routing Machine)计算真实道路路径,抓取 OpenTopoMap 地形瓦片作为底图,使用 Matplotlib 逐帧渲染,最终由 FFmpeg 编码为 MP4 动画。

渲染效果采用"暗黑地形+红色路线+青色当前位置点"的视觉风格,支持飞随相机(fly-follow)和路线绘制动画两种模式。用户可自定义标题、副标题、分辨率(默认1600×900)、帧率(30fps)及时长(12秒)。

显著优点

  • 真实道路跟随:OSRM 确保路线贴合高速公路/国道,非直线大圆航线
  • 零Remotion依赖:纯Python+FFmpeg方案,环境搭建简单,无Node.js负担
  • 多源输入兼容:既支持城市列表自动生成路线,也支持现有GPX/KML轨迹直接渲染
  • 可离线复现:瓦片缓存机制,二次渲染无需重复下载

潜在局限

  • 外部服务依赖:OpenTopoMap瓦片可用性因区域/网络/缩放层级波动,可能自动降级
  • 字体渲染限制:默认使用系统日文字体(Hiragino Sans GB)处理中文,缺失时需手动指定字体路径
  • 性能瓶颈:Matplotlib逐帧渲染对超长路线或高分辨率输出较慢
  • 无交互编辑:纯命令行工具,无可视化界面调整关键帧

适合人群

  • 自驾游爱好者快速生成行程回顾视频
  • 旅行博主/UP主制作片头路线动画
  • 户外徒步/骑行记录者将GPX轨迹可视化

常规风险

  • 地理坐标隐私:输入JSON包含经纬度,需注意分享时的脱敏
  • 瓦片服务稳定性:OpenTopoMap非商业SLA保障,高峰期可能超时
  • 字体版权:商用场景需确认指定字体的授权许可

安全解读

核心用法

Terrain Route Video 是一个纯 Python 实现的路线视频生成工具,专为需要创建「地形风格+道路跟随」动态地图视频的场景设计。与依赖 Remotion 的方案不同,它通过调用公开 OSRM 服务获取真实道路几何数据,结合 OpenTopoMap 的开源地形瓦片,使用 Matplotlib 逐帧渲染,最终由 FFmpeg 编码输出 MP4 视频。

该 Skill 提供两种输入模式:

  • OSRM 道路跟随模式:通过 stops.json 指定城市或 POI 坐标点列表,自动计算沿公路/高速的最优驾驶路线,生成「飞镜跟随」动画效果
  • GPX/KML 轨迹模式:直接解析现有轨迹文件(支持标准 LineString 及 2bulu/Google 风格的 gx:Track),无需网络调用即可生成视频

输出规格默认 1600×900 分辨率、30fps、12 秒时长,支持 --no-follow 静态全览模式、--dwell 停留帧、--zoom 瓦片层级调节等参数,以及 --basemap-alpha--overlay-alpha 等视觉调优选项。

显著优点

1. 零商业依赖,完全开源链路

无需订阅 Mapbox、Google Maps 等付费服务,OSRM 与 OpenTopoMap 均为成熟开源项目,路线计算与底图渲染成本为零,适合个人创作者与小型团队。

2. 真实道路跟随,非直线插值

与简单的大圆航线或直线动画不同,OSRM 模式生成的路线严格贴合实际道路网络,高速公路、国道、省道的真实走向得以保留,输出视频具有专业导航质感。

3. 极简视觉风格,高度可定制

默认采用深色地形底图+红色路线+青色当前位置的配色方案,视觉统一且克制。通过 Matplotlib 渲染层,可深度调整透明度、对比度、锐度、饱和度等参数,适配不同品牌调性。

4. 双模式灵活输入

既支持「只给坐标自动算路」的便捷模式,也支持「已有轨迹直接渲染」的离线模式,覆盖从规划到复盘的全流程场景。

潜在缺点与局限性

1. 外部 API 可用性依赖

OSRM 公共实例(router.project-osrm.org)与 OpenTopoMap 瓦片服务均存在限流或区域覆盖不均的风险。高并发场景或偏远地区可能出现请求失败,需依赖自动降级机制(降低 zoom 层级)。

2. 地理位置隐私披露

使用 OSRM 模式时,起点/终点坐标必须发送至第三方服务器,敏感位置(家庭、工作地址)存在数据外泄风险。虽可通过自建私有 OSRM 实例缓解,但提高了技术门槛。

3. 本地存储与性能开销

视频渲染需逐帧生成 PNG 序列(12 秒 30fps 即 360 帧),配合瓦片缓存,可能产生数百 MB 临时文件。机械硬盘或低内存环境可能成为瓶颈。

4. 字体与国际化限制

中文地名渲染依赖系统 CJK 字体(默认 Hiragino Sans GB),跨平台部署时需手动指定字体路径,否则可能出现缺字或 fallback 字体美观度下降的问题。

适合的目标群体

  • 旅行博主/Vlogger:需要为自驾游记、摩旅记录生成高质感动态路线图
  • 数据可视化创作者:制作地理叙事、迁徙数据、物流轨迹等展示视频
  • 户外爱好者:将 GPX 徒步/骑行记录转化为分享友好的动画
  • 开发者/设计师:需要快速原型验证,或作为更复杂可视化流程的素材生产环节

使用风险与注意事项

网络稳定性风险:OSRM 与 OpenTopoMap 均为公共服务,无 SLA 保障。关键项目建议缓存瓦片或搭建私有 OSRM 实例。

文件覆盖风险:FFmpeg 使用 -y 强制覆盖输出文件,且脚本会在当前目录创建 frames/.tile-cache/,务必在独立工作目录运行。

坐标精度风险:OSRM 返回的是道路中心线几何,非车道级精度,不适合需要厘米级还原的专业测绘场景。

依赖环境风险:需预装 Python 3.x 及 FFmpeg,且 Pillow、Matplotlib 等库版本兼容性需手动维护。

Terrain Route Video 内容

references文件夹
scripts文件夹
手动下载zip · 11.6 kB
stops.schema.jsonapplication/json
请选择文件