SRS DVR功能详解:实时录制直播流为FLV/MP4文件的完整教程
【免费下载链接】srs 项目地址: https://gitcode.com/gh_mirrors/srs/srs
SRS(Simple RTMP Server)是一款高性能的开源流媒体服务器,其强大的DVR(Digital Video Recorder)功能能够实时录制直播流为FLV或MP4文件,为直播录制和回放提供了完整的解决方案。本文将详细介绍SRS DVR功能的配置和使用方法,帮助您快速掌握这一实用功能。
🔧 SRS DVR功能概述
SRS DVR功能允许您将实时直播流录制为本地文件,支持两种主流格式:
- FLV格式:适合实时录制和播放,文件较小
- MP4格式:兼容性更好,适合后期编辑和处理
⚙️ DVR配置模式详解
SRS提供了三种DVR录制模式,您可以根据需求选择合适的配置:
1. Session模式录制MP4文件
Session模式在每个直播会话结束时生成一个完整的MP4文件。配置文件位于:trunk/conf/dvr.mp4.conf
dvr {
enabled on;
dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].mp4;
dvr_plan session;
}
2. Segment模式录制FLV文件
Segment模式按时间分段录制FLV文件,适合长时间直播。配置文件:trunk/conf/dvr.segment.conf
dvr {
enabled on;
dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].flv;
dvr_plan segment;
dvr_duration 30;
dvr_wait_keyframe on;
}
3. 自定义路径模式
支持更灵活的文件路径配置,可按日期时间组织文件结构。配置文件:trunk/conf/dvr.path.conf
dvr {
enabled on;
dvr_path ./objs/nginx/html/[app]/[stream]/[2006]/[01]/[02]/[15].[04].[05].[999].flv;
dvr_plan segment;
dvr_duration 30;
dvr_wait_keyframe on;
}
🚀 快速开始指南
步骤1:安装SRS服务器
首先克隆SRS仓库并编译安装:
git clone https://gitcode.com/gh_mirrors/srs/srs
cd srs/trunk
./configure && make
步骤2:选择DVR配置
根据您的需求选择合适的配置文件:
# 使用Session模式录制MP4
cp conf/dvr.mp4.conf conf/srs.conf
# 或使用Segment模式录制FLV
cp conf/dvr.segment.conf conf/srs.conf
步骤3:启动SRS服务器
./objs/srs -c conf/srs.conf
步骤4:推送直播流
使用FFmpeg或OBS推送直播流到SRS:
ffmpeg -re -i input.mp4 -c copy -f flv rtmp://localhost/live/stream
📁 文件路径变量说明
SRS DVR支持丰富的路径变量:
[app]:应用名称(如:live)[stream]:流名称(如:mystream)[timestamp]:时间戳(毫秒)[2006]、[01]、[02]:年、月、日[15]、[04]、[05]:时、分、秒
🎯 高级功能配置
HTTP回调通知
当DVR文件生成时,SRS可以发送HTTP回调通知:
http_hooks {
on_dvr http://your-server/api/dvr;
}
录制过滤
可以配置只录制特定的应用或流:
dvr_apply live/mystream;
🔍 常见问题解答
Q: DVR录制文件保存在哪里? A: 默认保存在./objs/nginx/html/目录下,可通过dvr_path配置自定义路径。
Q: 如何设置录制文件时长? A: 使用dvr_duration参数设置分段时长(秒)。
Q: 支持同时录制多种格式吗? A: 需要在不同vhost中分别配置不同的DVR设置。
💡 最佳实践建议
- 存储规划:确保磁盘空间充足,定期清理旧文件
- 性能考虑:SSD硬盘可提高录制性能
- 备份策略:重要录制内容及时备份到其他存储
- 监控告警:设置磁盘空间监控和DVR状态告警
📊 技术实现原理
SRS DVR功能基于核心模块srs_app_dvr.cpp实现,采用异步写入机制确保录制性能。支持关键帧等待、时间戳抖动校正等高级特性,保证录制文件的完整性和可播放性。
通过本文的详细指导,您应该已经掌握了SRS DVR功能的使用方法。无论是简单的直播录制还是复杂的多格式录制需求,SRS都能提供稳定可靠的解决方案。
立即尝试SRS DVR功能,为您的直播业务增添强大的录制能力!🎥
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考





