当前位置: 首页 > news >正文

Linux编译SRS并测试RTMP流

目录

1、环境准备与依赖安装

2、编译SRS(Simple RTMP Server)

3、配置SRS服务器

4、测试RTMP推流

5、验证播放流

6、监控与日志

7、关键注意事项


1、环境准备与依赖安装

# 更新软件包列表
sudo apt-get update# 安装编译工具和依赖库
sudo apt-get install -y build-essential automake cmake pkg-config tclsh libpcre3 libpcre3-dev libssl-dev zlib1g-dev# 安装FFmpeg(用于后续推流测试)
sudo apt-get install -y ffmpeg

2、编译SRS(Simple RTMP Server)

获取SRS源码:从官方仓库克隆代码(建议使用国内码云镜像若GitHub访问慢)安装编译依赖工具:

./configure && make

编译成功后,可在 ./objs/ 目录下找到 srs 可执行文件。

编译完成后启动服务:

./objs/srs -c conf/srs.conf

3、配置SRS服务器

编辑配置文件conf/srs.conf,确保包含以下基础配置:

max_connections     1000;
#srs_log_tank        file;
#srs_log_file        ./objs/srs.log;
daemon              on;
rtmp {listen              1935;
}
http_api {enabled         on;listen          1985;
}
http_server {enabled         on;listen          8080;dir             ./objs/nginx/html;
}

4、测试RTMP推流

使用FFmpeg推流测试:

ffmpeg -re -i input.mp4 -c copy -f flv rtmp://localhost/live/stream1

OBS推流设置:

  • 服务器URL:rtmp://localhost/live
  • 流密钥:自定义名称如stream1

5、验证播放流

RTMP播放测试:

ffplay -i rtmp://localhost/live/stream1

6、监控与日志

实时监控日志:

tail -f ./objs/srs.log

7、关键注意事项

防火墙需要开放1935(RTMP)和8080(HTTP)端口:

firewall-cmd --add-port=1935/tcp --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload

如果遇到编码问题,在FFmpeg命令中指定编码格式:

ffmpeg -re -i input.mp4 -c:v libx264 -preset ultrafast -c:a aac -f flv rtmp://localhost/live/stream1
http://www.dtcms.com/a/395051.html

相关文章:

  • 【完整源码+数据集+部署教程】遥感温室图像分割系统: yolov8-seg-slimneck
  • Apache 生产环境操作与 LAMP 搭建指南
  • 11种数据库类型详解:数据库分关系数据库、非关系数据库、时序数据库、向量数据库等
  • UVa12180/LA4300 The Game
  • Kafka 核心原理、架构与实践指南
  • Tesollo展示灵巧手自动化精准测量系统
  • 11MySQL触发器实战:用户操作日志审计系统
  • 【深度学习计算机视觉】06:目标检测数据集
  • visual studio 2019离线安装
  • 【Unity笔记】Unity 模型渲染优化:从 Batching 到 GI 设置的完整指南
  • 【AI领域】如何写好Prompt提示词:从新手到进阶的完整指南
  • Unity 性能优化 之 内存优化
  • PCB 通孔技术全解析:结构参数、制造工艺与质量控制指南
  • 1.13-Web身份鉴权技术
  • 【完整源码+数据集+部署教程】水母图像分割系统: yolov8-seg-rtdetr
  • 《从零到精通:PyTorch (GPU 加速版) 完整安装指南
  • B站的视频资源转换为可用的MP4文件
  • 5. 数据类型转换
  • 有没有更多Java进阶项目?
  • Rada and the Chamomile Valley(Tarjan缩点+多源BFS)
  • Jfrog开源替代,推荐一款国产开源免费的制品管理工具 - Hadess
  • 《C++进阶之C++11》【列表初始化 + 右值引用】
  • 【Redis】:从应用了解Redis
  • 从零到一打造前端内存监控 SDK,并发布到 npm ——基于 TypeScript + Vite + ECharts的解决方案
  • 【星海随笔】RabbitMQ容器篇
  • OpenCV:人脸识别实战,3 种算法(LBPH/EigenFaces/FisherFaces)代码详解
  • OneSignal PHP SDK v2 版本实现指南
  • Dockerfile构建镜像以及网络
  • 鸿蒙音乐播放器基础实现
  • Vue3》》Vite》》文件路由 vite-plugin-pages、布局系统 vite-plugin-vue-layouts