ffmpeg编译配置srt模块

简介: 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
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介绍

有问题评论区提问。


  

相关文章
|
5月前
|
开发工具
使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c(三)
使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c(三)
83 0
|
5月前
|
Linux 编译器 数据安全/隐私保护
Windows10 使用MSYS2和VS2019编译FFmpeg源代码-测试通过
FFmpeg作为一个流媒体的整体解决方案,在很多项目中都使用了它,如果我们也需要使用FFmpeg进行开发,很多时候我们需要将源码编译成动态库或者静态库,然后将库放入到我们的项目中,这样我们就能在我们的项目中使用FFmpeg提供的接口进行开发。关于FFmpeg的介绍这里就不过多说明。
246 0
|
29天前
|
编解码 NoSQL Java
|
13天前
|
Python Windows
moviepy:基于 ffmpeg 的视频处理模块
moviepy:基于 ffmpeg 的视频处理模块
13 0
|
2月前
|
Web App开发 Android开发
FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
实时数据传输在互联网中至关重要,不仅支持即时通讯如QQ、微信的文字与图片传输,还包括音视频通信。一对一通信常采用WebRTC技术,如《Android Studio开发实战》中的App集成示例;而一对多的在线直播则需部署独立的流媒体服务器,使用如SRT等协议。SRT因其优越的直播质量正逐渐成为主流。本文档概述了SRT协议的使用,包括通过OBS Studio和SRT Streamer进行SRT直播推流的方法,并展示了推流与拉流的成功实例。更多细节参见《FFmpeg开发实战》一书。
45 1
FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
|
2月前
|
编解码 Java Android开发
FFmpeg开发笔记(四十五)使用SRT Streamer开启APP直播推流
​SRT Streamer是一个安卓手机端的开源SRT协议直播推流框架,可用于RTMP直播和SRT直播。SRT Streamer支持的视频编码包括H264、H265等等,支持的音频编码包括AAC、OPUS等等,可谓功能强大的APP直播框架。另一款APP直播框架RTMP Streamer支持RTMP直播和RTSP直播,不支持SRT协议的直播。而本文讲述的SRT Streamer支持RTMP直播和SRT直播,不支持RTSP协议的直播。有关RTMP Streamer的说明参见之前的文章《使用RTMP Streamer开启APP直播推流》,下面介绍如何使用SRT Streamer开启手机直播。
62 4
FFmpeg开发笔记(四十五)使用SRT Streamer开启APP直播推流
|
2月前
|
缓存 视频直播 Linux
FFmpeg开发笔记(四十三)使用SRS开启SRT协议的视频直播服务
《FFmpeg开发实战》书中介绍了轻量级流媒体服务器MediaMTX,适合测试但不适用于生产环境。SRS是一款国产开源服务器,支持RTMP、SRT等协议,适合生产使用。要启用SRS的SRT推流,需配置`srt.conf`,开启SRT服务并配置端口。在确保FFmpeg集成libsrt后,拉流则使用类似但带有`m=request`的地址。在Windows上,同样需要集成libsrt的FFmpeg来使用ffplay拉流。SRS的日志确认了推拉流的成功。书中提供更深入的FFmpeg开发知识。
104 2
FFmpeg开发笔记(四十三)使用SRS开启SRT协议的视频直播服务
|
5月前
|
Linux
Linux编译FFmpeg
Linux编译FFmpeg
133 0
|
3月前
|
视频直播 Windows
FFmpeg开发笔记(四十一)结合OBS与MediaMTX实现SRT直播推流
《FFmpeg开发实战》书中介绍了直播中的RTSP、RTMP和SRT协议,SRT提供更低延迟和稳定性。FFmpeg从4.0版起支持SRT,OBS Studio和MediaMTX等工具也已支持。在Windows环境下,通过集成libsrt的FFmpeg,可以建立SRT直播系统。MediaMTX日志显示SRT服务监听8890端口,OBS Studio设置SRT推流至"publish:live"。ffplay和VLC通过"read:live"拉流成功,验证了SRT推拉流功能。更多详情见《FFmpeg开发实战:从零基础到短视频上线》。
112 2
FFmpeg开发笔记(四十一)结合OBS与MediaMTX实现SRT直播推流
|
2月前
|
视频直播 Linux Windows
FFmpeg开发笔记(四十二)使用ZLMediaKit开启SRT视频直播服务
《FFmpeg开发实战》书中介绍了使用MediaMTX测试RTSP/RTMP,但该工具简单,不适合生产环境。ZLMediaKit,一个支持RTSP/RTMP/SRT的国产流媒体服务器,是更好的选择。要通过ZLMediaKit和FFmpeg实现SRT推流,需确保FFmpeg已集成libsrt。ZLMediaKit默认配置文件中,SRT监听9000端口。日志显示推流和拉流成功。ZLMediaKit支持多种音视频编码,如H264、AAC等。要了解更多FFmpeg开发信息,可参考该书。
78 0
FFmpeg开发笔记(四十二)使用ZLMediaKit开启SRT视频直播服务

热门文章

最新文章