下载x265网站:
https://www.videolan.org/developers/x265.html
在ubuntu16下
按照网站提示运行命令,下载x265源码
hg clone http://hg.videolan.org/x265
如果报错,不支持hg命令行说明没有安装mercurial
sudo apt install mercurial
安装后打开目录,注意x265使用cmake编译工具,确保已安装。
cd x265/build/linux/
./make-Makefiles.bash
如果报./make-Makefiles.bash: 行 3: ccmake: 未找到命令,没有影响,继续执行,(前提是生成了Makefile文件,如果什么文件都没生成,那么需要先装一下cmake。apt-get install cmake)
make
make install
编译安装ffmpeg
./configure --enable-libx265 --enable-gpl
make
make install
笔者还增加了srt,decklink,rtmp等,如下:
sudo ./configure --disable-x86asm --enable-shared --enable-swscale --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-decoder=h264 --enable-decoder=h265 --enable-protocol=rtmp --enable-demuxer=rtsp --enable-parser=h264 --enable-parser=h265 --enable-bsf=extract_extradata --enable-muxer=flv --enable-encoder=h264 --enable-encoder=h265 --enable-decklink --extra-cflags="-I/home/yqw/Deck_Link/DeckLink/DeckLink_SDK/Linux/include" --extra-ldflags="-I/home/yqw/Deck_Link/DeckLink/DeckLink_SDK/Linux/include" --enable-libsrt --enable-libx264 --enable-libx265 --prefix=/usr/local
其编译方式配置,在之前的博客中均可以找到。
在centos7下:
在x265/build/README.txt中介绍了两种编译方法。
如果按照在ubuntu下的安装方式,会弹出一个选择框,用以配置编译选项。比如生成的库安装路径。默认是安装在/usr/local/lib下。
如果使用默认配置可以使用文档提供的另一种方法:
cd x265/build
cmake ../source
sudo make
sudo make install
这种方法普适于linux,在ubuntu上也可以适用。
注意:在centos7中,pkg-config默认只去/usr/lib64/pkgconfig目录下寻找配置.pc配置文件。因此如果默认安装在/usr/local/lib中,那么x265.pc就会放在/usr/local/lib/pkgconfig中。当pkg-config去/usr/lib64/pkgconfig中寻找x265.pc就找不到,因此也就不知道x265.a/x265.so放在哪里了。
解决方法:
cp usr/local/lib/pkgconfig/x265.pc /usr/lib64/pkgconfig
编译后可以用以下命令查看x265都支持哪些参数设置,主要的参数在ffmpeg中都有配置:
x265 -h
git clone https://github.com/cisco/openh264.git cd openh264 meson build sudo ninja -C build/ install
--enable-libopenh264