Ubuntu X86编译安装Gstreamer nvenc插件(硬件编码)

本文介绍了如何在最新软件版本下,通过编译Gstreamer插件并整合CUDA 11.7驱动,实现NVENC编码,包括显卡驱动要求、SDK安装、源码编译与配置,以及验证和实际应用测试的过程。
部署运行你感兴趣的模型镜像

1.软件版本:

  • 显卡驱动:≥470.57.02
  • CUDA版本:≥11.4 (sudo apt install cuda-11-7)
  • Video_Codec_SDK: ≥11.1.5
    (链接:https://developer.nvidia.com/nvidia-video-codec-sdk)
  • gtk-doc版本 : ≥1.12 (sudo apt install gtk-doc-tools)

2.下载Gstreamer源码:

git clone https://github.com/GStreamer/gst-plugins-bad

查看本机gstreamer版本:

gst-launch-1.0 –version

切换插件版本与本机源码版本一致:

cd gst-plugins-bad
git branch -b 1.14.5 (当前我的版本)
chmod 777 autogen.sh
./autogen.sh

3.编译安装:
解压 Video_Codec_SDK_11.1.5 执行下面命令:NVIDIA VIDEO CODEC SDK
Video_Codec_SDK_11.1.5 执行下面命令:

sudo cp Interface/* /usr/local/cuda/include
sudo cp Lib/linux/stubs/x86_64/* /usr/local/cuda/lib64/stubs
cd gst-plugins-bad
NVENCODE_LIBS="-L/usr/local/cuda/lib64/stubs" NVENCODE_CFLAGS="-I/usr/local/cuda/include" ./configure --enable-nvenc --enable-openh264 --with-cuda-prefix="/usr/local/cuda-11.7"
(当前我的cuda版本为11.7)
cd nvenc
make -j4
sudo make install

添加环境变量:

echo export GST_PLUGIN_PATH="/usr/local/lib/gstreamer-1.0" >> ~/.bashrc

4.验证插件是否安装成功:

gst-inspect-1.0 nvh264enc

rtp推拉流测试

拉流端:

gst-launch-1.0 udpsrc port=9876 ! application/x-rtp,encoding-name=H264,payload=96 ! rtph264depay ! h264parse ! avdec_h264 ! queue ! videoscale  ! videoconvert ! ximagesink sync=false -e

推流端:

gst-launch-1.0 -v v4l2src device=/dev/video0 ! video/x-raw,format=YUY2,width=640,height=480,framerate=30/1 ! videoconvert ! nvh264enc ! video/x-h264, stream-format=byte-stream ! rtph264pay ! udpsink host=127.0.0.1 port=9876

您可能感兴趣的与本文相关的镜像

PyTorch 2.8

PyTorch 2.8

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

### 安装 GStreamer NVENC 插件 #### Linux 系统安装过程 对于Linux系统,可以通过包管理器或手动编译安装GStreamer及其NVENC插件。使用包管理器是最简单的方法之一。 如果官方仓库不提供最新的GStreamer版本或是特定的NVENC插件,则可能需要从源码构建。这通常涉及到获取必要的依赖项,如NVIDIA VIDEO CODEC SDK[^4]。完成SDK安装之后,按照说明配置环境变量并确保CUDA路径设置正确以便于后续操作顺利进行。 #### Windows 系统安装指南 在Windows环境下部署GStreamer连同其NVENC组件相对复杂一些。一般推荐的做法是从第三方供应商处下载编译好的二进制发行版。这些版本往往已经包含了对各种常用功能的支持,其中包括由NVIDIA提供的硬件编码能力。另外一种方式就是自行编译整个项目;不过这种方式技术门槛较高,并且耗时较长。 #### macOS 平台解决方案 针对macOS用户来说,Homebrew是一个非常好的工具用于简化软件包的管理和更新流程。通过它可以直接安装最新稳定版别的GStreamer以及相关联的各种附加模块,这其中自然也涵盖了能够发挥苹果电脑内置图形处理器效能特性的NVENC特性集。 ```bash brew install gstreamer gst-plugins-{base,good,bad} ``` 以上命令会自动拉取所需的资源并将它们妥善安置好以供调用者随时启用。 需要注意的是,在任何平台上成功集成NVENC之前,必须先确认目标机器已正确安装了兼容版本的NVIDIA驱动程序并且启用了对应的GPU计算服务[^1]。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值