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