Red5 是一个开源的流媒体服务器,支持 RTMP、HLS、WebRTC 等多种流媒体协议,可用于实现视频直播、点播、视频会议等应用场景,搭建 Red5 流媒体服务器需要一定的技术基础,但通过详细的步骤说明,即使是初学者也能顺利完成部署,本文将介绍 Red5 服务器的环境准备、安装配置、核心功能设置及常见问题处理,帮助用户快速搭建属于自己的流媒体服务。

环境准备
在搭建 Red5 服务器前,需确保系统环境满足要求,Red5 支持 Linux、Windows 和 macOS 系统,推荐使用 Linux(如 CentOS 7+ 或 Ubuntu 18.04+)作为服务器系统,以获得更好的稳定性和性能,以下是基础环境要求:
| 组件 | 推荐配置 | 说明 |
|---|---|---|
| 操作系统 | CentOS 7.9 / Ubuntu 18.04 LTS | 支持 64 位系统,避免使用过旧版本导致依赖问题 |
| Java 环境 | JDK 8 或 JDK 11 | Red5 兼容 JDK 8 及以上版本,需配置 JAVA_HOME 环境变量 |
| 内存 | 最少 2GB,推荐 4GB+ | 流媒体服务对内存要求较高,尤其是处理多路直播时 |
| 硬盘 | 最少 20GB 可用空间 | 用于存放 Red5 安装包、应用程序及录制视频文件 |
| 网络端口 | 默认 1935(RTMP)、8088(HTTP) | 需确保防火墙开放相关端口,避免客户端无法连接 |
安装与配置 Red5
安装 Java 环境
以 CentOS 7 为例,首先安装 JDK 8:
sudo yum update -y sudo yum install java-1.8.0-openjdk-devel -y
安装完成后,验证 Java 版本:
java -version
配置 JAVA_HOME 环境变量(编辑 /etc/profile 文件):

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.322.b06-1.el7_9.x86_64 export PATH=$JAVA_HOME/bin:$PATH source /etc/profile
下载并安装 Red5
Red5 官方提供预编译安装包,可通过以下步骤下载:
cd /opt sudo wget https://github.com/Red5/red5-server/releases/download/v1.2.10/red5-server-1.2.10.tar.gz sudo tar -zxvf red5-server-1.2.10.tar.gz sudo mv red5-server /usr/local/red5
创建 Red5 服务脚本(/etc/init.d/red5如下:
#!/bin/sh
# chkconfig: 345 85 15
# description: Red5 Server
RED5_HOME=/usr/local/red5
case "$1" in
start)
$RED5_HOME/red5.sh start
;;
stop)
$RED5_HOME/red5.sh stop
;;
restart)
$RED5_HOME/red5.sh restart
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
;;
esac
exit 0
赋予执行权限并设置开机自启:
sudo chmod +x /etc/init.d/red5 sudo chkconfig --add red5 sudo chkconfig red5 on
启动并验证 Red5
启动 Red5 服务:

sudo service red5 start
访问 http://服务器IP:5080/,若看到 Red5 欢迎页面,则安装成功,默认管理员账户为 admin,密码可在 /usr/local/red5/webapps/red5-web.properties 中修改。
核心功能配置
配置 RTMP 推流与拉流
Red5 默认支持 RTMP 协议,推流地址为 rtmp://服务器IP:1935/app_name,app_name 为应用程序名称,推流到 live 应用:
- 推流地址:
rtmp://服务器IP:1935/live - 播放地址:
rtmp://服务器IP:1935/live/stream_name
配置 HLS(HTTP 直播流)
HLS 适用于 Web 端播放,需修改 Red5 的 webapps 配置,以 live 应用为例,编辑 /usr/local/red5/webapps/live/WEB-INF/red5-web.properties,添加:
streamer.hls.enabled=true streamer.hls.segment_duration=2 streamer.hls.playlist_length=10
重启 Red5 后,HLS 播放地址为 http://服务器IP:5080/live/stream_name.m3u8。
录制与回放
在应用程序配置文件(如 /usr/local/red5/webapps/live/WEB-INF/red5-web.xml)中启用录制功能:
<bean id="streamingProxy" class="org.red5.server.net.rtmp.event.Notify">
<property name="handler" ref="streamService" />
</bean>
录制文件默认存储在 /usr/local/red5/webapps/live/streams/ 目录下,可通过 rtmp://服务器IP:1935/live/recording_name 回放。
常见问题处理
-
无法连接到 Red5 服务器
检查防火墙是否开放端口(1935、5080):sudo firewall-cmd --permanent --add-port=1935/tcp sudo firewall-cmd --permanent --add-port=5080/tcp sudo firewall-cmd --reload
确认 Red5 服务状态:
sudo service red5 status,若未启动则执行sudo service red5 start。 -
推流后播放无画面或声音
检查推流参数(分辨率、码率、编码格式)是否与 Red5 配置匹配,建议使用 H.264 编码、AAC 音频,查看 Red5 日志(/usr/local/red5/log/red5.log)定位错误,常见问题包括编码格式不支持或网络带宽不足。
相关问答 FAQs
Q1:Red5 和 Wowza 有什么区别?
A1:Red5 是开源免费的,支持社区版功能,适合中小型项目;Wowza 是商业软件,提供更完善的技术支持和高级功能(如 DRM、CDN 集成),但需付费授权,Red5 定制化程度高,适合开发者二次开发,而 Wowza 更注重稳定性和易用性。
Q2:如何提升 Red5 服务器的并发性能?
A2:可通过以下方式优化:
- 增加服务器内存和 CPU 配置,建议 8GB 内存以上;
- 调整 JVM 堆内存大小(编辑
/usr/local/red5/red5.sh,修改JAVA_OPTS参数); - 使用 Nginx 作为反向代理,分担静态资源请求压力;
- 启用 Red5 的集群模式,多台服务器协同处理流媒体请求。
