零基础在ubuntu上搭建rtmp服务器-srs

本文详细指导如何在Ubuntu系统上搭建SRS服务器,包括更新系统、安装依赖、配置、启动服务及防火墙设置,并提供了使用ffmpeg进行推流和拉流的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

搭建服务器

搭建 SRS(Simple-RTMP-Server)服务器需要一些步骤,以下是一个简单的步骤指南。请注意,SRS 的配置可能会有所不同,具体取决于你的需求和环境。在开始之前,请确保你的 Ubuntu 系统已经连接到互联网。

  1. **更新系统:**首先,确保你的系统是最新的:

    sudo apt update
    sudo apt upgrade
  2. **安装必要的依赖:**安装编译工具和其他必要的依赖项:

    sudo apt install git build-essential cmake automake pkg-config
  3. **克隆 SRS 代码库:**使用 git 克隆 SRS 代码库:

    git clone https://github.com/ossrs/srs.git
  4. 进入 SRS 目录:

    cd srs
  5. 构建并安装 SRS:

    ./configure
    make
    sudo make install
  6. 启动 SRS 服务器:

    sudo /usr/local/srs/sbin/srs -c /usr/local/srs/conf/srs.conf
       # 查看日志
       sudo tail -n 30 -f /usr/local/srs/sbin/srs.log

    这会启动 SRS 服务器。你可以根据需要修改配置文件 /usr/local/srs/conf/srs.conf

  7. **测试 SRS 服务器:**使用一个支持 RTMP 协议的播放器(例如,VLC、OBS 等),连接到 SRS 服务器。播放 RTMP 流时,可以使用 SRS 默认的示例流:

    rtmp://your-server-ip:1935/live/livestream

    请将 your-server-ip 替换为你的服务器的实际 IP 地址。

  8. **配置防火墙:**如果你的服务器启用了防火墙,确保打开 1935 端口(RTMP 默认端口):

    sudo ufw allow 1935

    如果你使用其他防火墙工具,请相应地调整。

这是一个基本的 SRS 服务器搭建过程。请注意,这只是一个简单的示例配置,你可能需要根据实际需求修改 SRS 配置文件。此外,确保你了解服务器和网络安全性,并采取适当的安全措施。

推流

常用的rtmp推流工具obs-studio,ffmpeg,vlc
常用的rtsp推流工具obs-studio,ffmpeg,vlc,live555
我们为了简单,直接用ffmpeg实现推流拉流,ffmpeg官网下载编译好的ffmpeg工具,进入到ffmpeg目录,并启动控制台

ffmpeg -i input.mp4 -c:v libx264 -c:a aac -f flv rtmp://127.0.0.1:1935/live/livestream

拉流

ffplay rtmp://127.0.0.1:1935/live/livestream

 

