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显示有算力占用。

相关推荐
ltl22 分钟前
Cgroups v2:为什么内存限制设了,宿主机数据库还是被 OOM
linux
NJCloud30 分钟前
TiDB 集群部署与 MySQL 兼容性适配实战
linux·运维·数据库·mysql·tidb
2401_8685347832 分钟前
UNIX常用命令英文全称与中文解释整理
linux·运维
阿祖zu2 小时前
开源项目-让本地 Codex 临时接管远程 Linux 服务,实现快速运维
linux·gpt·agent
Android系统攻城狮4 小时前
Linux PipeWire深度解析之pw_factory_create_object调用流程与实战(七十二)
linux·音频进阶·pipewire音频进阶
lsh曙光4 小时前
playbook剧本(2)--Ansible变量
linux·运维·网络
lengjingzju4 小时前
编译与调试完全指南—第14章 系统配置与调优
linux
大鹏的NLP博客5 小时前
通用 Linux 嵌入式板端 C/C++ ABI 与 Glibc 依赖治理规范
linux·c++·交叉编译
tedcloud1236 小时前
book-to-skill 怎么部署?把技术书和项目文档变成 AI Agent 可复用知识
linux·运维·服务器·人工智能·开源
瀚高PG实验室6 小时前
SQL优化案例:使用分区表优化SQL查询性能
linux·服务器·数据库·sql·microsoft·postgresql