树莓派5 raspberry pi 5 8G 车辆识别开发环境部署
树莓派5 raspberry pi 5 8G 车辆识别开发环境部署
2026年4月25日需要安装版本
一、
gcc-14
cmake-4.31
opencv-4.13
ffmpeg-8.1
gstreamer-1.28.2
默认版本如下:
MNN 3.4.1
HyperLPR-3.0
其他
cpp-httplib-0.42
qt-6.11
安装过程
一、gcc 版本
steven_roc@stevenroc-PCD:~ $ gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/aarch64-linux-gnu/14/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: aarch64-linux-gnu
Configured with: ../src/configure -v –with-pkgversion=’Debian 14.2.0-19′ –with-bugurl=file:///usr/share/doc/gcc-14/README.Bugs –enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2,rust –prefix=/usr –with-gcc-major-version-only –program-suffix=-14 –program-prefix=aarch64-linux-gnu- –enable-shared –enable-linker-build-id –libexecdir=/usr/libexec –without-included-gettext –enable-threads=posix –libdir=/usr/lib –enable-nls –enable-bootstrap –enable-clocale=gnu –enable-libstdcxx-debug –enable-libstdcxx-time=yes –with-default-libstdcxx-abi=new –enable-libstdcxx-backtrace –enable-gnu-unique-object –disable-libquadmath –disable-libquadmath-support –enable-plugin –enable-default-pie –with-system-zlib –enable-libphobos-checking=release –with-target-system-zlib=auto –enable-objc-gc=auto –enable-multiarch –enable-fix-cortex-a53-843419 –disable-werror –enable-offload-targets=nvptx-none=/build/reproducible-path/gcc-14-14.2.0/debian/tmp-nvptx/usr –enable-offload-defaulted –without-cuda-driver –enable-checking=release –build=aarch64-linux-gnu –host=aarch64-linux-gnu –target=aarch64-linux-gnu –with-build-config=bootstrap-lto-lean –enable-link-serialization=2
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 14.2.0 (Debian 14.2.0-19)
sudo apt update && sudo apt upgrade -y
sudo apt update && sudo apt dist-upgrade -y
sudo chown -R steven_roc:steven_roc /opt/openAI
sudo chown -R steven_roc:steven_roc /opt/
一、安装cmake
steven_roc@stevenroc-PCD:~ $ sudo apt update
steven_roc@stevenroc-PCD:~ $ sudo apt install flex bison cmake -y
默认版本
steven_roc@stevenroc-PC:~ $ cmake -version
cmake version 3.31.6
cmake version 3.31.6 cmake-4.31
二、安装openCV-4.13
1、自动安装
steven_roc@stevenroc-PC:~ $ sudo apt update
steven_roc@stevenroc-PC:~ $ sudo apt install libopencv-dev python3-opencv
steven_roc@stevenroc-PC:~ $ opencv_version
4.10.0
2、手动安装 openCV-4.13
三、安装FFMPEG-8.1
1)自动安装
sudo apt update
sudo apt install ffmpeg -y
steven_roc@stevenroc-PC:~ $ ffmpeg -version
ffmpeg version 7.1.3-0+deb13u1+rpt1 Copyright (c) 2000-2025 the FFmpeg developers
built with gcc 14 (Debian 14.2.0-19)
2)、手动安装
cd ~
wget https://gh-proxy.com/https://github.com/Kitware/CMake/releases/download/v4.3.2/cmake-4.3.2-linux-aarch64.sh
git clone https://gh-proxy.com/https://git.ffmpeg.org/ffmpeg.git
git clone https://git.ffmpeg.org/ffmpeg.git cd ffmpeg git checkout n8.1 # 稳定分支 # 配置(关键:启用V4L2和树莓派硬件加速) ./configure \ –prefix=/usr/local \ –enable-gpl \ –enable-libx264 \ –enable-libx265 \ –enable-libvpx \ –enable-libmp3lame \ –enable-libopus \ –enable-libv4l2 \ –enable-vaapi \ –enable-vdpau \ –enable-libdrm \ –enable-hwaccel=h264_vaapi,h264_vdpau,hevc_vaapi,hevc_vdpau \ –enable-nonfree \ –enable-shared \ –disable-stripping make -j$(nproc) sudo make install sudo ldconfig ffmpeg -version # 验证 8.1+
四、安装gstreamer-1.28.2 v4l2slh265dec H.265解码测试BUG排除
1、自动安装 gstreamer-1.26.2
sudo apt update
sudo apt install gstreamer1.0-tools gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly gstreamer1.0-libav -y
sudo apt install -y gstreamer1.0-plugins-base-apps
sudo apt install -y gstreamer1.0-rtsp
sudo apt install -y gstreamer1.0-alsa
sudo apt install -y gstreamer1.0-v4l2 删除
sudo apt update
sudo apt install -y \
gstreamer1.0-tools \
gstreamer1.0-plugins-base \
gstreamer1.0-plugins-good \
gstreamer1.0-plugins-bad \
gstreamer1.0-plugins-ugly \
gstreamer1.0-alsa \
gstreamer1.0-gl \
gstreamer1.0-rtsp \
gstreamer1.0-plugins-base-apps \
gstreamer1.0-libav
sudo apt install v4l-utils
错误处理如下:
steven_roc@stevenroc-PC:~ $ gst-discoverer-1.0 -v rtsp://admin:123456qwe@192.168.16.12:554/stream1
Analyzing rtsp://admin:123456qwe@192.168.16.12:554/stream1
Done discovering rtsp://admin:123456qwe@192.168.16.12:554/stream1
An error was encountered while discovering the file
Unsupported pixel format
steven_roc@stevenroc-PC:~ $ gst-launch-1.0 –version
gst-launch-1.0 version 1.26.2
GStreamer 1.26.2
Unknown package origin
steven_roc@stevenroc-PC:~ $ gst-launch-1.0 –version
gst-launch-1.0 version 1.26.2
GStreamer 1.26.2
https://tracker.debian.org/pkg/gstreamer1.0
steven_roc@stevenroc-PC:~ $ /usr/bin/gst-launch-1.0 –version
gst-launch-1.0 version 1.26.2
GStreamer 1.26.2
https://tracker.debian.org/pkg/gstreamer1.0
steven_roc@stevenroc-PC:~ $ gst-inspect-1.0 | grep 265
closedcaption: h265ccextractor: H.265 Closed Caption Extractor
closedcaption: h265ccinserter: H.265 Closed Caption Inserter
codec2json: h2652json: H2652json
codectimestamper: h265timestamper: H.265 timestamper
de265: libde265dec: HEVC/H.265 decoder
libav: avdec_h265: libav HEVC (High Efficiency Video Coding) decoder
rtp: rtph265depay: RTP H265 depayloader
rtp: rtph265pay: RTP H265 payloader
typefindfunctions: video/x-h265: h265, x265, 265
v4l2codecs: v4l2slh265dec: V4L2 Stateless H.265 Video Decoder
videoparsersbad: h265parse: H.265 parser
x265: x265enc: x265enc
steven_roc@stevenroc-PC:~ $ gst-inspect-1.0 v4l2slh265dec
2、手动安装 gstreamer-1.28.2
cd ~ # 下载源码(GStreamer 1.28.2+ 需从git构建)
git clone https://gitlab.freedesktop.org/gstreamer/gstreamer.git
cd gstreamer git checkout 1.28.2
# 安装依赖(关键:包含v4l2codecs插件)
sudo apt install -y \
libglib2.0-dev libgirepository1.0-dev \
liborc-0.4-dev libcap-dev libudev-dev \
libjson-glib-dev libmount-dev libblkid-dev \
libseccomp-dev libdw-dev libunwind-dev
# 构建核心
meson build –prefix=/usr/local -Dauto_features=enabled ninja -C build sudo ninja -C build install sudo ldconfig
# 安装插件(关键:v4l2slh265dec在gst-plugins-bad中)
cd ~
git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-base.git
git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-good.git
git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git
git clone https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly.git
git clone https://gitlab.freedesktop.org/gstreamer/gst-libav.git # 依次构建(以gst-plugins-bad为例,含v4l2slh265dec)
cd gst-plugins-bad meson build –prefix=/usr/local -Dauto_features=enabled -Dv4l2codecs=enabled ninja -C build sudo ninja -C build install
# 验证关键插件 gst-inspect-1.0 v4l2slh265dec # 应显示插件信息 gst-launch-1.0 videotestsrc ! v4l2h265enc ! fakesink # 测试H.265编码
steven_roc@stevenroc-PC:~ $ gst-launch-1.0 –version
gst-launch-1.0 version 1.28.2
GStreamer 1.28.2
Unknown package origin
十、H.265视频解码
1、 # 强制 avdec_h265 使用多线程(树莓派 5 是 4 核) GST_PLUGIN_FEATURE_RANK=avdec_h265:MAX gst-launch-1.0 \ rtspsrc location=rtsp://admin:123456qwe@192.168.16.12:554/stream1 protocols=tcp latency=500 drop-on-latency=true \ ! rtph265depay \ ! h265parse \ ! avdec_h265 max-threads=4 \ ! videoconvert \ ! fakesink sync=false
2、
steven_roc@stevenroc-PC:~ $ gst-launch-1.0 \
rtspsrc location=rtsp://admin:123456qwe@192.168.16.12:554/stream1 protocols=tcp latency=500 drop-on-latency=true \
! rtph265depay \
! h265parse \
! avdec_h265 \
! videoconvert \
! fakesink sync=false
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Progress: (open) Opening Stream
Pipeline is PREROLLED …
Prerolled, waiting for progress to finish…
Progress: (connect) Connecting to rtsp://admin:123456qwe@192.168.16.12:554/stream1
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (open) Opened Stream
Setting pipeline to PLAYING …
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
Redistribute latency…
Redistribute latency…
Redistribute latency…
^Chandling interrupt.
Interrupt: Stopping pipeline …
Execution ended after 0:00:07.800848371
Setting pipeline to NULL …
Freeing pipeline …
其他、
在树莓派5(基于 Broadcom VideoCore VII GPU)上,系统并没有像 NVIDIA 显卡那样提供一个原生的、直接显示百分比使用率的单一命令。不过,根据不同的使用场景,你可以通过以下几种实用的方法来监控 GPU 的运行状态:
方法一:使用 nvtop工具(强烈推荐,最直观)
nvtop是一款类似于 htop的终端系统监控工具,它支持包括树莓派 VideoCore GPU 在内的多种显卡。nvtop能够以动态图形的方式直观地展示 GPU 使用率、显存占用以及相关进程。
1. 安装 nvtop:
打开终端,执行以下命令:
sudo apt update
sudo apt install nvtop
2. 运行监控:
直接在终端输入:
nvtop
运行后,你会看到一个类似任务管理器的界面。在 Device 0 [VIDEO CORE]栏目下,你可以清晰地看到 GPU使用率百分比和 MEM显存占用情况。
方法二:使用 vcgencmd命令(适合无GUI的纯命令行环境)
vcgencmd是树莓派官方提供的、用于与 VideoCore GPU 进行交互的底层工具。虽然它不能直接告诉你当前 GPU 的“百分比使用率”,但它能查询到 GPU 的核心频率、显存分配和温度等关键指标。
常用监控命令组合:
# 1. 查看 GPU 核心频率 (单位: Hz)
vcgencmd measure_clock core
# 2. 查看 GPU 显存分配情况 (分别显示 ARM CPU 和 GPU 的可寻址内存)
vcgencmd get_mem gpu
vcgencmd get_mem arm
# 3. 查看 GPU (SoC) 温度
vcgencmd measure_temp
💡 提示:如果你在跑图形渲染或视频编解码任务,通过观察 measure_clock core的频率变化,可以间接判断 GPU 是否处于满载工作状态。
方法三:读取内核 fdinfo接口(获取最真实的 GPU 引擎时间)
在 Linux 内核层面,树莓派的 V3D 图形驱动会将 GPU 的渲染(rendering)和赋值的执行情况记录在 /proc文件系统中。这是目前最能反映真实 GPU 算力占用的底层方法。
查看当前所有进程的 GPU 占用明细:
grep -srI drm-engine /proc/*/fdinfo/*
这条命令会遍历所有进程的文件描述符信息,输出类似 drm-engine-v3d: 12345678 ns的结果。这里的数值代表该进程占用 GPU 引擎的累计纳秒数。虽然它不是直接的百分比,但通过两次采样的差值计算,就能精确得出某一瞬间具体是哪个程序吃满了 GPU。
方法四:使用图形化界面工具(适合桌面用户)
如果你正在运行带有桌面的 Raspberry Pi OS,可以直接使用系统自带的图形化任务管理器:
- 打开应用程序菜单,搜索并打开 Task Manager (
lxtask)。 - 在任务管理器的表头右键,确保勾选了 GPU 选项。
- 此时界面中就会多出一列,实时显示各个进程的 GPU 使用百分比。
总结建议:
如果你只是想快速看一眼当前树莓派5的 GPU 有没有在干活、负载高不高,直接安装并运行 nvtop 是迄今为止最省心、最美观的解决方案。
自适应IP