把 GPX 路線動畫搬回 GPU:一個 4K60 Windows 原生工具的設計筆記

把 GPX 路線動畫搬回 GPU:一個 4K60 Windows 原生工具的設計筆記

介紹 GPX Animator GPU Edition 如何把 GPX 路線、地圖動畫與 GPU 輸出整合成 MP4。

GPX Animator GPU Edition 是我做的一個 Windows 原生路線動畫工具。它把 GPX 路線畫在地圖上,讓鏡頭跟著路線移動,最後輸出成可以播放的 MP4。

它把路線統計、地圖動畫、GPU 繪圖與 MP4 編碼放在同一個工具裡,適合把一份騎乘紀錄整理成可以播放的路線影片。

載入一份 GPX 路線

0706路線.gpx 為例,程式載入後會顯示:

  • 路線長度:61.27 km
  • 爬升:794 m
  • GPS 點:4,161 個
  • 程式移除停留點:254 個

地圖畫面也真的把路線畫出來,左上角可以看到目前的公里數與海拔,右上角則有整段路線的海拔變化。

GPX Animator GPU Edition 載入 0706 路線後的實際介面

實際載入 0706路線.gpx 後的原生 Windows 介面。這張圖同時保留了路線統計、地圖預覽、HUD 與海拔圖設定。

從載入到輸出

整個操作很直接:

  1. 開啟 GPX Animator GPU Edition。
  2. 載入 0706路線.gpx
  3. 確認地圖上有路線,並檢查距離、爬升與 GPS 點數。
  4. 選好輸出設定,按下「輸出 MP4」。

可以保留衛星地圖,讓攝影機跟著路線走,也可以開啟 HUD 和海拔圖。最後的影片不只是地圖上有一條線,還能看出目前走到哪裡、爬升變化如何。

輸出設定

這組輸出設定是:

  • 畫面比例:16:9
  • 解析度:1080p,也就是 1920×1080
  • 影格率:30 FPS
  • 編碼:H.265 / HEVC
  • 影片秒數欄位:20 秒
  • 品質:高畫質

GPU 負責把地圖動畫畫出來,HEVC 負責把畫面壓成 MP4;30 FPS 則讓播放看起來比較順。

按下輸出後,進度列會顯示 Rendering 和目前的處理速度。

GPX Animator GPU Edition 實際輸出中的進度介面

按下輸出後看到的實際進度畫面;程式正在 Rendering,左下角仍顯示 1080p、30 FPS 與 HEVC 設定。

輸出結果

輸出檔案會產生為 MP4,並且可以用 FFmpeg 完整讀取。檔案資訊如下:

  • 1920×1080,16:9
  • 30 FPS
  • HEVC Main
  • 750 frames
  • 實際長度 25 秒

在「跟隨路線」模式中,20 秒是路線動畫本身,程式另外加入 5 秒的鏡頭過渡,所以輸出檔的實際長度是 25 秒。

輸出影片會把紅色路線、目前公里數、海拔數字,以及右上角的海拔圖一起寫進畫面。

從 0706 路線實際輸出 MP4 抽出的影片畫面

影片中段畫面,可以看到路線、公里數、海拔與海拔圖。

技術重點

GPX 載入後會先被整理成路線點、距離與海拔資料,再交給地圖場景產生動畫。GPU 負責繪製地圖和路線,HEVC 則把畫面壓縮成 MP4;這樣在高解析度輸出時,不需要把每一張畫面反覆搬回 CPU 處理。

對使用者來說,最後會看到的是一條可以跟著鏡頭移動的路線、同步更新的公里數與海拔,以及一個能正常播放的 MP4。GPU、HEVC 和 30 FPS 是支撐這個流程的技術,並不是使用時需要額外理解的門檻。