linux下ffmpeg enable-libsrt编译方法及问题解决

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"

libx264

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

libx265

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

libfdk_aac

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

ffmpeg

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 安装完成

 

你可能感兴趣的:(c++,ffmepg,linux)