MediaMTX 实战教程:10 分钟跑通流媒体服务器,把 RTSP 摄像头送进浏览器 MediaMTX 实战教程10 分钟跑通流媒体服务器把 RTSP 摄像头送进浏览器【免费下载链接】mediamtxReady-to-use Media-over-QUIC / SRT / WebRTC / RTSP / RTMP / LL-HLS / MPEG-TS / RTP live media server and media proxy that allows to read, publish, proxy, record and playback real-time video and audio streams.项目地址: https://gitcode.com/GitHub_Trending/me/mediamtxMediaMTX 是一款零依赖的流媒体服务器单个二进制就内置了 RTSP、RTMP、WebRTC、HLS、SRT 等多套协议栈能把一路流接入、转换、分发给不同协议的客户端还能顺手录下来。这篇教程带你完成两件事把摄像头的 RTSP 流在浏览器里用 WebRTC 播出来再用一路 RTMP 推流同时喂给四个协议的观看端。先跑起来最短路径部署这一节只做一件事让一台 Linux 机器变成一个可用的流媒体服务器。MediaMTX 不需要数据库、不需要额外运行时拿到对应平台的编译产物直接执行即可。假设二进制已经下载到当前目录./mediamtx配置读取自同目录下的 mediamtx.yml默认值已经能直接工作不用改任何配置。终端出现INF server is ready这一行说明各协议监听器都已打开RTSP 在 8554 端口、RTMP 在 1935、HLS 在 8888、WebRTC 在 8889、SRT 在 8890。✅ 其他安装方式一句话带过喜欢容器化的话docker run --rm -it --networkhost bluenviron/mediamtx:latest一条命令等效源码编译见 docs/6-misc/1-compile.md。场景一把摄像头画面送进浏览器这一节解决RTSP 转 WebRTC这个最高频的需求源流来自摄像头观看端是浏览器。在 mediamtx.yml 末尾的paths下加一个流paths: cam1: source: rtsp://摄像头地址:554/stream sourceOnDemand: yes两行配置说清楚了两件事source告诉 MediaMTX 去哪拉流sourceOnDemand: yes表示按需拉流——只有真有人在看时才去连摄像头没人看就断开省带宽。改完配置后重新执行./mediamtx。现在打开浏览器访问http://localhost:8889/cam1这是 MediaMTX 内置的 WebRTC 播放页不需要写一行前端代码。画面正常的话你会看到实时视频在动同时看一眼服务器终端日志里的 reader 数量会从 0 变成 1关掉页面再变回 0。刷新两次页面确认画面稳定不黑屏这个场景就算跑通了。场景二一路推流多端观看这一节解决RTMP 推流分发OBS 只推一次四类客户端各自用自己的协议看。OBS 里打开设置 → 推流服务选自定义服务器填rtmp://localhost/live串流密钥填mystream点开始推流。流名mystream会成为后面所有协议的公共路径。不用等任何转换配置同一画面立刻可以从这些地址访问RTSPVLC 等客户端rtsp://localhost:8554/mystreamHLS播放器/浏览器http://localhost:8888/mystream/index.m3u8直接打开http://localhost:8888/mystream则是内置播放页WebRTC浏览器http://localhost:8889/mystreamSRTsrt://localhost:8890?streamidread:mystream值得留意的是当前默认配置里hlsVariant是lowLatency也就是 Low-Latency HLS 模式配合 1 秒分段、200ms 分片HLS 端延迟也能压到秒级——做低延迟直播时不用额外折腾。各协议的完整用法在 docs/2-features/04-read.md 有索引。进阶能力速览下面几项每项都只需少量配置正文点到为止细节看链接里的文档。流媒体录制在 path 里加record: yes格式可选recordFormat: fmp4或mpegtsrecordSegmentDuration控制分段时长recordDeleteAfter控制自动清理。再全局打开playback: true就能在 9996 端口用网页回放下载录像见 docs/2-features/09-record.md。树莓派摄像头path 里写source: rpiCamera再用rpiCameraWidth、rpiCameraHeight定分辨率即可MediaMTX 直接驱动相机不用装任何采集软件。转发与代理forward可以把某条流持续推到另一台外部流媒体服务器source填一个 URL 则把 MediaMTX 当拉流代理配合sourceOnDemand按需工作见 docs/2-features/11-forward.md。排障对照按症状 → 原因 → 解法对号入座都是短平快的处理。WebRTC 页面一直转圈不连接→ 跨网络时 UDP 打洞失败 → 全局加webrtcICEServers2填一个 STUN 地址有公网 IP 就加进webrtcAdditionalHosts防火墙放行 UDP 8189HLS 延迟明显高于其他协议→ 变体或分段参数偏保守 → 确认hlsVariant为lowLatency调小hlsSegmentDuration和hlsPartDurationUDP 链路卡顿、丢帧→ 网络丢包或缓冲过小 → 调大udpReadBufferSize、writeQueueSize方法见 docs/2-features/28-decrease-packet-loss.md配置了 source 但没人看时拉不到流→ 按需拉流本就是这个行为 → 有读者时再连若希望常驻可关掉sourceOnDemandSRT 客户端连不上→streamid不匹配 → 读取流必须是streamidread:流名的写法⚠️ 排障前先看服务器终端日志MediaMTX 的连接拒绝、鉴权失败都会写明原因比猜快得多。下一步两个场景跑通之后这些方向值得接着看每篇文档都不长API 控制打开api: true用 REST 接口动态增删流、查状态见 docs/2-features/21-control-api.mdHooks 钩子在客户端连接、流上线等事件上执行外部命令见 docs/2-features/20-hooks.md认证授权内置用户表加密码、按路径限定读/写权限见 docs/2-features/06-authentication.md规模化部署只读副本、HLS 走 CDN 分摊压力见 docs/2-features/19-scalability.md全部配置项的说明在 docs/5-references/1-configuration-file.md功能总览在 README.md。如果这篇帮你省下了翻文档的时间点个赞收藏一下关注我会陆续更新更多 MediaMTX 的实战用法。【免费下载链接】mediamtxReady-to-use Media-over-QUIC / SRT / WebRTC / RTSP / RTMP / LL-HLS / MPEG-TS / RTP live media server and media proxy that allows to read, publish, proxy, record and playback real-time video and audio streams.项目地址: https://gitcode.com/GitHub_Trending/me/mediamtx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

