【发布时间】:2018-01-10 09:49:08
【问题描述】:
我有一个以 .MOV 格式保存视频的 OEM 行车记录仪。我想以编程方式从视频文件中提取嵌入的 gps 数据。在十六进制编辑器中打开 .mov 文件后,我发现了带有 freeGPS 标头的数据包,我可以确认对于我的 7 秒示例视频有 7 个数据包,所以我知道 gps 数据的来源。
我已经找到了日期和时间,但在将十六进制值转换为纬度经度时遇到了困难。以下是使用 Registrator Viewer 提取时的十六进制值及其等效坐标。
273108AC1C7996404E,0D022B873EA3C74045 - 14.637967,121.041475 516B9A771C7996404E,0D022B873EA3C74045 - 14.637963,121.041475 B9FC87F41B7996404E,52499D803EA3C74045 - 14.637955,121.041472 B9FC87F41B7996404E,52499D803EA3C74045 - 14.637955,121.041472 B459F5B91A7996404E,C442AD693EA3C74045 - 14.637935,121.041460 1DEBE2361A7996404E,ACAD85F3EA3C74045 - 14.637927,121.041455 08CE19511A7996404E,4FD1915C3EA3C74045 - 14.637928,121.041453
加粗的字节直接转换为@N 和@E,所以我认为它们不是转换的一部分。我已经尝试了以下答案,但没有成功获得正确的坐标。
How to convert GPS Longitude and latitude from hex
How to convert my binary (hex) data to latitude and longitude?
我已经向行车记录仪提供商发送了一封电子邮件,要求他们提供协议文档,但看起来他们没有,因为当我要求他们自己的视频播放器时,他们发送了 Registrator Viewer。
我还将包含第一个 freeGPS 数据包,以防我看错了地方。
00 00 80 00 66 72 65 65 47 50 53 20 98 00 00 00 78 2E 78 78 00 00 00 00 00 00 00 00 00 00 00 00 30 30 30 30 30 00 00 0 00 00 00 00 00 00 00 00 03 00 00 00 03 00 00 00 27 00 00 00 41 00 00 00 27 31 08 AC 1C 79 96 40 4E 00 00 00 00 00 00 00 0D 02 2B 87 3E A3 C7 40 45 00 00 00 00 00 00 00 8F C2 F5 28 5C 8F E2 3F 48 E1 7A 14 AE 07 68 40 11 00 00 00 06 00 00 00 14 00 00 00 76 00 00 00 88 00 00 00 DE 00 00 00 4D 00 00 00 49 00 00 00 4F 00 00 00 2D 00 00 00 2B 00 00 00 00 0 p>
粗体数据按顺序提取:freeGPS、时间、纬度@N?、经度@E?、日期
我可以确认时间和日期是正确的。速度应该是 1 公里/小时,但我也找不到。
提前感谢那些可以提供帮助的人。
编辑: 这是测试视频的链接。 Test Video
【问题讨论】:
-
看看ExifTool,或许它可以从视频中提取GPS信息。
-
我已经玩过 exiftool,但根据开发者本人的说法,这里目前不支持 http://u88.n24.queensu.ca/exiftool/forum/index.php?topic=7127.0
-
请发布示例文件 - 谢谢
-
嗨@MarkusSchumann 我添加了上面的链接。
标签: gps hex latitude-longitude