# 构建视频源组件

视频软件堆栈由 GStreamer 插件和 V4L2 组件组成。

- 软件编译包的 `meta-qcom-multimedia` 镜像包含 V4L2 源组件。有关同步和编译 `meta-qcom-multimedia` 镜像的步骤的详细信息，可参见 [Qualcomm Linux 编译指南](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-254/build_landing_page.html)。
- Qualcomm IM SDK 包含 GStreamer 插件

## 验证视频软件

本节提供了有关视频源树和设备树位置的信息、构建 VPU 驱动程序的步骤、将视频固件二进制文件传输到设备的命令以及有关 GStreamer 插件中的编码和解码视频 API 的信息。

### 用于视频的 V4L2

本节提供了源树相关的信息、构建 VPU 驱动程序的说明以及帮助推送视频固件的命令。

**视频源代码树**

视频软件模块包括 Adreno VPU 驱动程序、视频设备树和固件二进制文件。

- Adreno VPU 驱动程序 BitBake 配方文件。

    | 芯片产品 | VPU 驱动程序 BitBake 配方文件路径 |
    | --- | --- |
    | QCS6490 | `<workspace-path>/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodlkm_1.0.bb` |
    | IQ-9075/IQ-8275 | `<workspace-path>/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodlkm_1.0.bb` |
    |  |  |
- 视频设备树 BitBake 配方文件：根设备树文件包含视频设备树节点。

    | 芯片产品 | 设备树 BitBake 配方文件路径 |
    | --- | --- |
    | QCS6490 | `<workspace-path>/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodtb_1.0.bb` |
    | IQ-9075/IQ-8275 | `<workspace-path>/layers/meta-qcom-hwe/recipes-multimedia/video/qcom-videodtb_1.0.bb` |
    |  |  |

**VPU 驱动程序编译说明**

使用 `devtool` 添加调试更改并编译 VPU 驱动程序 (`iris_vpu.ko`)。要构建 VPU 驱动程序，请按照以下步骤操作：

1. 要访问 VPU 驱动程序的源代码，请运行 BitBake 命令：

MACHINE=<machine> DISTRO=qcom-wayland source setup-environment
        # Example, MACHINE=qcs6490-rb3gen2-vision-kit DISTRO=qcom-wayland source setup-environment
        # source setup-environment: Sets the environment, creates the build directory build-qcom-wayland,
        # and enters into build-qcom-wayland directory.
        Copy to clipboard

Note

