当前位置:首页 > 系统教程 > 正文

Ubuntu搭建RTSP服务器:本地视频推流实战(附局域网访问教程)

Ubuntu搭建RTSP服务器:本地视频推流实战(附局域网访问教程)

本文将手把手教你如何在Ubuntu系统上搭建一个轻量级RTSP服务器,实现本地视频文件的推流,并允许局域网内其他设备通过RTSP协议实时访问。整个过程简单易懂,适合刚接触流媒体服务器的新手。文中涉及的Ubuntu推流方法同样适用于树莓派等Linux发行版。

1. 准备工作:更新系统与安装依赖

首先确保你的Ubuntu系统已联网,打开终端执行以下命令更新软件包列表并升级现有软件:

sudo apt updatesudo apt upgrade -y

接着安装后续会用到的工具,包括FFmpeg(用于推流)和wget(用于下载):

sudo apt install ffmpeg wget -y

2. 选择并安装RTSP服务器软件

目前最流行的轻量级RTSP服务器Mediamtx(原rtsp-simple-server)。它性能稳定、配置简单,支持Windows、Linux、macOS。这里我们下载Linux AMD64版本:

wget https://github.com/bluenviron/mediamtx/releases/latest/download/mediamtx_linux_amd64.tar.gztar -xzf mediamtx_linux_amd64.tar.gzsudo mv mediamtx /usr/local/bin/

解压后会得到一个可执行文件mediamtx和一个示例配置文件mediamtx.yml。你可以将配置文件放在/etc/mediamtx/目录下,也可以直接放在当前目录。为方便管理,我们创建配置目录:

sudo mkdir -p /etc/mediamtxsudo cp mediamtx.yml /etc/mediamtx/
Ubuntu搭建RTSP服务器:本地视频推流实战(附局域网访问教程) RTSP服务器  Ubuntu推流 本地视频流 局域网视频访问 第1张

3. 配置服务器并启动

编辑配置文件,允许局域网其他设备访问。打开/etc/mediamtx/mediamtx.yml

sudo nano /etc/mediamtx/mediamtx.yml

找到rtspAddress字段,默认是:8554,表示监听所有网卡的8554端口,无需修改即可支持局域网访问。保存后启动服务器:

mediamtx /etc/mediamtx/mediamtx.yml

如果看到类似listener opened on :8554 (TCP)的日志,说明启动成功。你也可以按Ctrl+C停止,后续我们将用systemd或screen后台运行。

4. 本地视频推流实战

现在我们用FFmpeg将本地的一个视频文件推送到RTSP服务器。假设视频路径为/home/user/videos/test.mp4,执行以下命令:

ffmpeg -re -i /home/user/videos/test.mp4 -c copy -f rtsp rtsp://192.168.x.x:8554/mystream

注意将192.168.x.x替换为Ubuntu主机的实际局域网IP地址。-re表示按视频帧率读取,-c copy表示直接复制流而不重新编码,减少CPU占用。推流成功后,终端会不断输出发送包的信息,此时你的本地视频流就已经在局域网内可访问了。

5. 局域网视频访问测试

在同一局域网的任何设备(如Windows电脑、手机)上,安装支持RTSP的播放器(如VLC、PotPlayer)。打开VLC,选择“媒体”->“打开网络串流”,输入地址:

rtsp://192.168.x.x:8554/mystream

点击播放即可实时观看Ubuntu主机推送的视频。你也可以用手机上的VLC for Mobile测试,实现真正的局域网视频访问。如果无法播放,请检查防火墙是否放行了8554端口:

sudo ufw allow 8554/tcp

6. 进阶:后台运行与开机自启

为了方便,可以将Mediamtx配置为系统服务。创建systemd服务文件:

sudo nano /etc/systemd/system/mediamtx.service

写入以下内容:

[Unit]Description=Mediamtx RTSP ServerAfter=network.target[Service]ExecStart=/usr/local/bin/mediamtx /etc/mediamtx/mediamtx.ymlRestart=alwaysUser=root[Install]WantedBy=multi-user.target

启用并启动服务:

sudo systemctl enable mediamtxsudo systemctl start mediamtx

总结

通过以上步骤,你已成功在Ubuntu上搭建了RTSP服务器,并实现了Ubuntu推流局域网视频访问。你可以将任意本地视频流推送到服务器,在电视、手机、平板等设备上实时观看。这个方案非常适合家庭媒体中心、视频监控测试等场景。如果你在操作中遇到问题,欢迎在评论区留言讨论。

本文关键词:RTSP服务器、Ubuntu推流、本地视频流、局域网视频访问