Debian 9 Jessie 编译 ffmpeg 2.2
编译环境
Debian Jessie x86_64
ffmpeg 2.2.3
下载:
-
ffmpeg官网: 戳我
-
github:
git clone https://github.com/FFmpeg/FFmpeg.git ffmpeg
安装必要依赖
sudo apt-get install autoconf automake build-essential libass-dev \
libfreetype6-dev libgpac-dev libsdl1.2-dev libtheora-dev libtool \
libva-dev libvdpau-dev libvorbis-dev libx11-dev libxext-dev \
libxfixes-dev pkg-config texi2html zlib1g-dev yasm
启用 sdl 支持 需要安装 libsdl1.2-dev 而不是 libsdl2-dev.
杂项配置
- 安装路径设置, ffmpeg需要添加编译选项 '--prefix=Path', 一般为
'--prefix=/usr/local' - 生成动态库, 默认只生成静态库. ffmpeg需要添加编译选项 '--enable-shared',
64位系统禁用此选项可能会编译报错. - 优化生成文件大小, ffmpeg需要添加编译选项 '--enable-small', 启用此选项将会使
用更多的时间编译 - 多线程支持, ffmpeg需要添加编译选项 '--enable-pthreads'
- 启用屏幕抓图, ffmpeg需要添加编译选项 '--enable-x11grab'
- 启用opengl, ffmpeg需要添加编译选项 '--enable-opengl', 需要安装显卡驱动
- 启用openssl, ffmpeg需要添加编译选项 '--enable-openssl', (package: libssl-dev)
- 启用视频滤波, ffmpeg需要添加编译选项 '--enable-libopencv', (package: libopencv-dev)
- 字幕渲染, ffmpeg需要添加编译选项 '--enable-libass', (package: libass-dev)
额外的编码/解码器(按需求安装)
-
libfdk-aac AAC音频编码/解码器(package: lixfdk-acc-dev)
ffmpeg需要添加编译选项 '--enable-libfdk_aac --enable-nonfree'
-
libmp3lame MP3编码器(package: libmp3lame-dev)
ffmpeg需要添加编译选项 '--enable-libmp3lame'
-
libopus Opus音频编码/解码器(package: libopus-dev)
ffmpeg需要添加编译选项 '--enable-libopus'
-
libvpx VP8/VP9(.webm)视频编码/解码器(package: libvpx-dev)
ffmpeg需要添加编译选项 '--enable-libvpx'
-
libwavpack wavpack(.wv)音频解码器(pachage: libwavpack-dev)
ffmpeg需要添加编译选项 '--enable-libwavpack'
-
libwebp WebP(.webp)图像编码器(package: libwebp-dev)
ffmpeg需要添加编译选项 '--enable-libwebp'
-
libgme Game Music Emu(游戏音乐仿真器)(package: libgme-dev)
ffmpeg需要添加编译选项 '--enable-libgme'
-
libopenjpeg Jpeg 2000编码/解码器(package: libopenjpeg-dev)
ffmpeg需要添加编译选项 '--enable-libopenjpeg'
-
libx264 H.264视频编码器(package: libx264-dev)
ffmpeg需要添加编译选项 '--enable-gpl --enable-libx264 --extra-libs=-ldl'
-
libx265 x265 HEVC编码器(package: Debian Jessie源内尚未提供)
ffmpeg需要添加编译选项 '--enable-libx265'
本地安装x265 HEVC Encoder:
# 安装编译依赖 $ sudo apt-get install mercurial cmake cmake-curses-gui \ build-essential yasm # 下载源代码 $ hg clone -v https://bitbucket.org/multicoreware/x265 $ cd x265/build/linux # 通过自带的脚本编译 $ ./make-Makefiles.bash $ make # 或者自己使用cmake编译 $ cmake ../../source $ make # 安装可以通过checkinstall制作deb包安装(推荐) 或 直接 make install 安装 # 安装完后运行 sudo ldconfig 更新库
当我执行自带的脚本时,报错: './make-Makefiles.bash: line 3: ccmake: command not found',
看了一下脚本内容发觉官方将cmake错写成了ccmake... 给跪了 -
libxvid native MPEG-4/Xvid编码器(packge: libxvidcore-dev)
ffmpeg需要添加编译选项 '--enable-libxvid'
-
libvorbis Vorbis(.ogg)编码/解码器(package: libvorbis-dev)
ffmpeg需要添加编译选项 '--enable-libvorbis'
-
libopencore-amrnb libopencore-amrwb 3gp格式支持(package: libopencore-amrnb-dev
libopencore-amrwb-dev)ffmpeg需要添加编译选项 '--enable-libopencore-amrnb --enable-opencore-amrwb --enable-version3'
ffmpeg编译
cd ffmpeg
./configure \
--prefix=/usr/local --enable-gpl --enable-nonfree --enable-version3 \
--enable-shared --enable-small --enable-pthreads --enable-x11grab \
--enable-opengl --enable-openssl --enable-libopencv --enable-libfreetype \
--enable-libzvbi --enable-libass --enable-opencl \
--enable-libfdk-aac \
--enable-libmp3lame \
--enable-libopus \
--enable-libvpx \
--enable-libwavpack \
--enable-libwebp \
--enable-libgme \
--enable-libopenjpeg \
--enable-libx264 --extra-libs=-ldl \
--enable-libx265 \
--enable-libxvid \
--enable-libvorbis \
--enable-libopencore-amrnb --enable-libopencore-amrwb
安装
sudo make install && sudo ldconfig
refer to: ffmpeg wiki