<think>嗯,用户想在浪潮Linux服务器搭建RTMP服务。首先,我得确定RTMP是什么,应该是实时消息协议,用于流媒体传输,比如视频直播。那搭建的话,常用的软件应该有哪些呢?可能Nginx加上RTMP模块是比较常见的方法,或者用SRS之类的开源项目。不过用户可能更倾向于使用Nginx的方案,因为比较普遍。 接下来,我得回忆一下安装步骤。首先需要安装依赖库,比如编译Nginx需要的工具,比如gcc、make,还有PCRE、zlib、OpenSSL这些。然后下载Nginx和RTMP模块的源码,编译安装。记得配置Nginx的时候要添加RTMP模块的参数。配置完成后,需要修改Nginx的配置文件,添加RTMP块,设置监听端口、应用路径之类的。 然后,用户可能需要测试服务是否正常,比如用OBS推流,用VLC播放器拉流看看效果。还有防火墙的问题,需要开放1935端口,可能还要处理SELinux的设置,不过如果用户关闭了SELinux或者设置为permissive模式,可能问题少一些。 另外,用户可能关心的是安全性或者权限问题,比如如何配置访问控制,或者HLS的支持。可能需要提到这些高级配置作为可选步骤。还有守护进程的管理,比如用systemd来管理Nginx服务,确保开机启动。 可能的错误点:编译Nginx的时候没有正确添加RTMP模块的路径,导致模块没有加载。或者配置文件语法错误,比如括号没闭合,路径权限不对,导致Nginx启动失败。这时候需要检查Nginx的错误日志,具体路径可能在logs/error.log里。 另外,浪潮服务器可能使用的是特定的Linux发行版,比如CentOS或者Ubuntu,但步骤应该大同小异,主要是包管理器的区别,比如用yum还是apt-get安装依赖库。用户可能没有说明具体系统版本,可能需要假设是CentOS,或者给出通用的源码编译方法。 还有,用户可能需要HTTPS的支持,或者转码配置,这些可能需要额外的模块或者FFmpeg的集成,但可能超出了基础搭建的范围,可以提一下作为扩展。 总结步骤应该是:安装依赖→下载源码→编译安装→配置RTMP→测试推拉流→防火墙设置→可选高级配置。需要分步骤写清楚,避免用户遗漏关键操作。同时提醒常见问题和排查方法,比如检查服务状态、日志查看等。</think>在浪潮Linux服务器搭建RTMP服务(支持视频直播/点播)的步骤如下: 一、环境准备 1. 确认系统版本 ```bash $ cat /etc/redhat-release # CentOS示例 $ lsb_release -a # Ubuntu示例 ``` 2. 安装基础依赖 ```bash $ yum install -y epel-release $ yum install -y gcc make pcre-devel openssl-devel zlib-devel wget ``` 二、编译安装Nginx+RTMP模块 1. 下载源码包 ```bash $ wget https://nginx.org/download/nginx-1.25.3.tar.gz $ wget https://github.com/arut/nginx-rtmp-module/archive/refs/tags/v1.2.2.tar.gz ``` 2. 解压并编译 ```bash $ tar zxvf nginx-1.25.3.tar.gz $ tar zxvf v1.2.2.tar.gz $ cd nginx-1.25.3 $ ./configure --add-module=../nginx-rtmp-module-1.2.2 --with-http_ssl_module $ make && make install ``` 三、配置RTMP服务 1. 修改nginx配置文件 ```nginx # 在/usr/local/nginx/conf/nginx.conf末尾添加 rtmp { server { listen 1935; chunk_size 4096; application live { live on; record off; # 权限控制示例 allow publish 192.168.1.0/24; deny publish all; } application vod { play /var/videos; } } } ``` 2. 创建存储目录 ```bash $ mkdir -p /var/videos $ chmod 755 /var/videos ``` 四、启动与管理服务 1. 启动Nginx ```bash $ /usr/local/nginx/sbin/nginx ``` 2. 设置开机启动(Systemd) ```ini # 创建文件 /etc/systemd/system/nginx.service [Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp=true [Install] WantedBy=multi-user.target ``` ```bash $ systemctl daemon-reload $ systemctl enable nginx ``` 五、防火墙配置 ```bash $ firewall-cmd --permanent --add-port=1935/tcp # RTMP默认端口 $ firewall-cmd --permanent --add-port=80/tcp # 若需HTTP访问 $ firewall-cmd --reload ``` 六、验证与使用 1. 推流测试(使用OBS): - 服务器地址:rtmp://[服务器IP]/live - 流密钥:自定义字符串(如test_stream) 2. 播放测试: ```bash $ ffplay rtmp://[服务器IP]/live/test_stream ``` 七、常见问题排查 1. 查看RTMP日志: ```bash $ tail -f /usr/local/nginx/logs/rtmp.log ``` 2. 测试端口连通性: ```bash $ telnet [服务器IP] 1935 $ nmap -p 1935 [服务器IP] ``` 八、高级配置建议 1. HLS支持(在rtmp块内添加): ```nginx hls on; hls_path /tmp/hls; hls_fragment 3s; hls_playlist_length 60s; ``` 2. 转码配置(需安装FFmpeg): ```nginx exec ffmpeg -i rtmp://localhost/$app/$name -c:v libx264 -preset veryfast -c:a aac -f flv rtmp://localhost/hls/$name; ``` 注:实际部署时应根据业务需求调整配置参数,并做好安全防护措施。对于生产环境,建议使用专业流媒体服务器(如SRS、Wowza)或云服务方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

telllong

你的鼓励是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值