【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

相关推荐
啦啦啦_99996 分钟前
1. Linux常用命令
linux·运维·服务器
大白菜和MySQL7 分钟前
openEuler-20.03-LTS系统 nextcloud网盘搭建
linux
Harvy_没救了12 分钟前
【Linux】Shell指令中的变量
linux·运维·服务器
Deitymoon19 分钟前
linux——TCP多线程并发服务器
linux·服务器·tcp/ip
航Hang*19 分钟前
Windows Server 配置与管理——第7章:配置DNS服务器
运维·服务器·网络·windows·安全·虚拟化
senijusene23 分钟前
IMX6ULL Linux 驱动开发流程:从环境搭建到系统启动与内核编译
linux·运维·驱动开发
格林威25 分钟前
AI视觉项目部署:Docker 部署视觉服务可行性分析
linux·运维·人工智能·数码相机·docker·容器·工业相机
江湖有缘30 分钟前
极简部署Radicale:Docker快速搭建自托管日历 / 联系人服务
运维·docker·容器
huanmieyaoseng100336 分钟前
Linux安装达梦数据库DM8
linux·运维·数据库
没bug怎么跑1 小时前
rsync全网备份全流程
linux·运维·github