e74a202a-e71a-41b8-96a6-efb9ca0b8e89

全动态视频工具用户操作手册

当前版本: 1.0.0

1. 系统概述

FMV Player 是一款专为无人机全动态视频(Full Motion Video)设计的播放与地理标绘系统。该系统结合视频播放与 Cesium 三维地图引擎,实现视频帧与地理坐标的实时同步,支持在视频画面上进行精确的地理标绘和测量操作。

1.1 核心功能

  • 视频播放与轨迹同步:播放 MP4 视频并同步显示无人机飞行轨迹
  • 地理标绘:在视频画面上绘制点、线、面,自动转换为地理坐标
  • 地理测量:面积测量、路径测量、高度测量、坐标查询
  • 矢量管理:图层可见性控制、符号化编辑、排序管理
  • 三维视锥:实时显示相机视锥范围,可视化拍摄覆盖区域
  • 数据导出:支持 GeoJSON 和 KML 格式导出

1.2 支持的无人机型号

型号代码 无人机名称 相机配置
M3E DJI Mavic 3 Enterprise 广角 + 长焦
M3T DJI Mavic 3 Thermal 广角 + 长焦 + 红外
M3D DJI Mavic 3D 广角 + 长焦
M3TD DJI Mavic 3 Thermal Dock 广角 + 长焦 + 红外
M4E DJI Matrice 4 Enterprise 广角 + 变焦 + 长焦
M4T DJI Matrice 4 Thermal 广角 + 变焦 + 长焦 + 红外
M4D DJI Matrice 4D 广角 + 变焦 + 长焦
M4TD DJI Matrice 4 Thermal Dock 广角 + 变焦 + 长焦 + 红外

1.3 系统要求

  • 操作系统:Windows 10/11、macOS 10.14+
  • 浏览器:Chrome 90+、Edge 90+、Firefox 88+(推荐 Chrome)
  • 网络:需要访问天地图瓦片服务
  • 分辨率:建议 1920×1080 或更高

2. 快速入门

