找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1352

积分

0

好友

189

主题
发表于 6 天前 | 查看: 23| 回复: 0

ASUS ProArt 4070 Ti显卡在树莓派CM5的eGPU扩展坞中

得益于技术的进步,现在我们已经能够在树莓派平台运行Nvidia显卡驱动。为此,我对手头现有的几款显卡进行了一系列兼容性与性能测试。

很多用户升级硬件后会闲置下一块旧版N卡(例如GTX 3060)。一个很自然的想法是:能否将这些显卡用于树莓派,借助其GPU加速能力来处理视频转码任务?无论是单纯的视频格式转换,还是作为Jellyfin这类媒体服务器软件的后端转码引擎,都是潜在的应用场景。

为了探究其可行性,我在完成驱动和CUDA环境安装后,首要任务是找到一种可重复、标准化的性能基准测试方法。

经过搜寻,我找到了一个由Proryanator开发,名为 encoder-benchmark 的优秀工具。该工具使用Rust语言编写,通过调用ffmpeg对主流的GPU加速视频编码器/解码器(包括Nvidia NVENC/NVDEC、AMD、Intel和Apple的解决方案)进行统一的性能测试。

encoder-benchmark工具界面

项目地址:https://github.com/Proryanator/encoder-benchmark/

基准测试环境搭建

我选择在树莓派计算模块5上进行测试,具体搭建步骤如下:

  1. 安装 Rust 工具链:

    curl https://sh.rustup.rs -sSf | sh

    (安装完成后,需要退出并重新登录终端以使环境变量生效)

  2. 编译 benchmark 工具:

    git clone https://github.com/Proryanator/encoder-benchmark.git
    cd encoder-benchmark
    cargo build --release
  3. 手动下载测试用的原始视频源文件(我选择了 4k-60.y4m1080-60.y4m720-60.y4m),链接详见项目文档。

  4. 运行基准测试:

    ./target/release/benchmark

测试结果分析

在搭载了NVIDIA GeForce RTX 4070 Ti显卡的树莓派CM5上,我得到了如下结果:

树莓派CM5 + 4070 Ti基准测试结果

从结果来看,平均帧率尚可,但“1%最低帧率”这项指标有些令人担忧——它通常约为平均帧率的一半,而此次测试中更低。这暗示GPU的NVENC编码核心可能未能获得持续、高速的数据供给。

瓶颈可能来自两个方面:首先,我的系统启动盘是一块外置USB 3.0 SSD,其最大读取速度约为300-350 MB/s;其次,更关键的是树莓派CM5的PCIe规格限制:它仅提供一条PCIe Gen 3 x1通道,带宽仅为8 GT/s。

为了对比,我将同一块4070 Ti显卡安装到了我的英特尔酷睿Ultra 285K台式机上,该平台具备完整的PCIe Gen 5 x16插槽。尽管4070 Ti仅支持到Gen 4,但其可用带宽依然远超树莓派。

在台式机平台上的测试结果如下:

台式机平台基准测试结果

性能提升非常显著。通过nvtop工具观察可以发现根本原因:在树莓派上,PCIe总线带宽将NVENC引擎的数据吞吐量限制在了约800 MB/s左右。这对于处理大型视频文件(如4K ProRes或高码率蓝光原盘)形成了瓶颈。此外,总线还需要等待速度相对较慢的外置存储设备。

而在台式机上,得益于PCIe Gen 4 x16的高带宽以及同样高速的NVMe系统盘,数据吞吐可以轻松维持在约2 GB/s,完全释放了GPU转码单元的潜力。

实际应用:Jellyfin媒体服务器

不过,对于家庭媒体库的实际应用场景(例如同时向2-3个设备进行流媒体播放),极限吞吐量并非唯一考量。我们更关心的是系统能否稳定、实时地以不同比特率对视频进行转码,以适应电视、笔记本电脑或通过家庭VPN远程访问的设备。

在这个维度上,树莓派搭配外置显卡的方案表现如何呢?

我使用官方脚本在树莓派上安装了Jellyfin媒体服务器。安装完成后,在管理后台的“播放” > “转码”设置中,将硬件加速选项设置为“NVIDIA NVENC”。

随后,我在服务器上存放了一些4K和1080p的H.265编码视频,并尝试同时播放两个流进行测试:

树莓派CM5同时转码两个视频流

实际播放体验非常流畅,转码工作正常。

在功耗方面,系统空闲时(树莓派+eGPU坞站)的总功耗约为29瓦。当转码一个4K视频流时,功耗上升至约100瓦;同时转码一个4K和一个1080p流时,功耗约为130瓦。

总结

综上所述,如果你手头恰好有一块闲置的NVIDIA显卡、一个树莓派以及一个合适的电源,那么为其添置一个eGPU扩展坞来构建一个小型、低功耗的媒体转码服务器,是一个颇具趣味和实用性的方案。虽然受限于树莓派的PCIe带宽,它无法发挥显卡的极致转码性能,但对于常规的多路视频转码和流媒体传输需求,这套“非主流”配置完全能够胜任,同时也能让你在Linux系统和硬件交互方面获得宝贵的实践经验。




上一篇:Linux性能调优实战指南:快速定位CPU、内存与I/O瓶颈
下一篇:ClickHouse推出pg_clickhouse插件:无缝集成PostgreSQL,加速OLAP查询迁移
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2025-12-24 20:52 , Processed in 0.159419 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2025 云栈社区.

快速回复 返回顶部 返回列表