Linux编译SRS并测试RTMP流

目录

1、环境准备与依赖安装

[2、编译SRS(Simple RTMP Server)](#2、编译SRS(Simple RTMP Server))

3、配置SRS服务器

4、测试RTMP推流

5、验证播放流

6、监控与日志

7、关键注意事项


1、环境准备与依赖安装

bash 复制代码
# 更新软件包列表
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访问慢)安装编译依赖工具:

bash 复制代码
./configure && make

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

编译完成后启动服务:

bash 复制代码
./objs/srs -c conf/srs.conf

3、配置SRS服务器

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

nginx 复制代码
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推流测试:

bash 复制代码
ffmpeg -re -i input.mp4 -c copy -f flv rtmp://localhost/live/stream1

OBS推流设置:

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

5、验证播放流

RTMP播放测试:

bash 复制代码
ffplay -i rtmp://localhost/live/stream1

6、监控与日志

实时监控日志:

bash 复制代码
tail -f ./objs/srs.log

7、关键注意事项

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

bash 复制代码
firewall-cmd --add-port=1935/tcp --permanent
firewall-cmd --add-port=8080/tcp --permanent
firewall-cmd --reload

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

bash 复制代码
ffmpeg -re -i input.mp4 -c:v libx264 -preset ultrafast -c:a aac -f flv rtmp://localhost/live/stream1
相关推荐
撬动未来的支点1 天前
【音视频】MP4文件格式
音视频
刀客Doc1 天前
复盘Netflix的2025:广告业务、线下业态和视频播客
人工智能·音视频
EasyGBS1 天前
EasyGBS助力智慧医院打造全方位视频监控联网服务体系
网络·音视频
数字孪生家族1 天前
视频孪生与空间智能:重构物理世界的时空认知范式
音视频·空间智能·数字孪生头部企业·视频孪生与空间智能融合
Tracy9731 天前
XMAU7118_VC1:16通道PDM到I²S/TDM音频转换器产品介绍
嵌入式硬件·音视频·智能硬件·xmos模组固件
做萤石二次开发的哈哈1 天前
萤石开放平台机器人音视频对接流程
机器人·音视频
Tracy9731 天前
OT83211_VC1:4通道 ASRC OTG(44.1kHz~192kHz)音频采样率转换器产品介绍
嵌入式硬件·音视频·xmos 模组·xmos模组固件
电鱼智能的电小鱼2 天前
基于电鱼 AI 工控机的智慧工地视频智能分析方案——边缘端AI检测,实现无人值守下的实时安全预警
网络·人工智能·嵌入式硬件·算法·安全·音视频
音视频牛哥2 天前
从协议规范和使用场景探讨为什么SmartMediaKit没有支持DASH
人工智能·音视频·大牛直播sdk·dash·dash还是rtmp·dash还是rtsp·dash还是hls
音视频牛哥2 天前
SmartMediaKit:如何让智能系统早人一步“跟上现实”的时间架构--从实时流媒体到系统智能的演进
人工智能·计算机视觉·音视频·音视频开发·具身智能·十五五规划具身智能·smartmediakit