Deepin 15.8 作为基于debian分支的linux系统,安装ffmpeg方式其实大同小异。
【1】安装yasm
wget http://www.tortall.net/projects/yasm/releases/yasm-1.3.0.tar.gz
tar zxvf yasm-1.3.0.tar.gz
cd yasm-1.3.0
./configure
make && sudo make install
【2】安装g++ cmake
apt install g++ cmake
【3】安装SDL2-2.0 (这里选择SDL2版本的),用于生成ffplay,否则不会生成ffplay
apt install libsdl2-2.0-0 libsdl2-dev libsdl2-doc
【4】安装fdk-acc
wget https://jaist.dl.sourceforge.net/project/opencore-amr/fdk-aac/fdk-aac-0.1.6.tar.gz
tar xvf fdk-aac-0.1.6.tar.gz
cd fdk-aac-0.1.6
./configure
make && sudo make install
【5】安装lame
wget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gz
tar -xzf lame-3.99.5.tar.gz
cd lame-3.99.5
./configure
make && sudo make install
【6】安装nasm
wget https://www.nasm.us/pub/nasm/releasebuilds/2.13.03/nasm-2.13.03.tar.gz
tar xvf nasm-2.13.03.tar.gz
cd nasm-2.13.03
./configure
make && sudo make install
【7】安装x264视频编解码库
wget http://mirror.yandex.ru/mirrors/ftp.videolan.org/x264/snapshots/last_x264.tar.bz2
bunzip2 last_x264.tar.bz2
tar -vxf last_x264.tar
cd last_x264
./configure --enable-static --enable-shared --disable-asm --disable-avs
make && sudo make install
【8】安装x265视频编解码库
wget -c http://mirror.yandex.ru/mirrors/ftp.videolan.org/x265/x265_2.6.tar.gz
tar -zxvf x265_2.6.tar.gz
cd /x265_v2.6/build/linux
./make-Makefiles.bash
make && make install
【9】ffmpeg安装
./configure --prefix=/usr/local/ffmpeg --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-libx264 --enable-libx265 --enable-filter=delogo --enable-debug --disable-optimizations --enable-shared --enable-pthreads --enable-version3 --enable-hardcoded-tables --extra-cflags=-I/usr/local/include --extra-ldflags=-L/usr/local/lib
make && make install
【10】配置环境变量
1> 将ffmpeg的lib目录加入到/etc/ld.so.conf中
2> 将ffmpeg的bin目录加入环境变量
3> vim /etc/profile.d/ffmpeg_env.sh 添加如下代码
#set ffmpeg environment
echo 'start to set ffmpeg environment'
if [ -z "$FFMPEG" ]; then
echo 'export $FFMPEG and $PATH...'
export FFMPEG=/usr/local/ffmpeg
export PATH=$FFMPEG/bin:$PATH
fi
4> 执行如下命令,使变量生效
#ldconfig
#source /etc/profile
5>后续编程需要使用/usr/local/ffmpeg中的lib下的so文件,我们还需要进行如下配置
vim /etc/ld.so.conf.d/ffmpeg.ld.conf
在该文件下入
/usr/local/ffmpeg/lib
然后执行
ldconfig
注意:ldconfig 可能不会生效,需要重启系统
当然还有其他方式,比如将so文件拷贝到/usr/bin下,或者创建软连接
注意:如果上述环境配置不对,编译c文件时会出现 【/usr/bin/ld 未发现xxx】
【10】编译
gcc -g -o helloworld helloworld.c -I /usr/local/ffmpeg/include -L /usr/local/ffmpeg/lib -lavutil -lavformat