windows下实现运行mesiamtx服务器推拉流

在 Windows 下使用 MediaMTX 服务器,推流和拉流命令基本保持不变,主要区别在于MediaMTX 自身支持多种流媒体协议,你可以按需选择

1. 基础准备:运行 MediaMTX

在 Windows 上使用 MediaMTX 非常简单,无需安装。

  • 下载 :从 GitHub 发布页下载 mediamtx_windows_amd64.zip 文件。

  • 运行 :解压后,直接双击 mediamtx.exe 运行。你会在命令行窗口看到类似下面的日志,这表明服务器成功启动,并开启了多个端口的监听服务。

text

复制代码
2023/12/10 14:18:25 INF [RTSP] listener opened on :8554
2023/12/10 14:18:25 INF [RTMP] listener opened on :1935
2023/12/10 14:18:25 INF [HLS] listener opened on :8888

这意味着你的推流和拉流地址需要根据选择的协议来调整。

2. 推流命令 (使用 FFmpeg)

和之前一样,但你可以选择推送到不同的协议端口。MediaMTX 默认支持 RTMP (1935)、RTSP (8554) 等。

  • 推 RTMP 流(和你之前的用法几乎一样)

    只需将 rtmp:// 地址中的 IP 改为你的 Windows 电脑 IP 或 127.0.0.1 (本地测试)。

    bash

    复制代码
    ffmpeg -re -f lavfi -i "sine=frequency=1000" -c:a aac -ar 44100 -b:a 64k -f flv rtmp://127.0.0.1:1935/live/test
  • 推 RTSP 流

    如果想用 RTSP 协议,就推送到 8554 端口。

    bash

    复制代码
    ffmpeg -re -f lavfi -i "sine=frequency=1000" -c:a aac -ar 44100 -b:a 64k -f rtsp rtsp://127.0.0.1:8554/live/test

    注意 :根据 MediaMTX 官方文档,如果使用 FFmpeg 8.0 版本,必须同时包含视频和音频轨道,否则可能会出错。对于纯音频推流,可以考虑使用较早版本的 FFmpeg 或加上一个虚拟的视频源。

3. 拉流播放命令

拉流时,根据你推流时选择的协议,使用对应的播放地址即可。

协议 拉流地址示例 播放命令 (FFplay / VLC)
RTMP rtmp://127.0.0.1:1935/live/test ffplay rtmp://127.0.0.1:1935/live/test
RTSP rtsp://127.0.0.1:8554/live/test ffplay rtsp://127.0.0.1:8554/live/test
HLS http://127.0.0.1:8888/live/test 可直接用 Chrome 浏览器打开此地址

提示127.0.0.1 是本地回环地址,用于本机测试。如果是局域网内另一台设备拉流,需要把 127.0.0.1 替换为运行 MediaMTX 的 Windows 电脑的实际局域网 IP 地址 (例如 192.168.x.x)。

4. 关于 Windows 防火墙的提醒

如果你是局域网内其他设备来拉流,需要注意 Windows 防火墙可能会拦截流量。可以通过以下命令(以管理员身份运行CMD)放行端口,例如放行 RTSP 的 8554 端口:

cmd

复制代码
netsh advfirewall firewall add rule name="Allow Port 8554" dir=in action=allow protocol=TCP localport=8554

如果需要,也可以为 RTMP 的 1935 端口执行类似操作。

相关推荐
北龙云海5 小时前
案例分享 | 面向公网业务系统境内访问白名单配置实操方案
运维·网络·安全·网络安全·告警·数据泄露·入侵攻击
FoldWinCard6 小时前
D5 Linux 网络及端口命令
linux·运维·服务器
spencer_tseng6 小时前
Redis + Nacos.bat
java·windows·dos
kirs_ur6 小时前
SSD 在 AI 训练中的角色
大数据·服务器·人工智能
tedcloud1237 小时前
OmniRoute怎么部署?开源AI模型路由平台Linux部署教程
linux·服务器·人工智能·开源·音视频
霸道流氓气质7 小时前
KMS 密钥管理服务(Key Management Service)原理与实践
linux·服务器·数据库
kirs_ur7 小时前
CXL(Compute Express Link)— 内存扩展的未来
服务器·数据库·性能优化
SakitamaX7 小时前
LVS(Linux Virtual Server)概念详解
linux·运维·lvs
小张同学a.7 小时前
Linux系统管理
linux·运维
会飞的小新8 小时前
Windows CMD 与 PowerShell 深度解析:底层原理、命令差异、自动化选型指南
运维·windows·自动化