1.环境配置,安装显卡驱动,cuda,cudnn

​​​​​​linux上安装NVIDIA显卡驱动以及深度学习需要的cudn、cudnn、pytorch_宜城有少年的博客-CSDN博客_linux安装nvidia显卡驱动

2.安装FFmpeg视频转码所需要的包

(1)安装依赖

yum install autoconf automake bzip2 cmake freetype-devel gcc gcc-c++ git libtool make mercurial pkgconfig zlib-devel

(2)安装包

wget http://www.nasm.us/pub/nasm/releasebuilds/2.13.02/nasm-2.13.02.tar.bz2
tar xjvf nasm-2.13.02.tar.bz2
cd nasm-2.13.02
./autogen.sh
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar xzvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
make
make install
git clone git clone https://code.videolan.org/videolan/x264.git
cd x264
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
make
make install

git clone https://bitbucket.org/multicoreware/x265_git.git
cd x265/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
make
make install
git clone --depth 1 --branch v0.1.6 https://github.com/mstorsjo/fdk-aac.git
cd fdk-aac
autoreconf -fiv
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
wget http://downloads.sourceforge.net/project/lame/lame/3.100/lame-3.100.tar.gz
tar xzvf lame-3.100.tar.gz
cd lame-3.100
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
make
make install
wget https://archive.mozilla.org/pub/opus/opus-1.2.1.tar.gz
tar xzvf opus-1.2.1.tar.gz
cd opus-1.2.1
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
wget http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.gz
tar xzvf libogg-1.3.3.tar.gz
cd libogg-1.3.3
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
make
make install
wget http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.gz
tar xzvf libvorbis-1.3.5.tar.gz
cd libvorbis-1.3.5
./configure --prefix="$HOME/ffmpeg_build" --with-ogg="$HOME/ffmpeg_build" --disable-shared
make
make install
git clone --depth 1 https://github.com/webmproject/libvpx.git
cd libvpx
./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
make
make install
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers
make PREFIX="$HOME/ffmpeg_build" BINDDIR="$HOME/bin"
make install PREFIX="$HOME/ffmpeg_build" BINDDIR="$HOME/bin" 

安装ffmpeg

wget http://ffmpeg.org/releases/ffmpeg-4.4.tar.bz2
tar xjvf ffmpeg-4.4.tar.bz2
cd ffmpeg-4.4
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \--prefix="$HOME/ffmpeg_build" \--pkg-config-flags="--static" \--extra-cflags="-I$HOME/ffmpeg_build/include -I/usr/local/cuda/include" \--extra-ldflags="-L$HOME/ffmpeg_build/lib -L/usr/local/cuda/lib64" \--extra-libs=-lpthread \--extra-libs=-lm \--bindir="$HOME/bin" \--enable-gpl \--enable-libfdk_aac \--enable-libmp3lame \--enable-libopus \--enable-libvorbis \--enable-libvpx \--enable-libx264 \--enable-libx265 \--enable-nonfree \--enable-cuda \--enable-cuvid \--enable-nvenc \--enable-libnpp
make
make install
hash -r

查看版本ffmpeg -h

查看编码器 ffmpeg -hwaccels

查看编码视频是否成功

ffmpeg -hwaccel cuvid -c:v h264_cuvid -i /home/rtsp/test.mp4 -c:v h264_nvenc -b:v 2048k -vf scale_npp=1280:-1 -y /home/2.mp4

3.使用GPU加速JavaCV

    //解析视频时public FFmpegFrameGrabber getGrabberByUrl(String url) throws  Exception{FFmpegFrameGrabber grabber = new FFmpegFrameGrabber(url);grabber.setFormat("rtsp");grabber.setVideoCodecName("hevc_nvenc");//上图安装的解码器,GPU加速的关键grabber.setPixelFormat(avutil.AV_PIX_FMT_NV12);//像素格式grabber.setImageMode(FrameGrabber.ImageMode.COLOR);String byte2Base64= RSAUtil.getMsgByRsa("****");grabber.setOption("rtsp_transport", "tcp");//tcp传输协议grabber.setOption("appkey", "****");//海康视频 appkeygrabber.setOption("secret", byte2Base64);//海康视频 secretgrabber.setOption("playMode", "0");//初始播放模式:0-预览,1-回放grabber.setOption("port", "446");//综合安防管理平台端口,若启用HTTPS协议,默认443grabber.setOption("enableHTTPS", "1"); //是否启用HTTPS协议与综合安防管理平台交互,这里总是填1grabber.setOption("rtsp_flags", "prefer_tcp");// 设置缓存大小,提高画质、减少卡顿花屏grabber.setOption("buffer_size", "1024000");grabber.setOption("stimeout", "3000000");grabber.start();return grabber;}
//推流时
FFmpegFrameRecorder recorder = new FFmpegFrameRecorder(url,grabber.getImageWidth(),grabber.getImageHeight(),1);recorder.setVideoCodecName("h264_nvenc");//编码器,GPU加速关键recorder.setPixelFormat(avutil.AV_PIX_FMT_NV12);//像素格式recorder.setFrameRate(grabber.getFrameRate());recorder.setInterleaved(true);// 降低编码延时/*   recorder.setVideoOption("tune", "zerolatency");// 提升编码速度recorder.setVideoOption("preset", "ultrafast");*/// 视频质量参数(详见 https://trac.ffmpeg.org/wiki/Encode/H.264)recorder.setVideoOption("crf", "28");// 分辨率recorder.setVideoBitrate(2000000);// 视频编码格式recorder.setVideoCodec(grabber.getVideoCodec());// 视频格式recorder.setFormat("flv");// 视频帧率recorder.setFrameRate(grabber.getFrameRate());recorder.setGopSize(60);//recorder.setAudioOption("crf", "0");recorder.setAudioQuality(0);recorder.setAudioBitrate(192000);recorder.setSampleRate(44100);// 建议从grabber获取AudioChannels// recorder.setAudioCodec(avcodec.AV_CODEC_ID_AAC);recorder.start();for(;(frame=grabber.grabImage())!=null;) {recorder.record(frame);}

