1. 程式人生 > >ffmpeg CCTV 方案對比

ffmpeg CCTV 方案對比

ffmpeg CCTV一共介紹了4種方案,目的都是為了在網頁實現cctv。如果可以接受winform的,建議直接呼叫NVR的sdk或使用vlc外掛實現,這裡有個很好的實現(實測rtsp很穩定,如果不是rtsp使用ffmpeg轉碼即可):

https://github.com/higankanshi/Meta.Vlc

本文做一個對比,介紹一下每種方案的利弊:

1. 使用streamedian。

好處:websocket中介軟體實現轉碼,並且video on demand。

缺陷:實測5路攝像頭以上不夠穩定。播放一段時間就會有延遲。

 

2. 使用ffserver

好處:開源免費。

缺陷:

1. 配置比較麻煩

2. 5路以上不穩定

 

3. 使用jsmpeg

好處:開源,配置簡單。延遲低。

缺陷:

1. cpu佔用過多,ubuntu4u 3.0gb 只能開到12路

2. 一個相機需要開2個埠

3. 客戶端(外星人pc)cpu12路cpu佔用到40%

 

4. shinobi video

好處:

穩定,16路cpu只佔了10%

缺陷:商用收費,1個例項安裝需要2000美元

 

總結:根據具體場景對不同方案進行選擇。建議直接做winform,如果一定要在瀏覽器實現:

如果只需要支援10路以下相機24小時監控,選擇jspmeg+websocket;

如果只是定時開啟相機,並且只需要同時支援5路以下,選擇streamedian。

如果支援路數較多,比如同時32路,取決於硬體價格,如果pc總價格高於2000美元則直接買shinobi video;否則還是選擇jsmpeg。

另外,如果考慮購買,土豪還可以選擇wowza。其他選擇還有red5流媒體伺服器,但是pro仍然是收費的;webrtc方案(kurento)筆者不推薦,應用是雙向音視訊,只是cctv就太over kill了。