我正在尝试为来自 Roadhawk 行车记录仪的剪辑编写一个视频播放器,显示速度计和地图。我已经涵盖了基础知识,它播放视频和声音并从视频中提取原始元数据。
此原始元数据包括速度、GPS 坐标和重力。我的第一个目标是 Roadhawk DC2。Roadhawk 已经提供了用于执行此操作的软件,但它是闭源的。http://www.roadhawk.co.uk/roadhawk-dc2-software 我也许可以对软件,甚至相机固件进行逆向工程,但我想知道是否有更好的方法。
元数据存储在视频文件的字幕流中。我通过我的软件播放了一个一分钟的文件并转储了所有原始数据,并查看了现有软件中的同一个文件以获得第一帧的解码值。(由于现有软件中的搜索分辨率,确定超过第一帧很尴尬。这是我自己编写的一个原因。)
这一切似乎都是可打印的 ASCII 字符(大概是 qt-text 字幕编码系统的限制)。
查看所有数据时,我可以看到在最后三分之一的数据框中,一些文本大部分保持不变。在视频的最后三分之一中,汽车在一组灯前等待,这可能是 gforce 数据。这是我的调查所得。
我知道解码的帧如下所示:
.+;;;D=;-;6;;;;D;JP;4;;;=D;P?;O;;;=D=L;-HO71G>F=;;;JJF:FNJNBDL=R?F3F;;=;PDLR;;F0F;;=DRFJJ?DRJF??;J=LF;;;D;F:*59~
并像这样解码:
Gforce X = +0.108
Y = +0.036
Lat = 53.99020
Long = -1.10792
Speed = 2.0mph
捕获帧的完整列表在这里:http : //bitofahack.com/stuff/capture
我不认为这是任何特定的编码方法。它甚至可能有某种压缩,虽然我怀疑当我考虑到帧比所有数据都长时,只是作为一个长字符串打印出来。
我应该怎么做才能进一步调查?