跳到主要内容

CompressedVideo

压缩视频比特流的单帧

面板支持

CompressedVideo三维面板图像面板中使用。

数据结构

字段类型描述
timestamptime视频帧的时间戳
frame_idstring视频的参考坐标系
databytes压缩视频帧数据
formatstring视频格式

frame_id

帧的原点是相机的光学中心。+x 指向视频的右侧,+y 指向下方,+z 指向视频平面的内部。

data

对于基于数据包的视频编解码器,此数据必须在数据包边界开始和结束(没有部分数据包),并且必须包含足够的视频数据包来解码恰好一个图像(关键帧或增量帧)。注意:Foxglove 不支持包含 B 帧的视频流,因为它们需要前瞻。

具体来说,不同 format 值的要求如下:

  • h264
    • 使用 Annex B 格式的数据
    • 每个 CompressedVideo 消息应包含足够的 NAL 单元来解码恰好一个视频帧
    • 每个包含关键帧(IDR)的消息还必须包含 SPS NAL 单元

format

支持的值:h264

注意:压缩视频支持受硬件限制和专利许可的影响,因此并非所有平台都支持所有编码。

参考实现

可视化数据结构与框架无关,可以使用任何支持的消息编码来实现:

编码数据结构
ROS 1foxglove_msgs/CompressedVideo
ROS 2foxglove_msgs/msg/CompressedVideo
JSONfoxglove.CompressedVideo
Protobuffoxglove.CompressedVideo
FlatBuffersfoxglove.CompressedVideo
OMG IDLfoxglove::CompressedVideo

您必须使用上面指定的数据结构名称,以便可视化能够识别该数据结构。