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。
-