当前位置: 首页 > news >正文

Windows上用FFmpeg采集摄像头推流 → MediaMTX服务器转发流 → WSL2上拉流播放

1. Windows上 FFmpeg 推流(摄像头采集)

  • 设备名称可用 ffmpeg -list_devices true -f dshow -i dummy 查询,假设为Integrated Camera

  • 采集推流示例(推RTMP到MediaMTX):

ffmpeg -rtbufsize 100M -f dshow -video_size 1280x720 -framerate 30 -i video="Integrated Camera" -c:v libx264 -preset veryfast -f flv rtmp://<服务器IP或localhost>/live/stream

这里推到MediaMTX默认监听的RTMP端口1935,路径/live/stream,可根据MediaMTX配置调整


2. MediaMTX服务器转发配置

  • 确保 mediamtx.yml 配置文件中开启了RTMP服务,监听1935端口

  • 典型配置片段:

protocols: [rtmp, rtsp, hls] rtmp: listen: ":1935"

  • MediaMTX启动后会监听RTMP端口,接收并转发流


3. WSL2上拉流播放

  • WSL2本质是Linux环境,可以用ffplayvlc拉流

  • 拉取RTMP流示例:

ffplay rtmp://<Windows主机IP或localhost>:1935/live/stream

  • 如果WSL2和Windows在同一台机器上,localhost通常可通;如果网络隔离,用Windows实际IP

  • 同理,OpenCV读取也用相同URL:

cv::VideoCapture cap("rtmp://<WindowsIP>:1935/live/stream");


注意点

  • 防火墙:确认Windows防火墙允许1935端口入站,MediaMTX监听生效

  • 网络地址:WSL2访问Windows时,localhost有时不通,可能需要用<Windows主机IP>或者host.docker.internal等特殊地址

  • 推流参数

    • -rtbufsize 100M防止采集缓冲区溢出

    • -preset veryfast或更快编码速度降低CPU负载

  • 流地址一致性:推流地址和拉流地址的路径要对应


流程示意图

Windows(FFmpeg dshow推流) --> MediaMTX(rtmp://:1935/live/stream) --> WSL2(ffplay拉流)

相关文章:

  • Visual Studio笔记:MSVC工具集、MSBuild
  • C++ 17 正则表达式
  • 机器学习与深度学习06-决策树02
  • day17 常见聚类算法
  • 深入理解MCP模型协议:构建全能AI服务端
  • 学习STC51单片机22(芯片为STC89C52RCRC)
  • LLMTIME: 不用微调!如何用大模型玩转时间序列预测?
  • Pytorch---ImageFolder
  • 什么是闭包
  • 姜老师MBTI课程:ISTP和ISFP
  • Thinkphp6实现websocket
  • 秒杀系统—5.第二版升级优化的技术文档三
  • 设备健康管理的战略升维:用预测性维护重构企业竞争力
  • Linux 基础IO(上)
  • VR/AR 显示瓶颈将破!铁电液晶技术迎来关键突破
  • Android15 userdebug版本不能remount
  • 玩客云 OEC/OECT 笔记
  • 嵌入式RTC工作原理及应用场景
  • 【MYSQL】索引篇(一)
  • 前端面试准备-4
  • 怎么进入外网/seo优化论坛
  • 建设双语的网站/怎样做推广
  • 长春电商网站建设报价/四年级小新闻50字左右
  • wordpress网站工具栏/排名前十的小说
  • 有哪些网站交互效果做的好的/qq群引流推广软件
  • 西安移动网站建设/惠州seo管理