ffmpeg-编译汇总
ubuntu18.04下编译ffmpeg |
所有安装目录 /usr/local |
1.nasm编译器编译 (nasm-2.13.03解包) |
./configure --prefix=/usr/local 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) 生成库 make -j4 sudo make install FFmpeg编译后产生的FFmpeg和FFmpeg_g有什么区别 _g一般是里面带了debug信息,方便调试的(比如单步调试) |
//下面是关闭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-pic --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/ ./configure --arch=armel --target-os=linux --enable-static --disable-shared --enable-gpl --enable-libx264 --enable-sdl --enable-nonfree --enable-omx --enable-omx-rpi --enable-encoder=h264_omx --enable-mmal --enable-hwaccel=h264_mmal --enable-decoder=h264_mmal | |
//NVIDIA 1.下载并安装ffnvcodec: git clone https://git.videolan.org/git/ffmpeg/nv-codec-headers.git cd nv-codec-headers && sudo make install 2.下载最新的FFmpeg或libav源代码 git clone https://git.ffmpeg.org/ffmpeg.git[Libav:https://github.com/libav/libav] 3.从NVIDIA网站下载并安装兼容的驱动程序并安装CUDA工具包CUDA工具包 4.ffmpeg命令 ./configure --enable-cuda-sdk --enable-cuvid --enable-nvenc --enable-nonfree --enable-libnpp --extra-cflags=-I/usr/local/cuda/include --extra-ldflags=-L/usr/local/cuda/lib64 5.测试FFmpeg,请尝试以下示例命令行进行1:2转码 ffmpeg -y -hwaccel cuvid -c:v h264_cuvid -vsync 0 -i <input.mp4> -vf scale_npp=1920:1072 -vcodec h264_nvenc <output0.264> -vf scale_npp=1280:720 -vcodec h264_nvenc <output1.264> //jetson-TX2(下载jetson-ffmpeg补丁) ./configure --enable-static --disable-shared --enable-nvmpi --enable-libx264 --enable-libx265 --enable-sdl2 --enable-pthreads --enable-gpl --enable-pic --prefix=/usr/local/ | |
MSYS2下编译 |
MSYS2静态/动态编译 ./configure --enable-static --disable-shared --disable-debug --enable-sdl2 --enable-gpl --enable-libx264 --enable-libx265 --enable-w32threads --disable-pthreads --enable-memory-poisoning --enable-version3 --disable-iconv --disable-bzlib --disable-zlib --disable-lzma --prefix=/home/AGAN/ffmpeg-4.4.1-dev ./configure --enable-shared --disable-debug --enable-sdl2 --enable-gpl --enable-libx264 --enable-libx265 --enable-w32threads --disable-pthreads --enable-memory-poisoning --enable-version3 --disable-iconv --disable-bzlib --disable-zlib --disable-lzma --prefix=/home/AGAN/ffmpeg-4.4.1-devdll msvc 32/64静态/动态编译 ./configure --toolchain=msvc --enable-static --disable-shared --disable-debug --enable-gpl --enable-sdl2 --enable-libx264 --enable-libx265 --enable-w32threads --prefix=/home/AGAN/ffmpeg-4.4.1 ./configure --toolchain=msvc --enable-shared --disable-debug --enable-gpl --enable-sdl2 --enable-libx264 --enable-libx265 --enable-w32threads --prefix=/home/AGAN/ffmpeg-4.4.1 |