ffmpeg编译配置srt模块
官网拉取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
sudo 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
sudo ./configure --enable-shared --enable-swscale --enable-gpl --enable-nonfree --enable-decoder=h264 --enable-parser=h264 --enable-bsf=extract_extradata --enable-encoder=h264 --enable-libsrt --prefix=/home/kn/myffmpeg
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介绍
有问题评论区提问。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库