前言
在項目開發過程中,由于采購的AI邊緣服務器,實現智能識別相關的功能,需要視頻流的輸入,調試過程中單獨去搞一臺能開啟RTSP服務的攝像頭進行調試,就挺麻煩的。
為了方便在本地開發調試,以及現場調試,需要實現的功能有兩點:
在本地開發時,用筆記本自帶的攝像頭完成推流
使用臺式機的時候可能沒有攝像頭,需要使用視頻文件進行推流
本文結合了網上的資料,實現了以上兩點功能,希望對你能有所幫助。
環境搭建
系統:WIN10
推流服務:EasyDarwin
推流工具:ffmpeg
安裝推流工具
這里我們選擇ffmpeg進行推流,參考以下文章進行安裝:
【配置環境】安裝Ffmpeg音視頻編解碼工具和搭建EasyDarwin開源流媒體服務器_拉伊卜的博客-CSDN博客
安裝推流服務
使用EasyDarwin,我們可以很便捷的在本地搭建一套rtsp推流服務,它支持linux和windows版本,這里我們直接去下載系統對應的,最新的release版本即可。
下載對應系統的應用,并執行EasyDarwin.exe
獲取推流服務地址

記住這個地址rtsp://172.22.128.1,后續推流的時候會用到。
該應用自帶Web服務,可通過該服務可視化的管理流,服務地址: http://localhost:10008
推流
攝像頭推流
查找推流設備
使用ffmpeg查看有哪些可用于推流的攝像頭設備:

上面打印的這些信息 我們只需要關注輸出的這個設備名稱就好,記住該名稱,LRCP USB2.0,一會兒推流會用到
推流
參數解釋:
-s要推流的分辨率video參數為上面指令執行后,看到的設備名稱-vcodec視頻編碼格式,這里使用264的庫rtsp是指執行EasyDarwin.exe的服務地址 + 自定義推流路經
C:\Users\Administrator>ffmpeg -s 1920x1080 -f dshow -i video="LRCP USB2.0" -vcodec libx264 -preset:v ultrafast -tune:v zerolatency -rtsp_transport tcp -f rtsp rtsp://172.22.128.1/pushStream視頻文件推流
高幀率推流
D:\FFOutput>ffmpeg -stream_loop -1 -i 人員逗留.mp4 -c:v libx264 -preset veryfast -b:v 2000k -f rtsp rtsp://172.22.128.1/pushStream默認幀率推流
慢
D:\FFOutput>ffmpeg -re -stream_loop -1 -i 抽煙.mp4 -c copy -f rtsp rtsp://172.22.128.1/pushStream快
D:\FFOutput>ffmpeg -re -stream_loop -1 -i 抽煙.mp4 -c:v libx264 -preset veryfast -b:v 2000k -f rtsp rtsp://172.22.128.1/pushStream測試
使用安裝ffmpeg套件中提供的ffplay可以播放視頻流
C:\Users\Administrator>ffplay -rtsp_transport tcp rtsp://172.22.128.1/pushStream
?