mediamtx的windows使用

文章:https://zhuanlan.zhihu.com/p/1961384934619980556
github下载地址:
https://link.zhihu.com/?target=https%3A//github.com/bluenviron/mediamtx/releases
接口文档:https://mediamtx.org/docs/references/control-api
注意下载:mediamtx_v1.17.1_windows_amd64.zip,有个mediamtx_v1.17.1_darwin_amd64.tar.gz这个解压没exe不用这个

运行exe
image

推流测试
2026/04/01 17:42:54 INF [RTMP] [conn 127.0.0.1:55831] opened
2026/04/01 17:42:57 INF [path live/PPP11125AA000001] stream is available and online, 2 tracks (H264, MPEG-4 Audio)
2026/04/01 17:42:57 INF [RTMP] [conn 127.0.0.1:55831] is publishing to path 'live/PPP11125AA000001'
2026/04/01 17:43:07 INF [RTMP] [conn 127.0.0.1:55831] closed: EOF

直播本地的桌面
2026/04/01 17:53:16 INF [RTMP] [conn 127.0.0.1:52606] opened
2026/04/01 17:53:19 INF [path live/PPP11125AA000001] stream is available and online, 2 tracks (H264, MPEG-4 Audio)
2026/04/01 17:53:19 INF [RTMP] [conn 127.0.0.1:52606] is publishing to path 'live/PPP11125AA000001'

obs软件的配置,这里推流码可以随便填
image

image

http://127.0.0.1:9997/v3/paths/list 这个地址是 MediaMTX 内置的 RESTful API 接口。当你访问它时,返回的数据直接来源于 MediaMTX 服务器进程自身所维护的、实时的流信息。
哪个用户登录的信息也可以从这上面读取出来

熟悉rtsp,rtmp,webrtc三种协议的区别以及应用场景:
RTSP通常使用UDP或TCP,命令与数据通道分离(需2-3个通道),支持多播。#多播:将媒体流同时发送给多个客户端
RTMP仅基于TCP,命令和数据通过单一通道传输。
RTSP利用UDP实现低延迟(毫秒级),但易丢包;适合稳定网络环境。
RTMP通过TCP保障可靠性,延迟较高(秒级),适应复杂网络。
RTSP常用TS、MP4格式。
RTMP主要传输FLV、F4V格式。
webrtc是能够在web上播放
推流用rtsp协议,拉流用webrtc

这里浏览器访问http://127.0.0.1:9997/v3/paths/list拒绝连接请求
image
这里是要修改yml的配置文件打开api参数才可以,返回数据

{"itemCount":1,"pageCount":1,
"items":[
{"name":"live/PPP11125AA000001","confName":"all_others","ready":true,
"readyTime":"2026-04-02T09:39:05.2374379+08:00","available":true,
"availableTime":"2026-04-02T09:39:05.2374379+08:00","online":true,"onlineTime":"2026-04-02T09:39:05.2374379+08:00",
"source":{"type":"rtmpConn","id":"aa358471-0cba-4ece-b0e2-03fb86c79326"},
"tracks":["H264","MPEG-4 Audio"],
"tracks2":[{"codec":"H264","codecProps":{"width":1920,"height":1080,"profile":"High","level":"4.2"}}
,{"codec":"MPEG-4 Audio","codecProps":{"sampleRate":48000,"channelCount":2}}],"readers":[]
,"inboundBytes":71010005,"outboundBytes":0,"inboundFramesInError":0,"bytesReceived":71010005,"bytesSent":0}]}

使用obs studio推流后,使用web播放
浏览器输入http://127.0.0.1:8889/live/PPP11125AA000001/ #这里live/PPP11125AA000001/是推流的路径
报错信息:不支持B帧
2026/04/02 09:51:59 INF [WebRTC] [session cfe3c4e8] is reading from path 'live/PPP11125AA000001', 1 track (H264)
2026/04/02 09:51:59 INF [WebRTC] [session cfe3c4e8] closed: WebRTC doesn't support H264 streams with B-frames
解决方案:关闭obs的B帧
image

快直播 Web 方案不支持 B 帧解码播放,所以如果原始流存在 B 帧,则后台会自动进行转码去掉 B 帧,但这样会引入额外的转码延迟,并且会产生转码费用。建议尽量不推包含 B 帧的流,用户可以通过调整推流端软件(如 OBS)的视频编码参数来去除 B 帧。
资料: https://intl.cloud.tencent.com/zh/document/product/267/31569

以上配置好,即可在web网页看直播

hls协议与webrtc协议:现在看hls主要用在移动设备上,wertc用在浏览器

posted @ 2026-04-02 10:08  爱晒太阳的懒猫。。  阅读(36)  评论(0)    收藏  举报