FFmpeg开发笔记(三十四)Linux环境给FFmpeg集成libsrt和librist

news2024/10/7 2:37:22

《FFmpeg开发实战:从零基础到短视频上线》一书的“10.2  FFmpeg推流和拉流”提到直播行业存在RTSP和RTMP两种常见的流媒体协议。除此以外,还有比较两种比较新的流媒体协议,分别是SRT和RIST。

其中SRT全称为Secure Reliable Transport,中文叫做安全可靠传输协议。RIST全称为Reliable Internet Stream Transport,中文叫做可靠的互联网流传输协议。SRT和RIST两个协议均在2017年发布,腾讯视频云已将SRT作为传输层之上的协议。根据腾讯视频云的实践,相比传统的RTMP直播协议,SRT对推流卡顿问题有明显改善。下面就介绍如何在Linux环境给FFmpeg集成SRT协议的支持库libsrt,以及RIST协议的支持库librist。

一、安装libsrt

libsrt是一款SRT协议的支持库。它的源码托管页面是https://github.com/Haivision/srt,最新版本是2023年8月发布的libsrt-1.5.3,该版本的源码包下载地址是https://github.com/Haivision/srt/archive/refs/tags/v1.5.3.tar.gz。
libsrt的安装步骤说明如下。
1、将下载好的压缩包上传到服务器并解压,也就是依次执行以下命令。

cd /usr/local/src
tar zxvf srt-1.5.3.tar.gz

2、进入解压后的srt目录,运行下面命令配置libsrt。

cd srt-1.5.3
./configure

3、运行下面命令编译libsrt。

make -j4

4、编译完成后,运行下面命令安装libsrt。

make install

二、安装librist

librist是一款RIST协议的支持库。它的源码托管页面在https://code.videolan.org/rist/librist,最新版本是2023年10月发布的librist-v0.2.10,该版本的源码包下载地址是https://code.videolan.org/rist/librist/-/archive/v0.2.10/librist-v0.2.10.tar.gz。
librist的安装步骤说明如下。
1、安装编译工具meson和ninja
这两个工具已经在之前libdav1d的安装过程中安装了,这里不再赘述。
2、将下载好的压缩包上传到服务器并解压,也就是依次执行以下命令。

cd /usr/local/src
tar zxvf librist-v0.2.10.tar.gz
cd librist-v0.2.10

3、进入解压后的build目录,运行下面命令配置librist。

mkdir build
cd build
meson setup

4、运行下面命令编译librist。

ninja

5、编译完成后,运行下面命令安装librist。

ninja install

三、启用libsrt和librist

由于FFmpeg默认未启用libsrt和librist,因此需要重新配置FFmpeg,标明启用libsrt和librist,然后重新编译安装FFmpeg。FFmpeg的Linux环境完整编译过程参见《FFmpeg开发实战:从零基础到短视频上线》一书的“1.2.3  自行编译与安装FFmpeg”,详细的启用步骤说明如下。
1、回到FFmpeg源码的目录,执行以下命令重新配置FFmpeg,主要增加启用libsrt和librist。(增加了选项“ --enable-libsrt --enable-librist”)

./configure --prefix=/usr/local/ffmpeg --enable-shared --disable-static --disable-doc --enable-zlib --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libdavs2 --enable-libmp3lame --enable-libfreetype --enable-libass --enable-libfribidi --enable-libxml2 --enable-fontconfig --enable-sdl2 --enable-libvorbis --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-version3 --enable-libopus --enable-libvpx --enable-openssl --enable-libaom --enable-libsvtav1 --enable-libdav1d --enable-libuavs3d --enable-libwebp --enable-libxvid --enable-libsrt --enable-librist --enable-iconv --enable-gpl --enable-nonfree

2、运行下面命令编译FFmpeg。

make clean
make -j4

3、执行下面命令安装FFmpeg。

make install

4、运行以下命令查看FFmpeg的版本信息。

ffmpeg -version

