1. 编译srt
1.1 下载及编译srt代码
git clone https://github.com/Haivision/srt.git
cd srt
./configure
make && make install //或者使用clion的cmake
2. 安装ffmepg之间的准备
依赖ffmpeg动态库,libsrt, libx264, lib265, libfdk_aac等。
2.1 检查是否安装openssl
cmd$ pkg-config --list-all|grep openssl
openssl OpenSSL - Secure Sockets Layer and cryptography libraries and tools
如果已经成功安装,则略过,否则执行
brew install openssl
brew link openssl --force //必须要执行
可能需要执行:
export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:/usr/local/opt/openssl/lib/pkgconfig"
wget https://johnvansickle.com/ffmpeg/release-source/libx264-git.tar.xz
xz -d libx264-git.tar.xz
tar -xvf libx264-git.tar
cd ./libx264-git
./configure
make -j 2
make install
yum install cmake wget https://johnvansickle.com/ffmpeg/release-source/libx265-git.tar.xz
xz -d libx265-git.tar.xz
tar -xvf libx265-git.tar
cd libx265-git/source/
mkdir build
cd build/
cmake ..
make -j 2
make install
wget https://downloads.sourceforge.net/opencore-amr/fdk-aac-2.0.1.tar.gz
tar -xzvf fdk-aac-2.0.1.tar.gz
cd fdk-aac-2.0.1
./configure
make -j 2
make install
wget https://johnvansickle.com/ffmpeg/release-source/ffmpeg-4.1.tar.xz
xz -d ffmpeg-4.1.tar.xz
tar -xvf ffmpeg-4.1.tar
cd ffmpeg-4.1
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure --target-os=linux --arch=x86_64 --enable-cross-compile --disable-avdevice --disable-doc --disable-devices --disable-ffplay --enable-libfdk-aac --enable-libx264 --enable-libx265 --enable-libsrt --enable-nonfree --disable-asm --enable-gpl --pkgconfigdir=/usr/local/lib/pkgconfig --enable-shared
make -j 2
make install
下面问题总结: 检查srt是否安装成功
cmd$: pkg-config --list-all|grep srt
srt srt - SRT library set
3. 安装FFmpeg
3.1 下载ffmpeg代码
3.2 执行./configure:
./configure --enable-libsrt ...
我的例子:
./configure --enable-shared --prefix=/usr/local/ffmpeg --enable-gpl --enable-libx264 --enable-libx265 --enable-libsrt --enable-ffplay --disable-x86asm --extra-cflags=-I/usr/local/include--extra-ldflags=-L/usr/local/lib
如果报错not find x264则需要安装libx264库
如果报错not find x265则需要安装libx265库
因为要生产ffplay (srt-ffplay调用)所以需要安装SDL2库。生成ffplay。
如果报错ffmpeg: error while loading shared libraries: libavdevice.so.58: cannot open
则需要配置环境变量:
#sudo vi /etc/ld.so.conf
在文件中添加路径:
/usr/local/ffmpeg/lib
保存后,更新环境变量
#sudo ldconfig
如果报错“ERROR: srt >= 1.3.0 not found using pkg-config”
则直接查看 ffbuild/config.log,可能并不是srt的原因,而是其他srt依赖库的问题
3.3make -j8
3.4make install 安装完成