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

Windows上用FFmpeg推流及拉流的流程概览

1. 视频采集与推流(Windows + FFmpeg)

  • 采集设备:Windows上的摄像头,比如“Integrated Camera”。

  • 采集方式:FFmpeg通过 dshow 设备接口读取摄像头。

  • 推流协议:你可以选择推到 RTMP 或 RTSP 服务器。

  • 推流命令示例

    • 推RTMP流:

      ffmpeg -rtbufsize 100M -f dshow -video_size 1280x720 -framerate 30 -i video="Integrated Camera" -c:v libx264 -f flv rtmp://localhost/live/stream

    • 推RTSP流(前提服务器支持接收RTSP推流):

      ffmpeg -rtbufsize 100M -f dshow -video_size 1280x720 -framerate 30 -i video="Integrated Camera" -c:v libx264 -f rtsp rtsp://localhost:8554/live/stream


2. 服务器转发(MediaMTX 或其他)

  • 服务监听端口和协议

    • RTMP监听默认1935端口

    • RTSP监听默认8554端口

  • 服务器角色

    • 接收推送的流(RTMP或RTSP)

    • 将流转发给客户端(可支持RTMP、RTSP、HLS、WebRTC等协议)

  • 关键点

    • 服务器需要配置支持你推的协议和对应路径。

    • 如果推的是RTMP流,但客户端要用RTSP拉流,服务器必须支持RTMP->RTSP转发。

    • 否则客户端必须用相同协议拉流。


3. 客户端拉流

  • 协议必须对应推流协议或服务器转协议后的协议

  • 例子:

    • 你推的是RTMP流,客户端用:

      ffplay rtmp://localhost/live/stream

    • 你推的是RTSP流,客户端用:

      ffplay rtsp://localhost:8554/live/stream

    • 如果用OpenCV读取流,也要用对应的协议URL。

http://www.lryc.cn/news/2395200.html

相关文章:

  • MFC坦克大战游戏制作
  • Kafka ACK机制详解:数据可靠性与性能的权衡之道
  • VulnStack|红日靶场——红队评估四
  • 数据库 | 时序数据库选型
  • 网络拓扑如何跨网段访问
  • CppCon 2014 学习第1天:An SQL library worthy of modern C++
  • 【LLM相关知识点】 LLM关键技术简单拆解,以及常用应用框架整理(二)
  • 数据分析与应用-----使用scikit-learn构建模型
  • 003 flutter初始文件讲解(2)
  • Windows系统下 NVM 安装 Node.js 及版本切换实战指南
  • 基于热力学熵增原理的EM-GAM
  • 2025.05.28-华为暑期实习第一题-100分
  • 鸿蒙OSUniApp滑动锁屏实战:打造流畅优雅的移动端解锁体验#三方框架 #Uniapp
  • 数据库中 用一个值实现类似linux中的读 写执行以及理解安卓杂用的按位或运算
  • 什么是数据驱动?以及我们应如何理解数据驱动?
  • opencv(C++) 图像滤波
  • 【线上故障排查】缓存热点Key导致Redis性能下降的排查与优化(面试题 + 3 步追问应对 + 案例分析)
  • cuda_fp8.h错误
  • Java设计模式从基础到实际运用
  • 网络安全基础--第九天
  • 鸿蒙如何引入crypto-js
  • 通过HIVE SQL获取每个用户的最大连续登录时常
  • 如何轻松将 iPhone 备份到外部硬盘
  • Matlab数据类型
  • 痉挛性斜颈带来的困扰
  • AI觉醒前兆,ChatGPT o3模型存在抗拒关闭行为
  • Flask项目进管理后台之后自动跳回登录页面,后台接口报错422,权限问题
  • HarmonyOS如何优化鸿蒙Uniapp的性能?
  • 使用逆强化学习对网络攻击者的行为偏好进行建模
  • 青少年编程与数学 02-020 C#程序设计基础 12课题、使用控件