查看控制台回显的FFmpeg版本信息,找到“ --enable-libsrt --enable-librist”,说明FFmpeg正确启用了SRT协议的支持库libsrt,以及RIST协议的支持库librist。 
更多详细的FFmpeg开发知识参见《FFmpeg开发实战:从零基础到短视频上线》一书。

本系列的FFmpeg进阶文章目录为《FFmpeg开发笔记全目录(FFmpeg开发实战详解,含直播系统的搭建过程)》

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1817005.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

计算机相关专业的探讨

目录 一、计算机相关专业是否仍是“万金油”选择 二、计算机行业的未来发展态势 三、从专业与个人的匹配度判断选择计算机相关专业 四、对于高考生的建议 一、计算机相关专业是否仍是“万金油”选择 计算机相关专业在过去很长一段时间内确实被视为“万金油”专业&#xff0…

中文藏文翻译怎么在线翻译?通过这些方法

中文藏文翻译怎么在线翻译?随着全球化的加速和跨文化交流的日益频繁,中文与藏文之间的翻译需求逐渐增加。为了满足这一需求,各种在线翻译工具和方法应运而生。下面,本文将详细介绍三种中文藏文在线翻译的方法,帮助用户…

[数据集][目标检测]攀墙攀越墙壁数据集VOC格式-701张

数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):701 标注数量(xml文件个数):701 标注类别数:1 标注类别名称:["fq"] 每个类别标…

Button按钮类

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 按钮是GUI界面中应用最为广泛的控件,它常用于捕获用户生成的单击事件,其最明显的用途是触发绑定到一个处理函数。 wxPython类…

51-57 CVPR 2024 | Cam4DOcc:自动驾驶应用中仅摄像机4D占用预测基准

23年12月,上海交通大学、国防科技大学、北京工业大学联合发布Cam4DOcc: Benchmark for Camera-Only 4D Occupancy Forecasting in Autonomous Driving Applications。 本文提出了一种仅摄像机4D占用预测的新基准Cam4Occ,利用现有nuScenes、nuScenes-Ocu…

从客户端WebAPI视角下解读前端学习

API 应用程序接口(API,Application Programming Interface)是基于编程语言构建的结构,使开发人员更容易地创建复杂的功能。它们抽象了复杂的代码,并提供一些简单的接口规则直接使用。 JavaScript VS 客户端 API VS 客…

信息学奥赛初赛天天练-27-CSP-J2022阅读程序位运算、数据类型范围、进制转换攻略

PDF文档公众号回复关键字:20240612 2022 CSP-J 阅读程序1 阅读程序(判断题1.5分 选择题3分 共计40分 ) 01 #include<iostream> 02 03 using namespace std; 04 05 int main() 06 { 07 unsigned short x,y; 08 cin>>x>>y; 09 x (x | x<…

DB-Engines Ranking 2024年6月数据库排行

DB-Engines Ranking 2024年6月数据库排行 DB-Engines排名根据数据库管理系统的受欢迎程度进行排名。排名每月更新一次。 2024年6月&#xff0c;共有421个数据库进入排行。 排行榜 前15名趋势图 关系型数据库前 10 名 键值数据库前 10 名 文档数据库前 10 名 时序数据库前 10 …

MySQL修改存储数据文件目录

MySQL修改存储数据文件目录&#xff0c;记录遇到的一个小麻烦 前提&#xff1a;使用mysql的exe文件执行安装时&#xff0c;有时会疏忽的安装到系统&#xff08;C盘&#xff09;&#xff0c;数据量庞大后&#xff0c;会将系统盘占满&#xff0c;为了处理这个问题&#xff0c;则需…

MFC上下文菜单与定时器学习笔记

本博文简单介绍了上下文菜单以及定时器的知识内容&#xff0c;作为笔记发表在csdn上面。 在这里插入图片描述 菜单资源的使用 添加菜单资源加载菜单资源&#xff1a; 注册窗口类时设置菜单创建窗口传参设置菜单在主窗口WM_CREATE消息中利用SetMenu函数设置 加载菜单资…

【Unity】RPG2D龙城纷争(一)搭建项目、导入框架、前期开发准备

