Boost、FFmpeg、OpenCV编译笔记
This commit is contained in:
parent
01b60bfeb7
commit
8e7a8264ca
|
@ -0,0 +1,110 @@
|
|||
# 编译ffmpeg
|
||||
|
||||
省略下载步骤,下载内容见[FFmpeg官方编译Wiki](https://trac.ffmpeg.org/wiki/CompilationGuide)
|
||||
|
||||
## 编译需要的容器
|
||||
|
||||
```commandline
|
||||
docker run -it -d --privileged=true --name centos7 -p 2333:22 centos:7 /usr/sbin/init
|
||||
docker exec -it centos7 bash
|
||||
```
|
||||
|
||||
```shell
|
||||
# 编译需要的环境
|
||||
yum install autoconf automake bzip2 bzip2-devel freetype-devel gcc gcc-c++ git libtool make pkgconfig zlib-devel
|
||||
|
||||
# 解压源码
|
||||
tar xzvf ffmpeg_sources.tar.gz
|
||||
cd ~/ffmpeg_sources
|
||||
|
||||
tar xjvf nasm-2.15.05.tar.bz2
|
||||
tar xzvf yasm-1.3.0.tar.gz
|
||||
tar xzvf lame-3.100.tar.gz
|
||||
tar xzvf opus-1.3.1.tar.gz
|
||||
tar zxvf libvpx.tar.gz -m
|
||||
tar zxvf ffmpeg-4.4.tar.gz
|
||||
tar zxvf x264-stable.tar.gz
|
||||
mv x264-stable x264
|
||||
tar zxvf x265_git.tar.gz
|
||||
tar zxvf fdk-aac.tar.gz
|
||||
|
||||
# 手动安装cmake
|
||||
./cmake-3.21.3-linux-x86_64.sh --prefix=/usr/local
|
||||
mv /usr/local/cmake-3.21.3-linux-x86_64 /usr/local/cmake
|
||||
# 添加到环境变量并生效
|
||||
echo "export PATH=\$PATH:/usr/local/cmake/bin" >> ~/.bashrc
|
||||
source ~/.bashrc
|
||||
|
||||
# 编译nasm
|
||||
cd ~/ffmpeg_sources/nasm-2.15.05
|
||||
./autogen.sh
|
||||
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
|
||||
make -j6 && make install
|
||||
|
||||
# 编译yasm
|
||||
cd ~/ffmpeg_sources/yasm-1.3.0
|
||||
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin"
|
||||
make -j6 && make install
|
||||
|
||||
# 编译x264
|
||||
cd ~/ffmpeg_sources/x264
|
||||
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static
|
||||
make -j6 && make install
|
||||
|
||||
# 编译x265
|
||||
cd ~/ffmpeg_sources/x265_git/build/linux
|
||||
cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX="$HOME/ffmpeg_build" -DENABLE_SHARED:bool=off ../../source
|
||||
make -j6 && make install
|
||||
|
||||
# 编译fdk-aac
|
||||
cd ~/ffmpeg_sources/fdk-aac
|
||||
autoreconf -fiv
|
||||
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
|
||||
make -j6 && make install
|
||||
|
||||
# 编译lame
|
||||
cd ~/ffmpeg_sources/lame-3.100
|
||||
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --disable-shared --enable-nasm
|
||||
make -j6 && make install
|
||||
|
||||
# 编译opus
|
||||
cd ~/ffmpeg_sources/opus-1.3.1
|
||||
./configure --prefix="$HOME/ffmpeg_build" --disable-shared
|
||||
make -j6 && make install
|
||||
|
||||
# 编译vpx
|
||||
cd ~/ffmpeg_sources/libvpx
|
||||
./configure --prefix="$HOME/ffmpeg_build" --disable-examples --disable-unit-tests --enable-vp9-highbitdepth --as=yasm
|
||||
make -j6 && make install
|
||||
|
||||
# 编译ffmpeg
|
||||
cd ~/ffmpeg_sources/ffmpeg-4.4
|
||||
PATH="$HOME/bin:$PATH" PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" ./configure \
|
||||
--prefix="$HOME/ffmpeg_build" \
|
||||
--pkg-config-flags="--static" \
|
||||
--extra-cflags="-I$HOME/ffmpeg_build/include" \
|
||||
--extra-ldflags="-L$HOME/ffmpeg_build/lib" \
|
||||
--extra-libs=-lpthread \
|
||||
--extra-libs=-lm \
|
||||
--bindir="$HOME/bin" \
|
||||
--enable-gpl \
|
||||
--enable-libfdk_aac \
|
||||
--enable-libfreetype \
|
||||
--enable-libmp3lame \
|
||||
--enable-libopus \
|
||||
--enable-libvpx \
|
||||
--enable-libx264 \
|
||||
--enable-libx265 \
|
||||
--enable-nonfree \
|
||||
--enable-shared
|
||||
make -j6 && make install
|
||||
```
|
||||
|
||||
# 编译opencv
|
||||
|
||||
```shell
|
||||
# wget -DCMAKE_INSTALL_PREFIX=/usr/local/
|
||||
mkdir build && cd build
|
||||
PKG_CONFIG_PATH="$HOME/ffmpeg_build/lib/pkgconfig" cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DWITH_FFMPEG=ON ../
|
||||
make -j6 && make install
|
||||
```
|
|
@ -0,0 +1,26 @@
|
|||
# 编译boost[^1]
|
||||
|
||||
## 编译环境
|
||||
|
||||
```shell
|
||||
yum install -y gcc gcc-c++ make wget
|
||||
```
|
||||
|
||||
## 下载
|
||||
|
||||
boost库[官方下载网页](https://www.boost.org/users/download/)
|
||||
|
||||
```shell
|
||||
wget https://boostorg.jfrog.io/artifactory/main/release/1.77.0/source/boost_1_77_0.tar.gz
|
||||
```
|
||||
|
||||
## 编译
|
||||
|
||||
```shell
|
||||
tar -zxvf boost_1_77_0.tar.gz
|
||||
cd boost_1_77_0
|
||||
./bootstrap.sh
|
||||
./b2 -a link=static cxxflags='-fPIC -std=c++11' --with-thread install
|
||||
```
|
||||
|
||||
[^1]: Boost Getting Started on Unix Variants https://www.boost.org/doc/libs/1_77_0/more/getting_started/unix-variants.html#id25
|
Loading…
Reference in New Issue