Compile FFmpeg on Ubuntu, Debian, or Mint
来源:互联网 发布:蜘蛛侠淘宝客官网 编辑:程序博客网 时间:2024/04/29 01:28
Compile FFmpeg on Ubuntu, Debian, or Mint
Contents
- Get the Dependencies
- Compilation & Installation
- Finish
- Updating FFmpeg
- Reverting Changes Made by This Guide
- If You Need Help
- Also See
This guide for supported releases of Ubuntu, Debian, and Linux Mint will provide a local install of the latest FFmpeg tools and libraries including several external encoding and decoding libraries (codecs). This will not provide a system installation and therefore will not interfere with anything such as repository packages. Recent static builds are also available for lazy people or those who are unable to compile.
Get the Dependencies
Copy and paste the whole code box for each step.
sudo apt-get updatesudo apt-get -y install autoconf automake build-essential git libass-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-devmkdir ~/ffmpeg_sources
- Server users can omit the ffplay and x11 dependencies: libsdl1.2-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxfixes-dev.
- Ubuntu 10.04 Lucid users will need to install the git-core package instead of the git package. Lucid lacks the package libva-dev. This can be ignored.
Compilation & Installation
One advantage to compiling is that you can build ffmpeg to your liking. If you do not require certain encoders you may skip the relevant section and then remove the appropriate ./configure option in FFmpeg. For example, if libopus is not needed, then skip that section and then remove --enable-libopus from the Install FFmpeg section.
Yasm
Yasm is an assembler used by x264 and FFmpeg.
Ubuntu 13.10, Ubuntu 13.04, and Mint 15 users can alternatively install the yasm package from the repository instead of compiling.
cd ~/ffmpeg_sourceswget http://www.tortall.net/projects/yasm/releases/yasm-1.2.0.tar.gztar xzvf yasm-1.2.0.tar.gzcd yasm-1.2.0./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"makemake installmake distclean. ~/.profile
x264
H.264 video encoder. See the x264 Encoding Guide for more information and examples.
cd ~/ffmpeg_sourcesgit clone --depth 1 git://git.videolan.org/x264.gitcd x264./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-staticmakemake installmake distclean
Note: You can download the nightly x264 source snapshot as an alternative to using git.
fdk-aac
AAC audio encoder. See the AAC Encoding Guide for more information and examples.
cd ~/ffmpeg_sourcesgit clone --depth 1 git://git.code.sf.net/p/opencore-amr/fdk-aaccd fdk-aacautoreconf -fiv./configure --prefix="$HOME/ffmpeg_build" --disable-sharedmakemake installmake distclean
Note: You can download a fdk-aac source snapshot as an alternative to using git.
libmp3lame
MP3 audio encoder.
Most users can install the repository package:
sudo apt-get install libmp3lame-dev
Ubuntu 10.04 and Debian Squeeze users must compile:
sudo apt-get install nasmcd ~/ffmpeg_sourceswget http://downloads.sourceforge.net/project/lame/lame/3.99/lame-3.99.5.tar.gztar xzvf lame-3.99.5.tar.gzcd lame-3.99.5./configure --prefix="$HOME/ffmpeg_build" --enable-nasm --disable-sharedmakemake installmake distclean
libopus
Opus audio decoder and encoder.
Ubuntu 13.10, Ubuntu 13.04, and Mint 15 users can alternatively install the libopus-dev package from the repository instead of compiling.
cd ~/ffmpeg_sourceswget http://downloads.xiph.org/releases/opus/opus-1.0.3.tar.gztar xzvf opus-1.0.3.tar.gzcd opus-1.0.3./configure --prefix="$HOME/ffmpeg_build" --disable-sharedmakemake installmake distclean
libvpx
VP8/VP9 video encoder and decoder. See the vpx (WebM) Encoding Guide for more information and examples.
Ubuntu 13.10, Ubuntu 13.04, and Mint 15 users can alternatively install the libvpx-dev package from the repository instead of compiling.
cd ~/ffmpeg_sourcesgit clone --depth 1 http://git.chromium.org/webm/libvpx.gitcd libvpx./configure --prefix="$HOME/ffmpeg_build" --disable-examplesmakemake installmake clean
Note: You can download a libvpx source snapshot as an alternative to using git.
ffmpeg
Note: Server users should remove --enable-x11grab from the following command:
cd ~/ffmpeg_sourcesgit clone --depth 1 git://source.ffmpeg.org/ffmpegcd ffmpegPKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig"export PKG_CONFIG_PATH./configure --prefix="$HOME/ffmpeg_build" \ --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" \ --bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl --enable-libass --enable-libfdk-aac \ --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libvpx \ --enable-libx264 --enable-nonfree --enable-x11grabmakemake installmake distcleanhash -r
Note: You can download the nightly FFmpeg source snapshot as an alternative to using git.
Finish
- Installation is now complete and ffmpeg is now ready for use. See the x264 Encoding Guide for examples.
- If you do not see FFmpeg developers in your ffmpeg console output then something went wrong and you're probably using the fake "ffmpeg" from the repository.
- HTML formatted documentation is available in ~/ffmpeg_build/share/doc/ffmpeg.
- You can keep the ffmpeg_sources directory if you plan on updating later. See Updating FFmpeg below for more details followed by instructions for reverting all changes made by this guide.
Updating FFmpeg
Development of FFmpeg is active and an occasional update can give you new features and bug fixes. First, remove (or move) the old files and then update the dependencies:
rm -rf ~/ffmpeg_build ~/bin/{ffmpeg,ffprobe,ffserver,vsyasm,x264,yasm,ytasm}sudo apt-get updatesudo apt-get -y install autoconf automake build-essential git libass-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
Server users can omit: libsdl1.2-dev libva-dev libvdpau-dev libx11-dev libxext-dev libxfixes-dev.
x264
cd ~/ffmpeg_sources/x264make distcleangit pull
Now run ./configure, make, and make install as shown in the Install x264 section.
fdk-aac
cd ~/ffmpeg_sources/fdk-aacmake distcleangit pull
Now run ./configure, make, and make install as shown in the Install fdk-aac section.
libvpx
cd ~/ffmpeg_sources/libvpxmake cleangit pull
Now run ./configure, make, and make install as shown in the Install libvpx section.
ffmpeg
cd ~/ffmpeg_sources/ffmpegmake distcleangit pull
Now run ./configure, make, and make install as shown in the Install FFmpeg section.
Reverting Changes Made by This Guide
To remove ffmpeg, x264, and dependencies installed for this guide:
rm -rf ~/ffmpeg_build ~/ffmpeg_sources ~/bin/{ffmpeg,ffprobe,ffserver,vsyasm,x264,yasm,ytasm}sudo apt-get autoremove autoconf automake build-essential git libass-dev libgpac-dev \ libmp3lame-dev libopus-dev libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev \ libvorbis-dev libvpx-dev libx11-dev libxext-dev libxfixes-dev texi2html zlib1g-devhash -r
If You Need Help
Feel free to ask questions at the #ffmpeg IRC channel or the ffmpeg-user mailing list.
Also See
- x264 Encoding Guide
- AAC Encoding Guide
External Links
- Howto: Compile the development version of VLC under the latest Ubuntu release
- Howto: Build the svn MPlayer under the latest release version of Ubuntu
- Compile FFmpeg on Ubuntu, Debian, or Mint
- Compile FFmpeg on Ubuntu, Debian, or Mint
- Compile FFmpeg on Ubuntu
- Compile FFmpeg on Ubuntu
- Compile FFmpeg on Ubuntu
- How to install Firefox 17 on Linux Mint, Ubuntu, Debian, CentOS, Fedora ... or any other Linux dist
- Installing or upgrading on Debian or Ubuntu
- 在Ubuntu, Debian, 或Mint系统中编译FFmpeg
- compile and install ffmpeg on Ubuntu
- Install OpenCL on Debian, Ubuntu and Mint orderly
- Install OpenCV on Ubuntu or Debian
- Install OpenCV on Ubuntu or Debian
- Compile FFmpeg on CentOS
- Compile FFmpeg on Ubuntu Lucid Lynx 10.04 LTS
- Compile chromium OS on Debian
- installing-git-on-a-server-ubuntu-or-debian
- Installing wxWidgets and wxPython On Ubuntu Or Debian
- Installing Git on a server (Ubuntu or Debian)
- android下创建数据库的步骤 增删改查 和 测试程序的方法流程
- Android UI 资源大合集(相当的多)
- Vim + Cscope打造Linux下的Source Insight
- ibatis 中 $与#的区别
- SQL Server 触发器
- Compile FFmpeg on Ubuntu, Debian, or Mint
- 不吃早餐,为什么会是引发胆结石的一个主要原因呢。
- mysql子查询不支持limit问题解决
- linux防火墙
- iOS 获取 当前设备 可用内存 及当前 应用 所占内存
- jqGrid如何实现动态列
- svn st 状态详解
- 【C语言学习】01__基本数据类型分析
- 自定义的窗帘效果