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

有问题评论区提问。


  

相关文章
|
8月前
|
开发工具
使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c(三)
使用FFmpeg4.3.1的SDK官方开发包编译ffmpeg.c(三)
108 0
|
8月前
|
Linux 编译器 数据安全/隐私保护
Windows10 使用MSYS2和VS2019编译FFmpeg源代码-测试通过
FFmpeg作为一个流媒体的整体解决方案,在很多项目中都使用了它,如果我们也需要使用FFmpeg进行开发,很多时候我们需要将源码编译成动态库或者静态库,然后将库放入到我们的项目中,这样我们就能在我们的项目中使用FFmpeg提供的接口进行开发。关于FFmpeg的介绍这里就不过多说明。
349 0
|
3月前
|
缓存 并行计算 Ubuntu
Jetson 学习笔记(十一):jetson agx xavier 源码编译ffmpeg(3.4.1)和opencv(3.4.0)
本文是关于在Jetson AGX Xavier上编译FFmpeg(3.4.1)和OpenCV(3.4.0)的详细教程,包括编译需求、步骤、测试和可能遇到的问题及其解决方案。还提供了Jetson AGX Xavier编译CUDA版本的OpenCV 4.5.0的相关信息。
107 4
Jetson 学习笔记(十一):jetson agx xavier 源码编译ffmpeg(3.4.1)和opencv(3.4.0)
|
3月前
|
Ubuntu 应用服务中间件 nginx
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
本文是关于Ubuntu系统中使用ffmpeg 3.2.16源码编译OpenCV 3.4.0的安装笔记,包括安装ffmpeg、编译OpenCV、卸载OpenCV以及常见报错处理。
251 2
Ubuntu安装笔记(三):ffmpeg(3.2.16)源码编译opencv(3.4.0)
|
3月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
123 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
4月前
|
编解码 NoSQL Java
|
8月前
|
Linux
Linux编译FFmpeg
Linux编译FFmpeg
169 0
|
5月前
|
Web App开发 Android开发
FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
实时数据传输在互联网中至关重要,不仅支持即时通讯如QQ、微信的文字与图片传输,还包括音视频通信。一对一通信常采用WebRTC技术,如《Android Studio开发实战》中的App集成示例;而一对多的在线直播则需部署独立的流媒体服务器,使用如SRT等协议。SRT因其优越的直播质量正逐渐成为主流。本文档概述了SRT协议的使用,包括通过OBS Studio和SRT Streamer进行SRT直播推流的方法,并展示了推流与拉流的成功实例。更多细节参见《FFmpeg开发实战》一书。
87 1
FFmpeg开发笔记(四十六)利用SRT协议构建手机APP的直播Demo
|
5月前
|
编解码 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开启手机直播。
101 4
FFmpeg开发笔记(四十五)使用SRT Streamer开启APP直播推流
|
4月前
|
Python Windows
moviepy:基于 ffmpeg 的视频处理模块
moviepy:基于 ffmpeg 的视频处理模块
79 0