更新日期&#xff1a;2024年6月12日。 项目源码&#xff1a;在第四章发布 免责声明&#xff1a;【RPG2D龙城纷争】使用的图片、音频等所有素材均有可能来自互联网&#xff0c;本专栏所有文章仅做学习和教程目的&#xff0c;不会将任何素材用于任何商业用途。 索引 【系列简介】…

winget install 命令快速安装git到Windows系统

打开命令提示符或PowerShell: 使用快捷键Win X&#xff0c;然后选择“Windows PowerShell”或“命令提示符”。你也可以直接在开始菜单中搜索“cmd”或“PowerShell”。 运行winget命令安装Git: 在命令提示符或PowerShell中&#xff0c;输入以下命令并按回车&#xff1a; win…

Allegro光绘Gerber文件、IPC网表、坐标文件、装配PDF文件导出打包

Allegro光绘Gerber文件、IPC网表、坐标文件、装配PDF文件导出打包 一、Gerber文件层叠与参数设置二、装配图文件设置导出三、光绘参数设置四、Gerber孔符图、钻孔表及钻孔文件输出五、输出Gerber文件六、输出IPC网表七、导出坐标文件八、文件打包 一、Gerber文件层叠与参数设置…

服务攻防-数据库安全(数据库与漏洞利用)

1.安全服务的渗透过程 1.1 判断服务 如果要进行安全服务的渗透&#xff0c;我们先需要知道这个服务是否开启了&#xff0c;在数据库这个部分我们的判断方法主要有以下三种&#xff1a; - 扫描端口&#xff1a;对于不同的数据库来说&#xff0c;使用的端口也是不一样的&#x…

智慧金融新视野:银行数据中心可视化大屏的崛起

在数字化浪潮的推动下&#xff0c;银行业正迎来一场前所未有的变革。在这场变革中&#xff0c;银行数据中心可视化大屏以其独特的魅力&#xff0c;为银行的数据分析和决策提供强有力的支持。 随着金融科技的不断发展&#xff0c;银行对于数据处理和分析的需求日益增长。银行数据…

umi 获取umirc下router配置的name

解决 import { useRouteProps } from umijs/maxexport default function Page() {const routeProps useRouteProps()console.log(routeProps)// use routeProps.custom_key }参数如下图 文档 https://umijs.org/docs/api/api#userouteprops

Latex | 数学公式

Latex 最近在学习使用 LaTeX 来敲公式&#xff0c;写材料。说实话&#xff0c;这个工具在写公式方面&#xff0c;确实堪称神器&#xff01;不只是我&#xff0c;连爱因斯坦要是看到它&#xff0c;估计都会点个赞。 在这里&#xff0c;我也得给大家分享一个宝藏网址&#xff1…

关闭windows11的Defender病毒防护

windows11自带的Defender病毒防护并不是每个人都需要&#xff0c;有些人需要关掉它。网上一搜&#xff0c;出现的都在说在安全中心关闭&#xff0c;但这样关闭后依旧随时都在防护着&#xff0c;有些小软件一运行就会给删掉。 以下的方法也是在网上搜索的&#xff0c;但行之有效…

3-哈希表-71-三数之和-LeetCode15

3-哈希表-71-三数之和-LeetCode15 参考&#xff1a;代码随想录 LeetCode: 题目序号15 更多内容欢迎关注我&#xff08;持续更新中&#xff0c;欢迎Star✨&#xff09; Github&#xff1a;CodeZeng1998/Java-Developer-Work-Note 技术公众号&#xff1a;CodeZeng1998&#xff…

2024年6月15日(星期六)骑行老厂村

2024年6月15日 (星期六) 骑行老厂村&#xff08;新路&#xff09;&#xff0c;早8:30到9:00&#xff0c; 大观公园门囗集合&#xff0c;9:30准时出发【因迟到者&#xff0c;骑行速度快者&#xff0c;可自行追赶偶遇。】 偶遇地点:大观公园门囗集合 &#xff0c;家住东&#xf…