【Linux】 MediaMTX测试是否运行

外网无法访问通常不是 MediaMTX 本身问题,而是 网络、端口或系统防护层面阻挡导致的。

下面给出一份最系统的排查指南👇(逐步执行即可定位问题)


🧩 一、确认 MediaMTX 是否真的运行

执行:

bash 复制代码
ps -ef | grep mediamtx

✅ 如果看到:

复制代码
/usr/local/mediamtx/mediamtx

说明程序在运行。

如果没有,启动:

bash 复制代码
./mediamtx &

🧩 二、确认监听端口

执行:

bash 复制代码
ss -tulnp | grep mediamtx

或:

bash 复制代码
netstat -tulnp | grep mediamtx

查看是否有这些端口(MediaMTX 默认):

功能 协议 默认端口
RTSP TCP 8554
RTMP TCP 1935
HLS TCP (HTTP) 8888
WebRTC UDP/TCP 8000-8200(范围)

✅ 如果端口没监听,检查配置文件 mediamtx.yml 是否启用对应模块。


🧩 三、防火墙(Firewall)是否阻止外网访问

查看防火墙状态:

bash 复制代码
systemctl status firewalld

临时关闭防火墙(测试用):

bash 复制代码
systemctl stop firewalld

🔹 若关闭防火墙后可访问,则是端口未放行。

🔹 你可以选择仅开放 MediaMTX 所需端口。

例如开放:

bash 复制代码
firewall-cmd --zone=public --add-port=8554/tcp --permanent
firewall-cmd --zone=public --add-port=1935/tcp --permanent
firewall-cmd --zone=public --add-port=8888/tcp --permanent
firewall-cmd --zone=public --add-port=8000-8200/udp --permanent
firewall-cmd --reload

🧩 四、检查服务器是否有公网 IP

执行:

bash 复制代码
curl ifconfig.me

如果输出公网 IP,例如:

复制代码
8.218.xxx.xxx

说明服务器有公网。

如果显示内网 IP(如 192.168.x.x 或 10.x.x.x),则外网无法直连。

✅ 若是云服务器(如阿里云、腾讯云),需检查"安全组"规则是否放行端口。


🧩 五、确认外网访问方式

假设你的公网 IP 是 8.218.100.10

功能 外网访问地址
RTSP rtsp://8.218.100.10:8554/stream1
RTMP rtmp://8.218.100.10:1935/stream1
HLS http://8.218.100.10:8888/stream1/index.m3u8
WebRTC 浏览器访问 http://8.218.100.10:8889(若启用 Web UI)

🧩 六、NAT 或虚拟机环境

如果你在 虚拟机NAT 网络 下运行 Linux:

外网访问不到通常是因为端口没映射。

示例(VirtualBox 或 VMware):

  • 需要将 宿主机端口映射到虚拟机端口

    例如:

    复制代码
    宿主机 8554 → 虚拟机 8554
    宿主机 8888 → 虚拟机 8888

✅ 快速定位脚本

你可以执行下面命令,一键测试服务可访问性:

bash 复制代码
echo "=== MediaMTX 状态检查 ==="
ps -ef | grep mediamtx
ss -tulnp | grep mediamtx
curl -I http://127.0.0.1:8888
firewall-cmd --list-all
curl ifconfig.me

相关推荐
Web3探索者7 小时前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo9 小时前
Linux系统中网线与USB网络共享冲突
linux
荣--11 小时前
一键部署不是为了省时间 —— 它是把"买来的 PaaS"变成"自己的平台"的拐点
运维·zabbix·工程化·一键部署·平台化·边界设计
江华森12 小时前
动手实战学 Docker — 从零到集群编排完全指南
运维
Avan_菜菜1 天前
FRP 内网穿透完整实战:从 HTTP 映射到 HTTPS 自签代理
运维·nginx·https
Sokach10152 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
SelectDB2 天前
Litefuse 开源并推出单进程轻量模式,25 秒就能跑起来的 Agent 可观测与评估平台
运维·后端·自动化运维
AlfredZhao2 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone
zzzzzz3104 天前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode4 天前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