
最近因為工作需要,要進行265 10bit編碼,所以打算把ffmpeg, x265重新編譯下。
1. 編譯安裝支持10bit的x265庫
要讓x265支持10bit編碼,只需要修改CMake的一個編譯選項即可:
git clone https://github.com/videolan/x265.git
cd x265-master/source
vim CMakeLists.txt
把option(HIGH_BIT_DEPTH "Store pixel samples as 16bit values (Main10/Main12)" OFF)修改為option(HIGH_BIT_DEPTH "Store pixel samples as 16bit values (Main10/Main12)" ON)即可;
最后執行CMake編譯即可:
cd x265-master/build/linux
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/usr/local/x265_10bit -DENABLE_SHARED=ON ../source
make -j4
make install
檢驗是否是真的支持10bit:
cd /usr/local/x265_10bit/bin
./x265 --help
輸出信息如下:
x265 [info]: HEVC encoder version 2.3
x265 [info]: build info [Linux][GCC 4.4.7][64 bit] 10bit
說明支持10bit編碼了。
2. 編譯安裝x264
git clone https://github.com/mirror/x264.git
cd x264
./configure --enable-static --disable-opencl --disable-avs --disable-cli --disable-ffms --disable-gpac --disable-lavf --disable-swscale
make
make install
3. 把新編譯的支持10bit編碼的x265庫集成到ffmpeg中
git clone https://github.com/FFmpeg/FFmpeg.git
cd FFmpeg-master
./configure --enable-ffmpeg --enable-ffplay --enable-gpl --enable-nonfree --enable-postproc --enable-pthreads --enable-libx264 --enable-libx265
make -j4
make install
4. ERROR: x265 not found using pkg-config的解決方法
在安裝ffmpeg --enable-libx265出現ERROR: x265 not found using pkg-config的問題
解決問題三步走
- 第一步:先查看錯誤日志文件vi ffbuild/config.log,查明出現錯誤原因 我這里是找不到x265.pc文件路徑

- 第二步:當前終端執行命令添加環境變量export
PKG_CONFIG_PATH=/usr/local/x265/lib/pkgconfig(路徑是你安裝x265的路徑,按自己的修改添加即可)
如果是線程函數的問題那就在生成的x265.pc文件中Libs.private這一行添加鏈接庫 -lpthread,具體原因按照第一步分析 - 第三步:ok
5. 最后

