ubuntu18.04下编译ffmpeg
所有安装目录 /usr/local
1.nasm编译器编译(nasm-2.13.03解包)
./configure --prefix=/usr/local/nasm
make -j4
sudo make install
注意:能检测到可以不用设置下面的环境。
安装完成后,为了系统能自动找到nasm程序,我们需要配置下环境变量。步骤如下:
输入命令:sudo vim /etc/profile,在文件末尾加入
export NASM_HOME=/usr/local/nasm
export PATH=${NASM_HOME}/bin:$PATH
export LD_LIBRARY_PATH=${NASM_HOME}/bin:$LD_LIBRARY_PATH
2.SDL(SDL2-2.0.10解包) sudo apt-get install xorg-dev
cmake直接编译(注意勾选静态编译 取消掉动态库)
make -j4
sudo make install
3.x264 -fPIC
git clone https://code.videolan.org/videolan/x264.git
./configure --prefix=/usr/local --enable-pic --enable-strip --enable-static --disable-shared
make -j4
sudo make install
4.x265
git clone https://bitbucket.org/multicoreware/x265_git.git
cmake直接编译(注意勾选静态编译)
make -j4
sudo make install
5.ffmpeg测试
先确定安装好apt-get install libasound2-dev libpulse-dev
//下面是关闭asm编译的
./configure --enable-static --disable-shared --disable-yasm --disable-x86asm --enable-libx264 --enable-libx265 --enable-sdl2 --enable-gpl --prefix=/usr/local/
//下面是打开多线程支持ubuntu通用
./configure --enable-static --disable-shared --enable-libx264 --enable-libx265 --enable-sdl2 --enable-pthreads --enable-gpl --prefix=/usr/local/
//树莓派3b
./configure --enable-static --disable-shared --enable-libx264 --enable-libx265 --enable-sdl2 --enable-pthreads --enable-gpl --enable-mmal --enable-omx --enable-omx-rpi --enable-pic --extra-ldflags=-latomic --pkg-config-flags="pkg-config --static" --prefix=/home/pi/dev/ffmpeg-4.4.1-dev/
//香蕉派bpi 未成功
./configure --enable-static --disable-shared --enable-libx264 --enable-libx265 --enable-sdl2 --enable-pthreads --enable-gpl --enable-mmal --enable-omx --enable-omx-rpi --enable-pic --extra-ldflags=-latomic --pkg-config-flags="pkg-config --static" --prefix=/home/pi/dev/ffmpeg-4.4.1-dev/
//打开cuda加速 tx2不一定支持
./configure --enable-static --disable-shared --enable-libx264 --enable-libx265 --enable-sdl2 --enable-pthreads --enable-gpl --prefix=/usr/local/ --enable-cuda --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda-10.1/include --extra-ldflags=-L/usr/local/cuda-10.1/lib64
make -j4
sudo make install
//环境so生效方法
sudo gedit /etc/ld.so.conf
include /usr/local/lib
ldconfig
FFmpeg编译后产生的FFmpeg和FFmpeg_g有什么区别
_g一般是里面带了debug信息,方便调试的(比如单步调试)。