2.1 启动系统

  1. 打开浏览器访问系统地址(如 http://localhost:3020
  2. 系统启动后会显示无人机型号选择界面

2.2 选择无人机型号

首次使用必须选择无人机型号,以便系统正确解析飞行数据和相机参数:

  1. 在型号下拉框中选择您的无人机型号(如 M4TD)
  2. 点击「确认选择」按钮
  3. 型号选择后可随时在工具栏中切换

提示:型号选择影响相机 FOV 参数,直接影响标绘精度。请务必选择与实际录制视频时使用的无人机一致的型号。

2.3 加载视频与 SRT 文件

方式一:同时选择视频和 SRT

  1. 点击「选择视频/SRT」按钮
  2. 在文件选择对话框中,同时选择 MP4 视频文件和同名 SRT 字幕文件
  3. 系统会自动匹配同名文件并加载

方式二:先加载视频,后单独加载 SRT

  1. 点击「选择视频/SRT」按钮,仅选择视频文件
  2. 视频加载后,点击「单独加载 SRT」按钮
  3. 选择对应的 SRT 字幕文件

注意:SRT 文件必须由 DJI 无人机录制生成,包含 GPS、高度、云台角度等飞行数据。详见 SRT 文件格式说明

2.4 开始使用

加载完成后:

  • 左侧显示视频播放器,底部显示当前帧的 GPS 坐标、高度、云台角度
  • 右侧显示 Cesium 三维地图,可视化飞行轨迹和相机视锥
  • 工具栏自动激活,可进行标绘和测量操作

3. 界面布局

3.1 整体布局

系统采用左右分屏布局:

┌─────────────────────────────────────────────────────────────┐
│                      顶部导航栏                              │
├──────────────────────┬──────────────────────────────────────┤
│                      │                                      │
│     视频播放区域      │           三维地图区域                │
│     (左侧 45%)       │           (右侧 55%)                 │
│                      │                                      │
│                      │  ┌─────────────┐  ┌───────────────┐  │
│                      │  │ 矢量面板    │  │ 视锥控制      │  │
│                      │  └─────────────┘  └───────────────┘  │
│                      │                                      │
├──────────────────────┴──────────────────────────────────────┤
│                      状态栏                                  │
└─────────────────────────────────────────────────────────────┘

3.2 分隔条拖拽

  • 左右区域中间的分隔条(⋮)可拖拽调整比例
  • 比例范围:左侧 20%~80%
  • 拖拽后视频和地图会自动适应新尺寸

3.3 视频播放区域组件

组件 位置 功能
工具栏 视频顶部 型号选择、文件加载按钮
标绘工具栏 视频左上角 标绘/测量模式切换、海拔输入
视频画面 中央 视频播放、Canvas 交互
测量面板 右下角 测量结果列表
SRT 信息 视频底部 GPS、高度、云台角度
控制条 视频底部 播放/暂停、进度、音量、全屏

3.4 三维地图区域组件

组件 位置 功能
矢量面板 右上角 图层管理、导出
视锥控制 左下角 视锥可见性、长度调节
导航球 右下角 相机视角控制
状态栏 底部 鼠标位置经纬度、高度、比例尺

4. 视频播放与轨迹同步

4.1 视频控制

播放控制

  • 点击视频画面或控制条播放按钮开始播放
  • 播放过程中,轨迹点与视频帧自动同步
  • 暂停时停止同步,停留在当前帧位置

进度控制

  • 拖拽进度条跳转到指定时间点
  • 点击地图上的轨迹点,视频自动跳转到对应时间

全屏模式

  • 点击控制条全屏按钮进入全屏
  • 全屏模式下标绘功能正常可用
  • 按 ESC 或点击全屏按钮退出

4.2 轨迹可视化

轨迹显示

  • 载入 SRT 后,右侧地图自动绘制完整飞行轨迹(蓝色线)
  • 轨迹上的白色圆点表示无人机当前位置
  • 轨迹点按时间顺序分布(约每 33ms 一个点)

轨迹交互

  • 鼠标悬停轨迹点显示信息气泡(时间、坐标、高度)
  • 点击轨迹点跳转到对应视频帧

4.3 SRT 信息显示

视频底部实时显示当前帧数据:

GPS: 120.963933, 32.568629    高度: 6.4m    云台: Y:41.1 P:-45.0
  • GPS:经度、纬度(度)
  • 高度:相对起飞点高度(米)
  • 云台:偏航角 Y、俯仰角 P(度)

5. 地理标绘功能

地理标绘允许在视频画面上绘制图形,系统自动将像素坐标转换为地理坐标(经纬度),并在地图上实时显示。

5.1 标绘前提条件

  1. 已选择正确的无人机型号
  2. 已加载视频和 SRT 文件
  3. 已设置地面海拔参数

5.2 设置地面海拔

地面海拔是标绘的关键参数,用于计算像素点对应的地面位置:

  • 在标绘工具栏的「地面海拔(m)」输入框中输入数值
  • 默认值为 0,可手动调整范围:-500 ~ 9000 米
  • 推荐做法:查看 SRT 信息中的高度值,估算起飞点地面海拔
  • 公式:地面海拔 ≈ 绝对高度 - 相对高度

5.3 标绘模式

模式 图标 说明 完成条件
标点 📍 单点标记 单击即可完成
绘线 ↗️ 线段绘制 至少 2 点,双击完成
画面 📄 多边形绘制 至少 3 点,双击完成

5.4 标绘操作步骤

标点模式

  1. 点击工具栏「标点」按钮进入标点模式
  2. 在视频画面上单击目标位置
  3. 系统自动计算地理坐标并创建点图层

绘线模式

  1. 点击工具栏「绘线」按钮进入绘线模式
  2. 在视频画面上依次单击添加顶点
  3. 预览线实时显示,虚线连接到鼠标位置
  4. 点击「完成」按钮或双击结束绘制
  5. 点击「取消」按钮放弃本次绘制

画面模式

  1. 点击工具栏「画面」按钮进入画面模式
  2. 在视频画面上依次单击添加顶点(至少 3 点)
  3. 多边形预览实时显示,带半透明填充
  4. 点击「完成」按钮或双击闭合多边形
  5. 点击「取消」按钮放弃本次绘制

5.5 标绘技巧

  • 视角选择:尽量选择云台俯仰角较大的帧(俯视视角),标绘精度更高
  • 海拔设置:地面海拔越准确,标绘坐标越精确
  • 实时验证:标绘后观察右侧地图,确认矢量位置是否正确
  • 撤销操作:标绘过程中右键点击可取消当前绘制

6. 地理测量功能

地理测量功能支持面积、路径、高度、坐标四种测量模式,测量结果实时计算并显示。

6.1 测量模式概览

模式 图标 测量内容 单位
面积测量 📱 多边形面积 m²、ha、km²
路径测量 🧭 线段长度 m、km
高度测量 ↕️ 垂直高度差 m、km
坐标查询 🎯 单点经纬度 度(7位小数)

6.2 面积测量

操作步骤

  1. 点击「面积测量」按钮
  2. 设置目标区域的地面海拔
  3. 在视频画面上依次单击绘制多边形顶点(至少 3 点)
  4. 双击或点击「完成」结束测量

结果显示

  • 测量面板显示面积值和单位
  • 自动选择合适单位:
  • < 10000 m² → 显示 m²
  • 10000 ~ 1000000 m² → 显示 ha(公顷)
  • 1000000 m² → 显示 km²

6.3 路径测量

操作步骤

  1. 点击「路径测量」按钮
  2. 设置路径所在区域的地面海拔
  3. 在视频画面上依次单击绘制路径顶点(至少 2 点)
  4. 双击或点击「完成」结束测量

结果显示

  • 测量面板显示路径长度和单位
  • 自动选择合适单位:
  • < 1000 m → 显示 m
  • ≥ 1000 m → 显示 km

6.4 高度测量

高度测量使用铅垂线约束算法,测量垂直物体的高度(如建筑物、电线杆、塔等)。

前提条件

  • 底部点和顶部点必须在同一铅垂线上(经纬度相同)
  • 适合测量有明显垂直边缘的物体

操作步骤

  1. 点击「高度测量」按钮
  2. 设置底部海拔:输入测量对象底部的实际海拔(非起飞点海拔)
  3. 工具栏显示「请点击底部位置」提示
  4. 在视频画面上单击物体底部位置
  5. 工具栏显示「请点击顶部位置」提示
  6. 在视频画面上单击物体顶部位置(同一铅垂线上)
  7. 系统自动计算高度差并显示结果

高度计算原理

系统使用铅垂线约束公式:

h = droneRelAlt × (tan(α_top) - tan(α_base)) / tan(α_top)

其中: - droneRelAlt = 无人机绝对海拔 - 用户输入的底部海拔 - α_base/α_top = 底部/顶部光线与垂线的夹角

6.5 坐标查询

操作步骤

  1. 点击「坐标查询」按钮
  2. 在视频画面上单击目标位置
  3. 系统立即显示该点的地理坐标(7位小数精度)

结果显示

坐标: 120.9639330, 32.5686290

6.6 测量结果管理

查看结果

  • 测量面板位于视频右下角
  • 点击面板标题可展开/折叠
  • 每条结果显示:类型图标、数值、时间

定位结果

  • 点击测量结果条目,地图自动飞到该位置

清空结果

  • 点击「清空全部」按钮删除所有测量记录

7. 矢量图层管理

标绘结果自动创建矢量图层,可通过矢量面板进行管理。

7.1 矢量面板位置

  • 位于右侧地图右上角
  • 浮动面板,可折叠/展开
  • 宽度:280px,高度自适应

7.2 图层列表功能

功能 操作 说明
可见性切换 点击复选框 开/关图层显示
拖拽排序 拖动 ⋮ 手柄 调整图层顺序
符号编辑 点击编辑按钮 打开符号化编辑器
删除图层 点击删除按钮 确认后删除单个图层
查看信息 自动显示 图层名称、要素数量

7.3 批量操作

删除所有矢量

  1. 点击「删除矢量」按钮
  2. 确认对话框中选择「删除」
  3. 所有图层清空

导出矢量

  1. 点击「导出矢量」按钮
  2. 在导出对话框中选择格式和图层
  3. 点击「导出」下载文件

7.4 图层类型图标

图标 类型
📍 点要素图层
↗️ 线要素图层
📄 面要素图层

8. 三维视锥显示

视锥(Frustum)可视化显示相机的拍摄范围,帮助理解视频画面覆盖的地面区域。

8.1 视锥控制面板

位于地图左下角,包含:

  • 视锥显示开关:勾选显示/隐藏视锥
  • 长度调节滑块:调整视锥延伸长度(1~5000 米)

8.2 视锥显示效果

  • 视锥随视频播放实时更新位置和方向
  • 视锥方向由云台偏航角和俯仰角决定
  • 视锥形状由相机 FOV 参数决定(与无人机型号关联)

8.3 视锥长度设置

  • 默认长度:5 米
  • 长度越长,视锥覆盖范围越大
  • 建议根据无人机高度调整:高度越高,长度设置越大

9. 符号化编辑

符号化编辑器允许自定义矢量图层的显示样式。

9.1 打开符号编辑器

  1. 在矢量面板中,鼠标悬停在图层条目上
  2. 点击编辑图标按钮(📝)
  3. 符号化编辑对话框打开

9.2 点要素符号设置

参数 范围 说明
颜色 颜色选择器 点填充颜色
大小 4~24 px 点直径
透明度 0~100% 点透明度

9.3 线要素符号设置

参数 范围 说明
颜色 颜色选择器 线条颜色
线宽 1~10 px 线条宽度
透明度 0~100% 线条透明度
线型 实线/虚线/点线 线条样式

9.4 面要素符号设置

参数 范围 说明
填充色 颜色选择器 多边形填充颜色
填充透明度 0~100% 填充透明度
边框色 颜色选择器 边框线条颜色
边框宽度 1~10 px 边框宽度
边框透明度 0~100% 边框透明度

9.5 预览与确认

  • 编辑器底部提供实时预览画布
  • 点击「重置」恢复原始样式
  • 点击「确定」应用修改

10. 数据导出

10.1 导出对话框

点击矢量面板「导出矢量」按钮打开导出对话框:

导出格式选择

  • GeoJSON:标准地理数据格式,兼容大多数 GIS 软件
  • KML:Google Earth 格式,可在 Google Earth 中查看

图层选择

  • 默认选中所有可见图层
  • 可手动勾选/取消勾选图层
  • 显示每个图层的要素数量

文件名设置

  • 默认文件名:gis_export
  • 自动添加格式后缀(.geojson 或 .kml)

10.2 导出操作

  1. 选择导出格式(GeoJSON 或 KML)
  2. 勾选要导出的图层
  3. 输入文件名
  4. 点击「导出」按钮
  5. 文件自动下载到浏览器默认下载目录

10.3 导出数据内容

GeoJSON 示例:

{
  "type": "FeatureCollection",
  "features": [
    {
      "type": "Feature",
      "geometry": {
        "type": "Point",
        "coordinates": [120.963933, 32.568629, 0]
      },
      "properties": {
        "mode": "point",
        "timestamp": 1715647200000
      }
    }
  ]
}

11. 常见问题与注意事项

11.1 SRT 文件格式要求

标准 DJI SRT 格式

SRT 文件必须包含以下字段:

[latitude: 32.568629] [longitude: 120.963933]
[rel_alt: 6.383 abs_alt: 20.604]
[gb_yaw: 41.1 gb_pitch: -45.0 gb_roll: 0.0]
[dzoom_ratio: 1.00]

字段说明

字段 说明
latitude/longitude GPS 坐标
rel_alt 相对起飞点高度
abs_alt GPS 海拔高度
gb_yaw/gb_pitch/gb_roll 云台三轴角度
dzoom_ratio 变焦比值(影响 FOV)

注意事项

  • 确保使用 DJI 无人机原生生成的 SRT 文件
  • 勿修改或编辑 SRT 文件内容
  • SRT 文件名应与视频文件名匹配

11.2 地面海拔设置建议

场景一:地面标绘

  • 设置起飞点附近地面海拔
  • 公式:地面海拔 ≈ abs_alt - rel_alt(从第一帧数据估算)

场景二:建筑物标绘

  • 设置建筑物底部的实际海拔
  • 可能与起飞点海拔不同

场景三:高度测量

  • 必须设置测量对象底部的实际海拔
  • 这是高度计算的关键参数

11.3 标绘精度影响因素

因素 影响 建议
云台俯仰角 俯视视角精度更高 选择俯仰角较大的帧
地面海拔 直接影响坐标计算 尽量设置准确值
变焦值 改变 FOV,影响投影 选择变焦值稳定的帧
地形起伏 平坦地形精度更高 避免起伏大的区域
无人机高度 高度适中精度最佳 避免过高或过低

11.4 高度测量注意事项

铅垂线约束要求

  • 底部点和顶部点必须在同一垂直线上
  • 适合测量建筑物边角、电线杆、塔等垂直物体

底部海拔设置

  • 输入测量对象底部的真实海拔
  • 不是起飞点海拔,不是地面海拔

操作建议

  • 选择云台接近垂直俯视的帧
  • 底部点和顶部点尽量靠近画面中心
  • 避免云台倾斜角度过大的帧

11.5 常见错误处理

错误提示 原因 解决方案
"请先加载视频和SRT文件" 未加载视频或轨迹 加载 MP4 和 SRT 文件
"请点击视频画面内区域" 点击在 letterbox 区域 点击视频画面内部
"该点无法计算地理坐标" 像素点超出投影范围 选择画面中心的点
"无人机高度低于底部海拔" 海拔设置错误 调整底部海拔值
"光线角度异常" 云台角度超出计算范围 选择俯仰角合适的帧

11.6 最佳实践建议

视频选择

  • 选择云台稳定、俯仰角适中的视频片段
  • 优先选择变焦值固定(1.00)的视频

标绘流程

  1. 先观察 SRT 信息,确定合适的帧
  2. 设置准确的地面海拔
  3. 在画面中心区域进行标绘
  4. 完成后检查地图上的矢量位置
  5. 如位置偏差较大,调整海拔重新标绘

数据管理

  • 及时导出标绘结果
  • 使用合适的图层命名
  • 定期清理不需要的图层

附录:SRT 文件格式详解

SRT 字幕块结构

1
00:00:00,000 --> 00:00:00,033
<font size="28">FrameCnt: 1, DiffTime: 33ms
2026-03-10 15:42:29.234
[iso: 100] [shutter: 1/2127.11] [fnum: 2.8] [ev: 0]
[focal_len: 24.00] [dzoom_ratio: 1.00]
[latitude: 32.568629] [longitude: 120.963933]
[rel_alt: 6.383 abs_alt: 20.604]
[gb_yaw: 41.1 gb_pitch: 0.0 gb_roll: 0.0] </font>

数据频率

  • 帧率:30 fps(每帧约 33ms)
  • 数据点数:视频时长 × 30
  • 例如:10 分钟视频 = 18000 个数据点

解析后数据结构

{
  timestamp: 0.033,          // 时间戳(秒)
  frameCnt: 1,               // 帧序号
  dateTime: '2026-03-10 15:42:29.234',
  position: [120.963933, 32.568629, 6.383],  // [经度, 纬度, 相对高度]
  absAlt: 20.604,            // GPS 海拔高度
  gimbal: {
    yaw: 41.1,               // 云台偏航角
    pitch: 0.0,              // 云台俯仰角
    roll: 0.0                // 云台翻滚角
  },
  dzoomRatio: 1.0,           // 变焦比值
  camera: {
    iso: 100,
    shutter: '1/2127.11',
    fnum: 2.8,
    focalLen: 24.00
  }
}

文档持续更新中,如有问题请联系 技术支持:13305108038