一、安装SDL
若想要使用ffplay,需要先安装SDL
到SDL官网下载其源码
将SDL2-2.0.10.tar.gz解压到主目录下,得到SDL2-2.0.10文件夹
cd SDL2-2.0.10
./configure –prefix=/usr/local
make
sudo make install
这样就安装好了SDL
二、安装ffmpeg
1.下载ffmpeg
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg/
2.完成一些必要库的安装
sudo apt-get install build-essential yasm cmake libtool libc6 libc6-dev unzip wget libnuma1 libnuma-dev
3.下载并安装nv-codec-headers
git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git
cd nv-codec-headers && sudo make install && cd –
- configure
./configure是源代码安装的第一步,主要的作用是对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系
cd ffmpeg
./configure --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --enable-shared --enable-static --enable-gpl
--enable-libx264 --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64
- make一下
make –j 8
- 安装
sudo make install
7.检验是否安装成功
输入指令
ffmpeg -version
可能出现的问题
ffmpeg:error while loading shared libraries:libavdevice.so.58:cannot open shared object file:No such file or directory
问题原因:ubuntu通过源码安装软件时未进行变量配置,找不到启动路径
解决方法:输入指令
sudo vi /etc/ld.so.conf
在文件中添加路径
/usr/lib/x86_64-linux-gnu
#/usr/lib/x86_64-linux-gnu目录是ffmpeg的安装目录,根据个人不同安装目录修改
更新环境变量
sudo ldconfig
加入全局环境变量路径
sudo vim /etc/profile
在文件中加入以下内容
export PATH=”/usr/local/bin:$PATH”
保存并运行
source /etc/profile
再次检查安装是否成功
ffmpeg-version
出现问题
ffmpeg:error while loading shared libraries:libnppig.so.10.0:cannot open shared object file:No such file or directory
问题原因:是因为ffmpeg未找到相关依赖包。
解决方法:先通过指令得到该文件的目录地址
sudo find / -name libnppig.so.10.0
然后通过指令将上述目录地址添加到最后一行并保存退出
sudo vim /etc/ld.so.conf
使配置生效
sudo ldconfig
然后出现新问题
/usr/local/cuda-10.0/lib64/libcudnn.so.7不是符号连接
解决方法
sudo ln –sf /usr/local/cuda-10.0/lib64/libcudnn.so.7.6.3 /usr/local/cuda-10.0/lib64/libcudnn.so.7
使配置生效
sudo ldconfig
再次检查安装是否成功
ffmpeg –version
得到结果
8.查询解码器指令
ffmpeg –codecs | grep cuvid
9.查询解码器指令
ffmpeg –codecs | grep nvenc