Qualcomm Robotics RB5 平台软件用户指南(3)
3.4 配置视频设置
配置视频设置涉及设置支持的帧速率和接口。 QRB5165 使用 GStreamer 插件 –qtic2venc和qtic2vdec.
QRB5165采用Qualcomm® Adreno™ VPU 665视频核心,支持高达8K分辨率的视频编解码。
-
H.264/HEVC/VP9 解码为 7680 × 4320(60 fps)/8192 × 4320(48 fps)
-
H.264/HEVC 编码为 7680 × 4320 @ 30 fps
QRB5165 提高了解码器和编码器的帧速率 (2 倍)。 -
解码器帧速率:
- 1280 × 720(每秒 960 帧)
- 1920 × 1088(480 帧/秒)
- 240 帧/秒时为 3840 × 2160
- 7680 × 4320(每秒 60 帧)
-
编码器帧速率:
- 1280 × 720(每秒 960 帧)
- 1920 × 1088(480 帧/秒)
- 120 帧/秒时为 3840 × 2160
- 独立 HEVC HDR10+
QRB5165提供两种类型的接口来配置视频硬件功能:
- GStreamer多媒体框架使用调用的GStreamer插件 qtic2venc来访问视频硬件。
- Codec2接口是一个较低级别的API。 QRB5165 利用了 Qualcomm 移动平台的 Codec2 实现。除了 GBM 取代了gralloc模块之外,大多数接口都是相同的。
配置编码器GStreamer插件qtic2venc
3.4.1 配置编码器GStreamer插件qtic2venc
编码和解码示例
- H.264 和 HEVC 编码示例
Encoder: qtic2venc
H264:
gst-launch-1.0 -e qtiqmmfsrc camera=0 name=qmmf ! video/x-raw\(memory:GBM\),format=NV12,width=3840,height=2160,framerate=30/1 ! qtic2venc ! h264parse ! mp4mux ! queue ! filesink location=/data/4k_mux.mp4
H265:
gst-launch-1.0 -e qtiqmmfsrc camera=0 name=qmmf ! video/x-raw\(memory:GBM\),format=NV12,width=3840,height=2160,framerate=30/1 ! qtic2venc ! h265parse ! mp4mux ! queue ! filesink location=/data/4k_mux_h265.mp4
- 解码器GStreamer插件是qtic2vdec
gst-launch-1.0 filesrc location=/data/4k_mux.mp4 ! qtdemux ! queue ! h264parse ! qtic2vdec ! video/x-raw\(memory:GBM\),compression=ubwc ! queue ! waylandsink fullscreen=true
gst-launch-1.0 filesrc location=/data/4k_mux_h265.mp4 ! qtdemux ! queue ! h265parse ! qtic2vdec ! video/x-raw\(memory:GBM\),compression=ubwc ! queue ! waylandsink fullscreen=true
编码器 Codec2 可以支持比qtic2venc.
GBM替代品
在 Codec2 实现中,gralloc被替换为 GBM,因为 GBM 是 Linux 发行版上用于在应用程序之间共享显示缓冲区的流行机制。其他优点如下:
- 由于缓冲区共享,避免了数据复制
- 功耗降至最低
GBM替换的某些用法如下。
- QRB5165 上的摄像头进行视频录制。 Qualcomm 平台提供名为 QMMF 的多媒体框架来使用相机接口。
- 来自相机输出的视频编码。相机和视频之间的缓冲区是 GBM 分配的。
buffer_handle_t在QComOMXMetadata.h中重新定义:
typedef const gbm_bo* buffer_handle_t;
当相机将帧发送到struct encoder_media_buffer_type.
typedef struct encoder_media_buffer_type {
MetadataBufferType buffer_type;
buffer_handle_t meta_handle;
} encoder_media_buffer_type;
这种将相机帧发送到结构内视频的过程encoder_media_buffer_type称为元模式或零复制功能。