有关 `<machine>` 和 `<override>` 的不同组合，请参阅 [Release Note](https://docs.qualcomm.com/bundle/publicresource/topics/RNO-251013063244/ReleaseNote.html)。

devtool modify qcom-videodlkm
        Copy to clipboard
2. 在以下位置对 VPU 驱动程序代码进行所需的调试更改：`<workspace-path>/build-qcom-wayland/workspace/sources/qcom-videodlkm` 进行调试更改后，使用以下命令编译 VPU：

devtool build qcom-videodlkm
        Copy to clipboard
3. 编译后，相应的 `iris_vpu.ko` 可在以下位置获得：`<workspace-path>/build-qcom-wayland/workspace/sources/qcom-videodlkm/qcom/opensource/video-driver/iris_vpu.ko`。
4. 进入 SSH shell 后，使用此命令将编译后的库传输到设备：

Note

必须启动 SSH 才能访问 Linux 主机。相关操作步骤，请参阅[使用 SSH 登录](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-254/how_to.html#use-ssh)。

mount -o rw,remount /
        Copy to clipboard
5. 根据 `<workspace-path>` 和 `<IP address of the device>` 更改以下命令，并在 Linux 主机上运行该命令：

scp <workspace-path>/build-qcom-wayland/workspace/sources/qcom-videodlkm/qcom/opensource/video-driver/iris_vpu.ko root@<IP address of the device>/lib/modules/6.6.97-qli-1.6-ver.1.0-04996-g173807c10943-dirty/updates/
        Copy to clipboard

Note

当系统提示输入密码时，输入 `oelinux123`。
6. 若要查看更新的调试更改，关闭设备电源，然后再打开设备电源。

**视频设备树**

根设备树文件包含视频设备树节点。要访问 VPU 设备树，请按照以下步骤操作：

1. 可使用以下 BitBake 命令来访问 VPU 设备树的源代码：

devtool modify qcom-videodtb
        Copy to clipboard
2. 在以下位置对 VPU 驱动程序代码进行所需的调试更改：`<workspace-path>/build-qcom-wayland/workspace/sources/qcom-videodtb` 进行调试更改后，使用以下命令编译 VPU：

devtool build qcom-videodtb
        Copy to clipboard

VPU 设备树代码可在以下位置获得：`<workspace-path>/build-qcom-wayland/workspace/sources/qcom-videodtb`

**视频固件**

Qualcomm 提供视频固件二进制文件作为预编译镜像。使用以下命令将二进制文件传输到您的设备：

| 芯片产品 | 命令 |
| --- | --- |
| QCS6490 | cd <workspace-path>/build-qcom-wayland/tmp-glibc/work/qcs6490_rb3gen2_vision_kit-qcom-linux/qcom-multimedia-image/1.0-r0/rootfs/lib/firmware/qcom/vpu-2.0<br>    Copy to clipboard<br><br><br>scp vpu20_1v.mbn root@<IP address of the device>/lib/firmware/qcom/vpu-2.0/<br>    Copy to clipboard<br><br><br>scp vpu20_1v_unsigned.mbn root@<IP address of the device>/lib/firmware/qcom/vpu-2.0/<br>    Copy to clipboard |
| IQ-9075/IQ-8275 | cd <workspace-path>/build-qcom-wayland/tmp-glibc/work/qcs9100_ride_sx-qcom-linux/qcom-multimedia-image/1.0-r0/rootfs/lib/firmware/qcom/vpu-3.0<br>    Copy to clipboard<br><br><br>scp vpu30_4v.mbn root@<IP address of the device>/lib/firmware/qcom/vpu-3.0/<br>    Copy to clipboard<br><br><br>scp vpu30_4v_unsigned.mbn root@<IP address of the device>/lib/firmware/qcom/vpu-3.0/<br>    Copy to clipboard |

Note

当系统提示输入密码时，输入 `oelinux123`。

### 用于视频的 GStreamer 插件

Qualcomm IM SDK 包含用于视频解码器和编码器的 GStreamer 插件。下载 Qualcomm IM SDK，以使用 `v4l2h264dec`、`v4l2h265dec`、`v4l2h264enc`、`v4l2h265enc` 和 `v4l2vp9dec` GStreamer 插件。

下表列出了 GStreamer 插件及其相应的参考链接：

| 插件 | 说明/参考链接 |
| --- | --- |
| `v4l2h264dec` | [解码 H.264 视频流](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-50/v4l2h264dec.html) |
| `v4l2h265dec` | [解码 H.265 视频流](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-50/v4l2h265dec.html) |
| `v4l2h264enc` | [编码 H.264 视频流](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-50/v4l2h264enc.html) |
| `v4l2h265enc` | [编码 H.265 视频流](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-50/v4l2h265enc.html) |
| `v4l2vp9dec` | [解码 VP9 视频流](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-50/v4l2vp9dec.html) |

有关下载和编译步骤的信息，请参阅 [Qualcomm Intelligent Multimedia SDK (IM SDK) 快速入门指南](https://docs.qualcomm.com/bundle/publicresource/topics/80-70022-51/qmi-sdk-qsg-landing-page.html)。

## 后续步骤

- [排查视频故障](https://docs.qualcomm.com/doc/80-70022-20SC/topic/bring-up.html#concept-lkc-ny3-bzb)

Last Published: Nov 03, 2025

[Previous Topic
视频架构](https://docs.qualcomm.com/bundle/publicresource/80-70022-20SC/topics/architecture.md) [Next Topic
探索视频示例应用程序](https://docs.qualcomm.com/bundle/publicresource/80-70022-20SC/topics/interfaces.md)

Source: [https://docs.qualcomm.com/doc/80-70022-20SC/topic/software.html](https://docs.qualcomm.com/doc/80-70022-20SC/topic/software.html)