rtk3588 gstreamer 插件安装

本文提供了一步一步的指导,演示如何安装和使用Rockchip多媒体处理平台(MPP)以及GStreamer-Rockchip插件。通过Git克隆源码、编译和安装,然后进行编码测试,生成了video.mp4文件,展示了低CPU消耗的视频编码能力。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原链接

安装mpp

git clone https://ghproxy.com/https://github.com/rockchip-linux/mpp --depth=1
cd mpp
mkdir build
cd build
cmake ..
make && sudo make install

安装 gstreamer-rockchip

git clone https://ghproxy.com/https://github.com/JeffyCN/rockchip_mirrors --branch gstreamer-rockchip --depth=1 gstreamer-rockchip
# 如果没有装meson要先装meson
sudo apt install meson ninja-build
cd gstreamer-rockchip
meson build
cd build
meson configure --prefix=/usr
ninja build
sudo ninja install

这时候gstreamer mpp插件就安装好了

gst-inspect-1.0 --plugin | grep mpp

上面指令应该会有以下输出

rockchipmpp:  mpph264enc: Rockchip Mpp H264 Encoder
rockchipmpp:  mpph265enc: Rockchip Mpp H265 Encoder
rockchipmpp:  mppjpegdec: Rockchip's MPP JPEG image decoder
rockchipmpp:  mppjpegenc: Rockchip Mpp JPEG Encoder
rockchipmpp:  mppvideodec: Rockchip's MPP video decoder
rockchipmpp:  mppvp8enc: Rockchip Mpp VP8 Encoder
rockchipmpp:  mppvpxalphadecodebin: VP8/VP9 Alpha Decoder
typefindfunctions: audio/x-musepack: mpc, mpp, mp+

测试一下编码

gst-launch-1.0 v4l2src device=/dev/video0  num-buffers=100 ! video/x-raw, width=640, height=480 ! videoconvert !  queue ! mpph264enc ! h264parse ! mp4mux ! filesink location=video.mp4

这样会生成一个video.mp4文件,可以看到在编码过程中CPU消耗是极小的。如果一切正常就可以用mpv之类的播放器播放这个文件。

### RTK3588 Linux 开发流程 #### 准备工作 为了确保 RK3588 平台上的 Linux 环境能够顺利搭建,准备工作至关重要。这包括获取必要的工具链、内核源码以及构建所需的依赖项。 - 工具链准备:下载并配置适用于 ARM 架构的交叉编译器。 - 获取源码库:从官方仓库克隆最新的 Linux 内核源码树以及其他所需组件。 - 安装依赖包:在主机上安装诸如 `build-essential`、`libncurses-dev` 等必要软件包来支持后续操作[^1]。 #### 配置与编译 完成上述预备步骤之后,则需针对目标硬件特性定制化设置编译选项: - 设置环境变量以便于调用正确的编译工具; - 使用特定的配置文件(如 `.config`),该文件定义了哪些功能模块会被激活或禁用; - 执行实际的编译过程,期间可能会涉及到调整某些参数以优化性能表现。 ```bash export CROSS_COMPILE=arm-linux-gnueabihf- make ARCH=arm64 rk3588_defconfig make -j$(nproc) ``` #### 文件系统创建 对于嵌入式系统的开发而言,建立合适的根文件系统同样不可或缺。此阶段涉及到了解如何组织应用程序及其运行所必需的各种资源,并将其打包成适合加载的形式。 - 利用 BusyBox 或者 Buildroot 这样的项目快速生成基础结构; - 将之前提到过的 FFmpeg 动态链接库放置于 `/mywork/lib/` 下面,可执行程序放入 `/mywork/bin/` 路径下,头文件则存放在 `/mywork/include/` 目录里; #### 测试验证 最后一步就是检验整个移植工作的成果是否达到了预期效果。借助网络挂载技术实现远程访问的同时,在宿主机端利用串行通信接口发送指令给目标机,进而确认 FFmpeg 命令能否正常运作。 ```bash mount -t nfs <服务器IP>:/path/to/rootfs /mnt/ chroot /mnt/ ffmpeg -version ```
评论 12
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值