最新新闻

DM9分布式计算集群DMDPC的线性扩展能力剖析

DM9分布式计算集群DMDPC的线性扩展能力剖析

文章目录每日一句正能量摘要一、引言:从垂直扩展到水平扩展的必然选择二、DMDPC三层架构设计2.1 MP-SP-BP角色分离2.2 完全对等无共享架构三、线性扩展的核心机制3.1 计算存储分离的弹性设计3.2 生产者-消费者并行执行模型3.3 智能数据分布策略四、性能实测&#xf…

2026/9/8 18:00:29
Spring Boot轻量级ERP开发实战:从业务建模到部署监控全解析

Spring Boot轻量级ERP开发实战:从业务建模到部署监控全解析

1. 项目概述与目标定位 做企业内部管理系统这件事,很多人一听“ERP”就想到那种重武器级的商业套件,但对几十人规模的小公司来说,基于 Spring Boot 从零搭一套轻量 ERP,往往是投入产出比最高的选择。我自己做这个项目,…

2026/9/8 18:00:29
【单片机课程设计/毕业设计】基于 STM32 的烟雾火焰报警智能垃圾桶硬件系统设计 基于 STM32 的红外满溢检测智能分类垃圾桶设计(013107)

【单片机课程设计/毕业设计】基于 STM32 的烟雾火焰报警智能垃圾桶硬件系统设计 基于 STM32 的红外满溢检测智能分类垃圾桶设计(013107)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/9/8 18:00:29
【单片机课程设计/毕业设计】基于 STM32 的语音识别智能柜体环境调节系统实现 基于 STM32 单片机的智能柜体烘干消毒控制系统设计(013007)

【单片机课程设计/毕业设计】基于 STM32 的语音识别智能柜体环境调节系统实现 基于 STM32 单片机的智能柜体烘干消毒控制系统设计(013007)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/9/8 18:00:29
【单片机课程设计/毕业设计】基于 STM32 单片机的室内温湿度烟雾光照综合管控系统设计 基于 STM32 单片机的自动手动双模式智能安防控制器设计

【单片机课程设计/毕业设计】基于 STM32 单片机的室内温湿度烟雾光照综合管控系统设计 基于 STM32 单片机的自动手动双模式智能安防控制器设计

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于嵌入式单片机,Java、小程序技术领域和毕业项目实战 ✌️…

2026/9/8 18:00:29
Avalonia UI与Qt全面对比:跨平台桌面开发框架选型指南

Avalonia UI与Qt全面对比:跨平台桌面开发框架选型指南

做跨平台桌面开发的朋友,这两年心里大概率都反复琢磨过一个问题:手里的技术栈到底选哪家?一边是沉淀了二十多年的老牌框架 Qt,从工业控制到车载座舱到处都能看到它的影子;另一边是近几年在 .NET 社区里声量越来越大的 …

2026/9/8 17:55:29