官网拉取srt源码
git clone https://github.com/Haivision/srt.git
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install tclsh pkg-config cmake libssl-dev build-essential zlib1g-dev git
打开目录进行编译
默认的安装路径是/usr/local,默认静态动态一起编译。
./configure
make
make install
为防止后面编译ffmpeg找不到新加入的srt库,刷新一下系统库连接。
sudo ldconfig
编译ffmpeg时新增项
./configure --enable-libsrt
笔者还需要添加其他功能,编译选项为
sudo ./configure --disable-x86asm --enable-shared --enable-libx264 --enable-swscale --enable-gpl --enable-nonfree --enable-libfdk-aac --enable-decoder=h264 --enable-protocol=rtmp --enable-demuxer=rtsp --enable-parser=h264 --enable-bsf=extract_extradata --enable-muxer=flv --enable-encoder=h264 --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 --prefix=/usr/local
make -j10
报错:
error: ‘SRTO_STRICTENC’ undeclared
error: ‘SRTO_SMOOTHER’undeclared
原来是srt已经更新了这两个宏的名称,而ffmpeg还没有更新,需要到libavformat/libsrt.c路径下,手动改一下这两个宏。
SRTO_SMOOTHER -> SRTO_CONGESTION SRTO_STRICTENC ->
SRTO_ENFORCEDENCRYPTION SRTO_TSBPDDELAY -> SRTO_LATENCY//如果报错的话,也更新一下
顺便说一下,百度搜索第四页才找到相关信息,嗟呼!国内音视频门槛依然很高!
sudo make install
其中在centos7会报错:
提示ERROR: srt >= 1.3.0 not found using pkg-config
cp /usr/local/lib64/pkgconfig/haisrt.pc /usr/lib64/pkgconfig
cp srt/srt.pc /usr/lib64/pkgconfig
srt.pc是srt源码的一个文件
关于pkgconfig,见pkgconfig介绍
有问题评论区提问。