視頻繼續播放,旁邊的配速、心率、海拔和路線也在實時變化。
這些數字看起來只是幾個簡單的圖形。
真正開始做以後,我們才發現,問題遠沒有“把幾個數字放到視頻上”這麼簡單。
因為運動設備記錄的是數據,而 DaVinci Resolve 處理的是時間軸。
如何讓兩者準確地對應起來,才是整個產品真正需要解決的問題。
一切從 FIT 文件開始
Garmin、COROS 等運動設備記錄一次活動時,通常會保存大量結構化運動數據。
FIT 是其中非常重要的一種格式。
一份 FIT 文件里可能包含:
- 時間
- GPS 坐標
- 心率
- 速度
- 距離
- 步頻
- 功率
- 海拔
- 圈段
- 設備信息
以及大量與具體運動類型有關的數據。
從信息量來說,它非常豐富。
但對於視頻創作者來說,這些數據還不能直接使用。
因為視頻軟件並不知道:
某個 FIT 數據點應該出現在視頻的哪一幀。
這成為整個問題的起點。
兩條完全不同的時間線
運動手錶和攝像機是兩個獨立設備。
手錶可能在 06:31:18 開始記錄。
相機可能在幾分鐘以後才開始拍攝。
中間可能暫停錄像、重新開機、切換鏡頭,甚至同時使用幾台不同的設備。
於是我們面對的是兩條完全不同的時間線:
運動數據時間線
和
視頻時間線
只有把兩條時間線對齊,運動數據才真正有意義。
假設視頻中的某一幀對應運動記錄里的第 1,427 秒,那麼這一刻應該顯示的心率、配速、位置和海拔,都必須來自這一時間附近的數據。
偏差幾秒,有時候就足以讓畫面變得明顯不自然。
尤其是在快速跑、騎行、爬坡或者比賽中。
數據不是連續的
另一個問題是,FIT 文件並不是視頻。
視頻可能是 30fps 或 60fps,每一秒都有幾十幀。
運動設備的數據採樣卻可能以完全不同的頻率出現。
因此不能簡單地理解成:
“一幀視頻對應一個 FIT 數據點。”
我們需要先把 FIT 中的記錄解析成一條運動數據時間序列,再根據視頻當前所處的時間,找到這一時刻應該呈現的狀態。
這其中會遇到很多現實問題:
數據缺失怎麼辦?
GPS 短暫漂移怎麼辦?
速度突然跳變怎麼辦?
兩個數據點之間應該如何過渡?
暫停運動以後時間軸應該如何處理?
這些細節決定了最後的浮層看起來是“一個會變化的數字”,還是一個真正可以用於視頻製作的工具。
從數據變成視覺
解決時間同步以後,下一步才是大家最終看到的部分:
Gauge。
速度表、心率、路線、海拔、距離、計時器……
每一種 Gauge 本質上都是同一份運動數據的不同表達方式。
但好的運動數據浮層不能只是把數字直接顯示出來。
例如配速從 4:01/km 變成 3:59/km,如果數字每次變化都會造成整個組件左右抖動,視頻里的體驗會非常差。
路線圖需要考慮 GPS 坐標如何映射。
速度表需要考慮數值變化時動畫是否自然。
海拔圖需要考慮當前進度與整條路線之間的關係。
組件還必須能夠適應不同的視頻比例、分辨率和視覺風格。
到了這裡,產品已經不再只是一個 FIT Parser。
它開始變成一個完整的運動數據視覺系統。
為什麼最後選擇 DaVinci Resolve
我們希望這些數據最終進入真正的視頻製作流程。
而不是先生成一個固定的視頻,再讓創作者把它疊到自己的素材上。
對於創作者來說,更自然的方式應該是:
在剪輯過程中決定什麼時候顯示數據、顯示什麼數據、放在哪裡,以及它應該是什麼樣子。
這也是 Resolve Telemetry Overlay 最終圍繞 DaVinci Resolve 工作流設計的原因。
運動數據不應該是剪輯完成之後額外貼上去的一層東西。
它應該成為視頻設計本身的一部分。
看起來簡單的功能,背後通常並不簡單
這也是我們開發這類工具時很有意思的一點。
最終用戶看到的可能只是:
一個心率數字。
一條路線。
一個速度表。
但它們背後經歷的是:
FIT 文件 → 數據解析 → 時間序列 → 時間軸同步 → 數據處理 → Gauge → 視頻畫面
任何一個環節出現問題,最後都會直接反映在畫面里。
而真正好的工具,應該把這些複雜性藏起來。
用戶不需要知道 FIT 文件內部是如何組織的,也不需要理解時間序列如何映射到視頻。
他只需要選擇自己的運動記錄,然後開始創作。
從自己的需求開始
Resolve Telemetry Overlay 的起點其實很簡單。
我們自己製作運動內容,也希望在視頻里更自然地使用運動數據。
當現有工作流不能很好地解決這個問題時,我們決定自己做一個工具。
這也是 LIGHTOUCH 很多產品共同的起點。
先遇到一個真實的問題。
把它解決。
然後再看看,這個解決方案是不是也能幫助其他遇到同樣問題的人。
從一份 FIT 文件,到最終出現在 DaVinci Resolve 時間線上的一個實時心率數字,中間經過了很多用戶不會看到的步驟。
而我們認為,這恰恰是軟件應該做的事情:
把複雜的過程留給工具,把簡單的體驗留給使用它的人。