2. 无人机视频系统基础
无人机视频系统并不是“摄像头拍到画面,地面站显示出来”这么简单。它是一条从光信号到可播放视频的完整链路,任何一个环节的参数不匹配,都会表现为花屏、卡顿、延迟增大或录像损坏。理解这条链路的基本原理和常见术语,是后续开发地面站视频显示与录像功能的前提。
一、核心原理:一条视频链路的六个环节
无人机视频系统通常由机载端和地面端两部分组成。机载端负责采集、编码和发送,地面端负责接收、解码、显示和存储。整条链路可以概括为:
采集是图像传感器将光信号转换为电信号的过程。常见传感器为 CMOS,输出格式包括 RAW、YUV、RGB 等。采集阶段的关键参数是分辨率、帧率和曝光。分辨率决定画面细节,帧率决定运动流畅度,曝光决定明暗表现。无人机上常用的采集规格有 1080p30、1080p60、4K30 等。
编码是把原始视频数据压缩为更小码流的过程。原始 1080p30 的 YUV420 数据每秒约 93 MB,如果不压缩,无线链路根本无法承载。编码器通过去除空间冗余和时间冗余来降低码率。常见编码标准有 H.264、H.265(HEVC),无人机图传中 H.264 仍最普遍,H.265 在同等画质下可节省约 30%~50% 码率。
传输是把编码后的码流通过无线链路从机载端送到地面端。传输方式包括 Wi-Fi、OFDM 图传、4G/5G 蜂窝网络等。传输阶段最关注的指标是带宽、延迟、丢包率和抗干扰能力。码率必须小于链路可用带宽,否则会出现持续卡顿。
解码是地面端把码流还原为可显示图像的过程。解码可以由软件完成,也可以由硬件解码器完成。硬件解码功耗低、延迟小,适合实时图传;软件解码灵活,适合录像回放和格式兼容。
显示是把解码后的帧送到屏幕。显示阶段涉及渲染、缩放、叠加 OSD 信息等。地面站通常需要在画面上叠加高度、速度、GPS 坐标、电池电量等遥测信息。
存储是把视频帧或码流写入本地磁盘。存储方式分为两种:一种是直接保存编码后的码流,生成 MP4 等文件;另一种是保存解码后的帧,再重新编码。前者效率高、画质无损,是地面站录像的首选。
二、方法流程:从码流到可播放视频
地面站开发中,最常见的处理流程是:接收码流 → 解析封装 → 送入解码器 → 获取图像帧 → 渲染显示 → 同时写入文件。下面是一段典型的伪代码流程:
// 地面站视频处理主循环(伪代码)
while (running) {
packet = udp_receive(); // 接收 RTP/UDP 包
if (packet.is_video) {
frame = depacketize(packet); // 去除 RTP 头,重组 NAL 单元
decoder.send(frame); // 送入 H.264/H.265 解码器
image = decoder.receive(); // 取出一帧 YUV/RGB 图像
renderer.draw(image); // 显示到窗口
recorder.write(frame); // 码流直存,不重新编码
}
}
这里有一个关键设计原则:显示和存储应尽量使用同一份码流。如果先解码再重新编码存储,会引入额外延迟和画质损失;而直接保存原始码流,既节省 CPU,又能保证录像画质与图传一致。
三、常见术语与参数对照
| 术语 | 含义 | 典型值/说明 |
|---|---|---|
| 分辨率 | 画面像素尺寸 | 1920×1080、3840×2160 |
| 帧率 | 每秒图像帧数 | 25/30/60 fps |
| 码率 | 单位时间视频数据量 | 2~8 Mbps(1080p) |
| GOP | 两个关键帧之间的帧数 | 30~60,越小抗丢包越强 |
| I/P/B 帧 | 关键帧、前向预测帧、双向预测帧 | I 帧可独立解码 |
| YUV420 | 常见原始视频色彩格式 | 亮度全采样,色度半采样 |
| RTP/RTSP | 实时传输协议/实时流协议 | 图传常用封装方式 |
| OSD | 屏幕叠加信息 | 高度、速度、坐标、电量 |
四、案例与场景:一次图传卡顿的排查
某次飞行中,地面站画面每隔几秒卡顿一次,但遥测数据正常。排查思路如下:
- 查看图传码率:当前设置为 8 Mbps,而链路实测带宽仅 6 Mbps,码率超过带宽。
- 查看 GOP:设置为 120,关键帧间隔过长,丢包后恢复慢。
- 查看缓冲:地面站缓冲设置为 500 ms,延迟大且容易累积。
- 调整方案:码率降至 4 Mbps,GOP 改为 30,缓冲改为 150 ms。
调整后画面恢复流畅,延迟从约 600 ms 降至约 220 ms。这个案例说明:码率、GOP、缓冲三个参数必须与链路质量匹配,不能只追求高画质。
五、误区与复盘
- 误区一:分辨率越高越好。高分辨率意味着高码率,链路带宽不足时反而更卡。应根据链路质量选择合适分辨率。
- 误区二:只关注显示,不关注存储。录像文件损坏往往是因为写入时未正确闭合文件,或存储线程与显示线程争抢资源。
- 误区三:忽略时间戳。解码和显示必须依赖时间戳对齐,否则会出现音视频不同步或画面抖动。
- 误区四:软解硬解混用不测试。不同平台硬解兼容性差异大,必须在地面站目标设备上实测。
掌握采集、编码、传输、解码、显示、存储这六个环节的基本原理和关键参数,才能在地面站开发中准确定位问题、合理配置参数,并设计出稳定可靠的视频显示与录像功能。