ubuntu18.04 ffmpeg 4.1编译安装(共享库)

官方文档(不能生成共享库):


https://trac.ffmpeg.org/wiki/CompilationGuide/Ubuntu#RevertingChangesMadebyThisGuide
参考CSDN:
https://blog.csdn.net/u010821666/article/details/74905654


为什么官方文档不能生成共享库?

官方文档安装ffmpeg依赖库及ffmpeg本身均加入了static选项,可以去掉static选项(注意,编译安装的ffmpeg依赖的库也要去掉static选项)并加入shared选项。

ubuntu上有没有简单的方法?

1. 首先依赖库均使用sudo apt install 安装,除了libaom外其他都有,libaom是ffmpeg4.1新依赖的库,这个库在这里:

https://download.csdn.net/download/specialshoot/10873750

百度网盘:链接: https://pan.baidu.com/s/1iCakuuaO3OmdjISux8j2_w 提取码: h6hu

2. 编译安装ffmpeg

在安装好依赖库后就可以编译安装ffmpeg了,注意将官方文档static去掉,同时加上enabled-share选项!
编译既生成静态库也生成共享库使用如下配置(配置方法参考了上面的CSDN博客):

cd ~/ffmpeg_sources && \
wget -O ffmpeg-snapshot.tar.bz2 https://ffmpeg.org/releases/ffmpeg-snapshot.tar.bz2 && \
tar xjvf ffmpeg-snapshot.tar.bz2 && \
cd ffmpeg && \
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
--prefix="$HOME/ffmpeg_build" \
--extra-cflags="-I$HOME/ffmpeg_build/include" \
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
--extra-libs="-lpthread -lm" \
--bindir="$HOME/bin" \
--enable-shared \
--enable-gpl \
--enable-libaom \
--enable-libass \
--enable-libfdk-aac \
--enable-libfreetype \
--enable-libmp3lame \
--enable-libopus \
--enable-libvorbis \
--enable-libvpx \
--enable-libx264 \
--enable-libx265 \
--enable-nonfree && \
PATH="$HOME/bin:$PATH" make && \
make install && \
hash -r


注意上面方法有--enable-shared选项,还有编译路径,这里是安装在$HOME/ffmpeg_build即根目录下,我是安装在/usr/local/ffmpeg目录下,将命令中所有的$HOME/ffmpeg_build改为/usr/local/ffmpeg即可。(PATH="$HOME/bin:$PATH"改为PATH="/usr/local/ffmpeg/bin:$PATH")

3. 设置环境变量:

在/etc/profile中最后添加两句(FFMPEG_HOME为我们的ffmpeg安装路径):

export FFMPEG_HOME=/usr/local/ffmpeg
export PATH=$FFMPEG_HOME/bin:$PATH

在/etc/ld.so.conf里添加:

/usr/local/ffmpeg/lib/

所有的ffmpeg安装完毕!

你可能感兴趣的:(学习笔记)