http://www.linuxidc.com/Linux/2014-02/97266.htm
所有下载的源
在Ubuntu下FFmpeg编译,支持x264和x265。
Ubuntu 12.04
FFmpeg 2.1 Release
注意:
cmake要升级要2.8.8
yasm要升级到1.2.0
0000. 资料:
http://stackoverflow.com/questions/19634453/ffmpeg-how-to-generate-a-mp4-with-h-265-codec
FFmpeg supports encoding HEVC/H.265 since 2-12-2014 with libx265. Now you can use ffmpeg directly to encode HEVC or use another encoder than manually mux that into .mp4 using FFmpeg. Of course you can still use some patched FFmpeg build, but it is not recommended.
To make matters more confusing, there are two independent projects both named "x265", one by a Chinese college student and is practically dead, and another by a commercial company called MulticoreWare. Although the former started out first, it is practically dead now, and the latter is under active development and is supported by VideoLAN (the developer of x264).
Anyways, these are a complete set of current possibilities of encoding HEVC in order of my recommendation:
Directly using MulticoreWare libx265 with FFmpeg. This means with the latest Zeranoe build you can now do this:
ffmpeg -i INPUT -x265-params crf=25 OUT.mov
Using standalone MulticoreWare x265 and then mux the resulting file with FFmpeg.
Using DivX HEVC Encoder and then mux it.
Using standalone Chinese x265 then mux the resulting file with FFmpeg.
Using patched FFmpeg with Chinese x265 support.
Update: FFmpeg has HEVC encoding support using MulticoreWare libx265 now.
0001.官方说明:
http://ffmpeg.org/general.html
External libraries
x265
FFmpeg can make use of the x265 library for HEVC encoding.
Go to http://x265.org/developers.html and follow the instructions for installing the library. Then pass --enable-libx265 to configure to enable it.
x265 is under the GNU Public License Version 2 or later (see http://www.gnu.org/licenses/old-licenses/gpl-2.0.html for details), you must upgrade FFmpeg’s license to GPL in order to use it.
0002.安装x264
$git clone git://git.videolan.org/x264.git
$cd x264
$./configure --enable-static --disable-opencl --disable-avs --disable-cli --disable-ffms --disable-gpac --disable-lavf --disable-swscale
$make
$make install
0003.安装x265
https://bitbucket.org/multicoreware/x265/wiki/Home
# ubuntu packages:
$ sudo apt-get install mercurial cmake cmake-curses-gui build-essential yasm
# Note: if the packaged yasm is older than 1.2, you must download yasm-1.2 and build it
$ hg clone https://bitbucket.org/multicoreware/x265
$ cd x265/build/linux
$ ./make-Makefiles.bash
# 这里将 LOG_CU_STATISTICS 设置为ON,然后,按下“c”,实现configure,按下“q”退出
$ make
$ make install
0004.下载ffmpeg
从 http://ffmpeg.org/download.html 下载ffmpeg 2.1版本源码
$./configure --enable-libx264 --enable-libx265 --enable-gpl
$make
$make install
1、确认Makefile中指定的config.mak(在ffmpeg根目录下)中:CONFIG_FFPLAY=yes,如果不是需要重新./configure
该处还有ffmpeg、ffprobe、ffserver可以打开。
2、编译时需要安装libsdl1.2-dev,命令为sudo apt-get install libsdl1.2-dev,如果安装失败,之前如果安装过sdl-devel包最好将其卸载。根据错误原因来解决。
------------------------------------------分割线------------------------------------------
推荐阅读:
Linux下编译FFmpeg之下载源文件并编译
Linux 编译升级 FFmpeg 步骤
CentOS 5.6 上安装 FFMPEG
在Ubuntu下安装FFmpeg
Ubuntu 14.04下PPA安装FFmpeg 2.2.2
------------------------------------------分割线------------------------------------------
可能需要附加包:
附加包:
sudo apt-get install libsdl-image1.2-dev
sudo apt-get install libsdl-mixer1.2-dev
sudo apt-get install libsdl-ttf2.0-dev
sudo apt-get install libsdl-gfx1.2-dev
编译选项可以把编码、复用、滤波器等包关了,会小些。
3、make,结束后发现ffplay已经生成了
使用的时候可能还会提醒安装libav-tools,看提示