CentOS硬解码+ffmpeg+Nvidia硬解码

0.yum换源:

bash 复制代码
  mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
  wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  yum install wget
  curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
  cd  /etc/yum.repos.d/
  ll
  yum install wget
  yum install lrzsz

1.环境配置:

bash 复制代码
  yum update -y
  yum install -y     epel-release     git     wget     yasm     nasm     pkgconfig     gcc     gcc-c++     make     autoconf     automake     libtool     zlib-devel     bzip2     bzip2-devel     freetype-devel     gnutls-devel     libvorbis-devel     libX11-devel     libXfixes-devel     x264-devel     cmake3     libvpx-devel     SDL2-devel     opencv-devel     libass-devel     openjpeg2-devel
  yum -y install autoconf automake make gcc gcc-c++   libass-devel freetype-devel SDL2-devel libtheora-devel   libtool libva-devel libvdpau-devel libvorbis-devel   libxcb-devel texinfo zlib-devel
  yum -y install yasm   x264-devel x265-devel   libvpx-devel fdk-aac-devel   lame-devel opus-devel
  yum -y install glew glew-devel freeglut freeglut-devel   libXmu-devel libGLU-devel

  wget https://archive.mozilla.org/pub/opus/opus-1.3.1.tar.gz
  tar -xzf opus-1.3.1.tar.gz
  cd opus-1.3.1
  ./configure
  make
  make install

2.下载 nv-codec-headers

bash 复制代码
  tar zxvf nv-codec-headers-old-sdk-9.1.zip 
  unzip nv-codec-headers-old-sdk-9.1.zip 
  yum install unzip
  unzip nv-codec-headers-old-sdk-9.1.zip 
  cd nv-codec-headers-old-sdk-9.1
  make
  make install

3.下载 ffmpeg

bash 复制代码
  wget http://ffmpeg.org/releases/ffmpeg-4.2.10.tar.gz && tar zxvf ffmpeg-4.2.10.tar.gz
  ll
  cd ffmpeg-4.2.10
  export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
  ./configure --prefix=/usr/local/ffmpeg   --disable-asm   --disable-x86asm   --enable-cuda   --enable-cuvid   --enable-nvenc   --enable-nonfree   --enable-gpl   --enable-libx264   --enable-libx265   --enable-shared   --enable-libass   --enable-libfdk-aac   --enable-libfreetype   --enable-libmp3lame   --enable-libopus   --enable-libtheora   --enable-libvorbis   --enable-librtmp
  make
  make install
  ffmpeg
  ffmpeg -hwaccels

4.验证rtsp流

bash 复制代码
  ffmpeg -hwaccel cuvid -c:v h264_cuvid -i rtsp://admin:1qazXSW@@192.168.20.154/h264/ch1/main/av_stream -f null -

验证本地视频

bash 复制代码
  ffmpeg -hwaccel cuda -c:v h264_cuvid -i MyVideo_1.mp4 -f null -
  ffmpeg -hwaccel cuda -c:v h264_cuvid -i MyVideo_1.mp4 -f mp4 output.MP4 #保存视频 

能成功用cuda硬解码视频流:top显示cpu占用率明显下降,nvidia-smi显示有算力占用。

相关推荐
bosins3 小时前
WSL 迁移指南:如何将 Linux 环境完整复制到另一台电脑
linux·运维·服务器
企鹅的蚂蚁4 小时前
LubanCat RK3588 实时 Linux 开发(六):启用 gs_usb 驱动并完成 USB-CAN 收发
linux·rk3588·linux驱动·socketcan·gs_usb·usb-can
2601_962299885 小时前
Linux执行Python脚本方法
linux·python·脚本·解释器·shebang
snow@li5 小时前
服务器运维:Linux命令速查手册(全景梳理)
linux·服务器·网络
handler015 小时前
【Linux】线程与虚拟内存的底层世界
linux·运维·服务器·c++·线程·虚拟地址空间·共享内存
新时代牛马5 小时前
实时 Linux:PREEMPT_RT、延迟来源与观测
linux·运维·服务器
微露清风5 小时前
# Linux 进程全景:从 PCB 到 O(1) 调度队列
linux·服务器
H_oRIZoN_5 小时前
Linux入门DAY38(手写 HTTP 客户端抓取天气 + 简易 HTTP 服务器实现元器件 Web 系统)
linux·linux应用编程
fangjianj6 小时前
windows环境反弹shell
linux·windows·web安全
明月不会写代码6 小时前
Ubuntu 下 Kitty 终端配置记录
linux·ubuntu