【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

相关推荐
mldlds15 分钟前
windows手动配置IP地址与DNS服务器以及netsh端口转发
服务器·windows·tcp/ip
JiMoKuangXiangQu34 分钟前
Linux 锁 (4) - seqlock
linux·seqlock
xlp666hub1 小时前
如果操作GPIO可能导致休眠,那么同步机制绝不能采用spinlock
linux·面试
一直都在5721 小时前
深入理解 synchronized:到底锁的是谁?
运维·服务器
RisunJan1 小时前
Linux命令-mkbootdisk(可建立目前系统的启动盘)
linux·运维·服务器
Sst的头号粉丝1 小时前
Docker——compose
运维·docker·容器
朽棘不雕2 小时前
Linux工具(上)
linux·运维·服务器
daad7772 小时前
bitcoin HD钱包示例 真实使命7
运维·服务器
BestOrNothing_20152 小时前
Ubuntu 22.04 下调整 VS Code 界面及字体教程
linux·vscode·ubuntu22.04·界面调整
Zero-Talent3 小时前
TCP/IP协议
运维·服务器·网络