Linux编译SRS并测试RTMP流
本文介绍了SRS流媒体服务器的部署与测试流程。首先通过apt-get安装编译工具、依赖库及FFmpeg;然后获取SRS源码并编译,启动服务后配置监听端口;接着使用FFmpeg和OBS进行RTMP推流测试,通过ffplay验证播放;最后强调需开放防火墙1935/8080端口,并建议在FFmpeg中指定编码格式。整个过程涵盖了环境准备、服务部署、推流测试等关键环节。
·
目录
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
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)