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

posted @ 2014-06-14 18:02  wkyo  阅读(1417)  评论(0编辑  收藏  举报