[筆記] RTSP stream server on Windows
➤ 準備套件
MediaMTX:到 github 網站下載 zip 包 https://github.com/bluenviron/mediamtx,參考 [1]
FFmpeg:到官網下載已經編譯好的 zip 包,參考[2]
➤ 啟動 RTSP 服務
MediaMTX zip 包裡面有三個檔案,一個程式的執行檔(.exe),一個是程式的配置檔(.yml),另一個是許可檔案。配置檔就是一個文字檔,打開後可以看到 RTSP 的相關設定,還有其他串流 RTMP 的設定。在 Windows 環境下,開啟 CMD 視窗,然後執行 mediamtx.exe,顯示出下圖的結果。RTSP 串流的 TCP 端口為 8554,UDP 端口為 8000。
➤ FFmpeg 影像編碼
編譯過的 FFmpeg 壓縮包裡面,\bin\ 目錄底下有三個執行檔,一個是 ffmpeg.exe,一個是 ffplay.exe,以及 ffprobe.exe。第一步,在 Windows 環境下開啟 CMD 視窗,然後執行 ffmpeg.exe -version 檢視版本號,看有沒有成功。
第二步,查看並列出電腦上的所有攝影機,執行 ffmpeg -list_devices true -f dshow -i dummy,結果會列出來,如下圖。
前面的步驟都成功後,進行第四步,將攝影機影像推到 RTSP 伺服器上,參考[3],ffmpeg -f dshow -i video="USB2.0 VGA UVC WebCam" -f rtsp rtsp://127.0.0.1:8554/stream
接著,我們在另一台電腦上,寫一個 RTSP client 的程式,從伺服器上面讀取攝影機的影像,如下圖,RTSP 伺服器的 IP 位址是 192.168.1.231,端口為 8554,登入的目錄為 stream。
最終的結果,如下。成功從遠端的電腦能透過 RTSP 協定擷取攝影機的即時影像。
➤ 參考資料
[1] Windows上搭建rtsp-simple-server 流媒體服務器實現rtsp﹑rtmp等推流以及轉流 https://www.cnblogs.com/badaoliumangqizhi/p/17211019.html
[3] RTSP & RTMP 原理 通過 ffmpeg 實現將本地攝像頭推流到 RTSP 服務器 https://blog.csdn.net/qq_33934427/article/details/128009659
留言