使用nvidia-smi查看GPU使用情况

Linux下JavaCv使用GPU加速(Nvidia显卡)相关推荐

  1. Windows10下Tensorflow启用GPU加速,显卡GTX1060,踩坑记录

    因为需要用到tensorflow学习深度学习,所以有N卡就想开启GPU加速,结果各种坑 1.安装VS和Python环境  (不用VS的可以不安装,使用其他工具也是一样的) 这里使用VS2019作为开发 ...

  2. Caffe2-windows下caffe的gpu加速

    摘要:本篇日志承载上篇内容,在上篇基础上进行优化和添加.主要说明在正确cpu的caffe框架下如何添加gpu加速的过程. 正文: 上篇说明了如何安装cpu版本的caffe框架,其中我提到过,只有cpu ...

  3. 【Linux下Ubuntu查看电脑cpu和显卡型号信息】

    Linux下Ubuntu查看电脑cpu和显卡型号信息 查看cpu型号终端命令 cat /proc/cpuinfo 输出的model name : 后边即为型号信息 查看显卡型号终端命令 lspci | ...

  4. ubuntu10.04.04在windows下采用WUBI安装(nvidia显卡GeForce 405),附带中文输入法安装

    起因:在windwos下安装虚拟机,在运行linux,赶脚系统运行的特慢,还经常卡机:后想在机子上直接安装ubuntu系统,赶脚那个速度,那个体验还是不必win7差的,虽然是10.04的版本:以下是本 ...

  5. Ubuntu下的lammps GPU加速(真的香)

    参考 Lammps实现GPU加速,博客界面很好看. 显卡驱动安装(本文默认为英伟达) - 检查自己的驱动是否安装成功 nvidia-smi 如果安装成功会有如下输出: 如果未安装会有如下结果: nvi ...

  6. Linux 下 N 卡 GPU 测试

    在win系统下测试工具比较多,现在 N 卡多用于深度学习,有时候会在 Linux下进行 N 卡测试. 测试工具 gpu-burn: Multi-GPU CUDA stress test,github地 ...

  7. ubuntu16.04下安装TensorFlow(GPU加速)----详细图文教程【转】

    本文转载自:https://blog.csdn.net/zhaoyu106/article/details/52793183 le/details/52793183 写在前面 一些废话 接触深度学习已 ...

  8. linux 软件超频,TuxClocker - Linux下又一个GPU超频GUI

    Linux下第三方GPU超频实用工具列表中又增加了TuxClocker,这是一款基于Qt5的用户界面,目前支持NVIDIA显卡和AMD GPU实验支持. TuxClocker是一款Qt5超频工具,不仅 ...

  9. ubuntu16.04下安装TensorFlow(GPU加速)----详细图文教程

    文章来源:http://www.datacups.com/post/1 软件: ubuntu16.04+cuda8.0+cudnn v5+tensorflow 0.11 1. 下载 1.1 系统镜像 ...

最新文章

  1. C语言-二维数组做函数的参数
  2. 并查集(Union-Find)算法介绍
  3. 狂潮微课表示-怎么做免费的百度爱采购推广
  4. IDEA-jetty热加载(类文件和静态资源)
  5. 04:输出保留3位小数的浮点数
  6. 使用账户和密码在FTP客户端连接FTP服务器,出现vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot
  7. C中使用汇编交换两个值
  8. 禅道项目管理软件配置及使用
  9. Bp算法公式推导推导-详解
  10. Spotfire 连接mysql数据库
  11. Element UI 之 Tabs 栏下拉菜单的实现
  12. 2022年黑客书籍推荐
  13. CSDN代码黑色背景设置
  14. [转] 一个女生写给男朋友的!!!~~有点现实、冷静的语言,却让人感觉很温暖!!!
  15. 计算机屏幕发蓝,电脑的颜色突然变成蓝色了,屏幕,什么颜色都和以
  16. 苹果电池显示维修_安装第三方电池的iPhone也可享受苹果官方维修
  17. 随机Tiled Map的生成
  18. ICM-42605 6轴MEMS加速度计陀螺仪运动传感器数据的读取
  19. 【JavaScript】input提示弹出框
  20. LAMP环境让php支持pdo_mysql

热门文章

  1. 我国老年相亲市场的现状分析:百亿级市场的难点与机遇
  2. vue集成activiti6.0 详细教程
  3. 拼多多看似简单,为什么很多的新手商家却亏钱了呢?
  4. 详解“==”和equals的区别
  5. 认真学习MySQL中的二进制日志(binlog)与中继日志(Relay log)
  6. 国产集中式数据库综合对比(达梦、人大金仓、海量)
  7. bom更改编号 sap_SAP ERP系统如何通过LSMW批量更改BOM
  8. java融云即时通开发流程,基于融云开发的 Android 版即时通讯(IM)应用程序
  9. 监听除某元素之外点击事件
  10. PHP实现添加到错题本,如何整理错题本?