QGroundControl 飞行视图相机工具(Camera Tools)完全指南:拍照、录像与相机配置 无人机智能硬件【免费下载链接】qgroundcontrolCross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)项目地址https://gitcode.com/gh_mirrors/qg/qgroundcontrol点击查看免费下载本文以 QGroundControl 用户指南中的 Camera Tools 文档 为核心骨架结合仓库内相机控制与视频管理的真实源码实现系统讲解飞行视图Fly View中相机工具的完整能力如何拍摄静态照片、录制视频、通过面板配置相机参数以及视频流页面的启用、显示与本地录制。读完本文你将掌握从连接相机、识别相机能力到完成拍照、录像、参数配置的完整操作链路并理解这些操作在底层如何通过 MAVLink 命令落地。一、相机工具能做什么QGroundControl 的相机工具Camera Tools是飞行视图内的一个核心功能区用于三件事拍摄静态图像Still Image——单击拍照或按设定时间间隔进行定时连拍Time Lapse录制视频Video——开始/停止机载录像或在地面站本地录制视频流配置相机Configure Camera——通过面板齿轮图标打开配置项调整曝光、白平衡、分辨率等参数。需要特别强调的是相机捕获与配置选项完全取决于当前连接的相机不是所有选项在所有相机上都会出现。这也是理解相机工具的第一原则。二、相机能力由连接方式决定QGC 支持的相机接入方式有两类能力差异明显简单机载相机Simple autopilot-connected camera只暴露最基本的功能配置项有限支持 MAVLink Camera Protocol 的相机QGC 可以额外使用该协议提供的所有服务。例如若相机支持视频模式你就可以在静态拍摄与视频模式之间切换并开始/停止录制。这套能力路由在 src/Camera/VehicleCameraControl.cc 中有清晰的实现痕迹takePhoto()会先检查_mavlinkCameraInfo.flags如CAMERA_CAP_FLAGS_CAPTURE_IMAGE、CAMERA_CAP_FLAGS_CAPTURE_VIDEO、CAMERA_CAP_FLAGS_CAN_CAPTURE_VIDEO_IN_IMAGE_MODE据此决定走 MAVLink 命令路径还是降级路径startVideoRecording()中同样以CAMERA_CAP_FLAGS_CAPTURE_VIDEO标志判断是发送MAV_CMD_VIDEO_START_CAPTURE还是直接调用本地VideoManager录制VehicleCameraControl.cc#L527-L541。三、相机配置面板齿轮图标与 Camera Definition File配置面板通过面板上的齿轮图标打开。面板中展示的大多数设置项并非写死在地面站里而是由相机自己定义的——它们来自相机的MAVLink Camera Definition File相机定义文件。也就是说相机厂商把「我有哪些参数、每个参数有哪些取值」以 XML 形式发布QGC 读取后动态生成配置界面。仓库中提供了一个完整的示例定义文件src/Camera/camera_definition_example.xml其结构如下definition相机型号与厂商示例中为 Super Dupper Industries 的 SD IIparameters一组parameter定义每个参数含name、type如uint32、float、bool、default值和options枚举项参数之间存在联动约束exclusions与parameterranges例如CAM_MODE设为 Photovalue0时排除视频类参数CAM_VIDRES、CAM_VIDFMT、CAM_AUDIOREC设为 Videovalue1时排除照片类参数CAM_PHOTOFMT、CAM_PHOTOQUAL、CAM_PHOTORES且CAM_ISO只保留部分档位camera_definition_example.xml#L8-L38示例中还定义了 ISO、曝光补偿、快门速度、光圈、白平衡、测光模式、色彩模式、照片/视频分辨率、图像格式Jpeg/Raw/JpegRaw等常见项camera_definition_example.xml#L39-L245videostreams可声明多个视频流如可见光 热成像exclusive0表示各流可同时运行exclusive1表示用户只能选择其一camera_definition_example.xml#L247-L259localization用于多语言显示运行时将原始描述替换为对应语言翻译camera_definition_example.xml#L260-L299。四、末尾的硬编码通用设置与相机定义文件动态生成的参数不同配置面板末尾的几个通用设置是 QGC 硬编码的对所有相机几乎都可用设置项可选值说明Photo ModeSingle / Time Lapse单张拍摄或定时连拍Photo Interval仅 Time Lapse 时显示相邻两张照片的间隔秒数Reset Camera Defaults—向相机发送重置命令恢复出厂默认设置Formatstorage—格式化相机存储卡这些设置对应 src/Camera/VehicleCameraControl.cc 中的真实实现Photo Mode / Photo IntervalsetPhotoCaptureMode()与setPhotoLapse()将选择持久化到QSettings键分别为kPhotoMode与kPhotoLapse并在拍照时读取VehicleCameraControl.cc#L378-L394Reset Camera DefaultsresetSettings()发送MAV_CMD_RESET_CAMERA_SETTINGS命令参数1表示执行重置VehicleCameraControl.cc#L628-L639FormatformatCard(id)发送MAV_CMD_STORAGE_FORMAT参数依次为存储 ID1为第一张卡2为第二张与1执行格式化VehicleCameraControl.cc#L641-L654。一个值得注意的实现细节执行重置或格式化期间_resetting标志会阻止其他拍摄/录制操作避免并发冲突。五、拍照从单击快门到定时连拍takePhoto()是拍照的入口VehicleCameraControl.cc#L440-L487其行为按相机能力分两条路径MAVLink 路径相机支持CAMERA_CAP_FLAGS_CAPTURE_IMAGE且当前不在视频模式、或支持拍照模式下录像发送MAV_CMD_IMAGE_START_CAPTURE参数含义为——参数 1相机编号0表示所有相机参数 2连拍间隔秒数_photoLapse单张模式下为0被忽略参数 3总拍摄张数定时连拍时为_photoLapseCount0表示不限张数。本地降级路径不支持 MAVLink 拍照的相机单张模式直接调用VideoManager::instance()-grabImage()抓取视频帧作为照片定时连拍在这种相机上不支持QGC 会弹窗提示。定时连拍进行中可调用stopTakePhoto()发送MAV_CMD_IMAGE_STOP_CAPTURE提前结束序列VehicleCameraControl.cc#L489-L511。拍照/录像模式之间的切换由toggleCameraMode()完成当前为 Photo/Survey 模式则切到 Video当前为 Video 模式则切回 PhotoVehicleCameraControl.cc#L414-L423若相机定义文件中有CAM_MODE参数则直接写参数值否则发送MAV_CMD_SET_CAMERA_MODE0photo1video。六、视频录制机载录制与本地录制startVideoRecording()/stopVideoRecording()同样区分两条路径VehicleCameraControl.cc#L513-L572相机支持CAMERA_CAP_FLAGS_CAPTURE_VIDEO时发送MAV_CMD_VIDEO_START_CAPTURE/MAV_CMD_VIDEO_STOP_CAPTURE将录制指令交给机载相机/飞控否则调用VideoManager::instance()-startRecording()/stopRecording()由 QGC 在地面站本地对收到的视频流进行编码落盘。每次操作前QGC 都会检查_resetting状态与当前的captureVideoStateIdle/Capturing/Disabled避免重复开始或无效停止。视频流本身在 src/VideoManager/VideoManager.cc 中管理通过aspectRatio()等属性向界面暴露视频宽高比信息VideoManager.cc#L409-L423。七、视频流页面Video Stream视频流页面页面锚点#video_instrument_page用于启用/禁用视频流。启用之后你可以进行以下操作开始/停止视频流在页面内切换视频流的接收与停止启用网格叠加层Grid Overlay在视频画面上叠加网格线便于目视对齐航线或目标更改图像适配屏幕的方式控制视频画面如何填充显示区域用 QGC 本地录制视频将收到的视频流直接录制到地面站本地磁盘。7.1 视频显示的底层配置视频显示相关的所有设置都在 src/Settings/Video.SettingsGroup.json 中定义关键项包括配置项类型默认值说明videoSourcestring空视频流来源UDP、TCP、RTSP 或 UVC 相机udpUrlstring0.0.0.0:5600UDP 视频流绑定地址与端口rtspUrlstring空RTSP 视频流地址如rtsp://192.168.42.1:554/livetcpUrlstring空TCP 视频流地址与端口aspectRatiofloat1.777777视频宽高比宽/高设为 0 表示自动探测gridLinesboolfalse是否在视频视图上叠加网格线videoFituint321画面适配方式见下表showRecControlbooltrue是否在界面显示录制控制按钮recordingFormatuint322本地录制文件格式2mp4、1mov、0mkvmaxVideoSizeuint3210240 MB移动端 2048视频录制最大占用磁盘空间enableStorageLimitboolfalse移动端 true超限时自动删除最旧录像streamEnabledbooltrue视频流默认启用开关disableWhenDisarmedboolfalse解锁disarmed时关闭视频流以节省带宽lowLatencyModeboolfalse关闭 RTP 播放缓冲与重传恢复以降低延迟其中videoFit的四种适配模式Video.SettingsGroup.json#L68-L76枚举值含义0Fit Width按宽度适配1Fit Height按高度适配默认2Fill填满画面可能裁切3No Crop不裁切这些设置在 QML 界面中的实际消费点可见于 src/FlyView/FlightDisplayViewVideo.qml_showGrid读取videoSettings.gridLines.rawValue控制网格线可见性FlightDisplayViewVideo.qml#L18_fitMode读取videoSettings.videoFit.rawValue决定fillModeImage.PreserveAspectCrop等与画面布局FlightDisplayViewVideo.qml#L25aspectRatio则从QGroundControl.videoManager.aspectRatio获取用于计算画面尺寸FlightDisplayViewVideo.qml#L17。7.2 视频流来源配置视频流页面显示的画面上游由videoSource决定常见组合UDP地面站绑定0.0.0.0:5600接收飞控转发来的 MPEG-TS 视频流默认最常用RTSP直接连接相机自带的 RTSP 服务地址TCP某些图传设备以 TCP 推流UVC通过 USB 直连的摄像头。八、操作建议与适用范围面板中「哪些设置项可见、有哪些档位」完全由相机的 Camera Definition File 决定不同相机乃至同型号不同固件展示的配置界面可能不同这属于正常现象「Photo Mode / Photo Interval / Reset / Format」四项为 QGC 硬编码的通用设置不依赖相机定义文件定时连拍功能需要相机具备 MAVLink 静态拍摄能力仅靠视频流抓帧的降级路径不支持定时连拍本地录制VideoManager 路径适用于地面站侧录制视频流录制格式、存储上限、超限自动清理等策略均可通过 Video.SettingsGroup.json 对应的设置页配置若视频画面比例异常可检查aspectRatio0为自动探测与videoFit的组合若需要在画面上辅助对齐可打开gridLines。延伸阅读相机控制的底层实现src/Camera/VehicleCameraControl.cc拍照、录像、重置、格式化、变焦、对焦的 MAVLink 命令封装与 src/Camera/VehicleCameraControl.h相机定义文件完整示例src/Camera/camera_definition_example.xml参数、联动约束、视频流声明、本地化视频管理与接收src/VideoManager/VideoManager.cc视频流属性、本地录制视频显示界面src/FlyView/FlightDisplayViewVideo.qml网格线、适配模式、宽高比视频设置项定义src/Settings/Video.SettingsGroup.json全部视频相关配置及默认值相机管理器与接口src/Camera/QGCCameraManager.cc、src/Camera/QGCCameraIO.cc相机枚举与 IO 调度赞分享无人机智能硬件【免费下载链接】qgroundcontrolCross-platform ground control station for drones (Android, iOS, Mac OS, Linux, Windows)项目地址https://gitcode.com/gh_mirrors/qg/qgroundcontrol点击查看免费下载相关推荐QGroundControl 相机工具Camera Tools完全指南拍照、录像与相机配置QGroundControl 相机工具Camera Tools完全指南拍照、录像与相机配置 本篇技术指南以 QGroundControl 的 Camera无人机智能硬件Flet Camera 控件完全指南实时相机预览、拍照、录像与图像流Flet Camera 控件完全指南实时相机预览、拍照、录像与图像流 Flet 的 flet camera 扩展包让纯 Python 开发者无需任何前端经验前端跨平台桌面应用移动开发uni-app x camera 相机组件完全指南属性、事件、拍照录像与扫码实战uni app x camera 相机组件完全指南属性、事件、拍照录像与扫码实战 本文围绕 uni app x 内置的 camera 相机组件展开系统讲解其示例工程前端移动开发跨平台上一篇NextStep-1140亿参数自回归模型改写图像生成规则连续令牌技术突破传统瓶颈下一篇归藏提示词库微缩模型创作玻璃瓶微缩地点模型的7个实用技巧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考