本文為 Dennis Gao 原創技術文章,發表於博客園博客,未經作者本人允許禁止任何形式的轉載。
開源傾情奉獻系列鏈接
- 開源傾情奉獻:基於.NET打造IP智能網絡視頻監控系統(一)開放源代碼
- 開源傾情奉獻:基於.NET打造IP智能網絡視頻監控系統(二)基礎類庫介紹
- 開源傾情奉獻:基於.NET打造IP智能網絡視頻監控系統(三)命令行工具集
- 開源傾情奉獻:基於.NET打造IP智能網絡視頻監控系統(四)服務端介紹
- 開源傾情奉獻:基於.NET打造IP智能網絡視頻監控系統(五)客戶端介紹
這是什么系統?
OptimalVision(OV)網絡視頻監控系統(Video Surveillance System),是一套基於.NET、C#、WCF、WPF等技術構建的IP網絡視頻監控系統。設計與實現該系統的初衷是希望在家用電腦中部署該系統,連接本地或局域網設備,通過瀏覽器或手機客戶端瀏覽寶寶實時視頻,也就是俗稱的“寶寶在線”或“家庭看護”。
詳情參考博文《基於.NET打造IP智能網絡視頻監控系統》。

更多系統截圖請參考博文《基於.NET打造IP智能網絡視頻監控系統》。
為什么開源?
由於業余時間總是有限,完成系統中的服務、配置、采集、傳輸和桌面GUI部分后,繼續完成后續移動客戶端的動力與興趣明顯減弱,尤其是寶寶出生后的很長一段時間內基本沒有進展,逐漸地演變為演練和測試所關注技術和模式的實驗性項目。
總結了幾點開放源代碼的原因:
- 社區分享。獨樂樂不如眾樂樂,孤獨腐朽的代碼沒有意義,與社區分享和探討也是一種樂趣。
- 精力有限。利用業余時間構建,擠占的是陪家人和孩子的時間,要不也不會積累了三年。
- 知識積累。據說自己查看六個月前寫的代碼,如果感覺需要改進,則就成長了。
- 拓展視野。個人的視角總是短視,接受更多人的批評與指正,可以促進學習和拓展視野。
代碼在哪里?
代碼托管在 GitHub 網站,所有代碼基於 Microsoft .NET Framework 4.0 編譯。
代碼目錄結構
下面是源代碼目錄結構:
- assets - 系統使用到的資源,例如圖片等
- bin - 系統編譯輸出目錄
- Debug - Debug模式輸出目錄
- build - 編譯系統腳本
- docs - 系統設計和文檔
- lib - 系統引用的類庫
- src - 系統代碼
- Crust - MVVM模式框架(改編自 MVVM Light Toolkit)
- Foundation - 系統基礎類庫(參考《開源傾情奉獻:基於.NET打造IP智能網絡視頻監控系統(二)基礎類庫介紹》)
- Knifer - 命令行工具集(參考《開源傾情奉獻:基於.NET打造IP智能網絡視頻監控系統(三)命令行工具集》)
- Rukbat - 視頻監控系統代碼
- Common - 前端和后端通用代碼
- Service - WCF服務代碼(參考《開源傾情奉獻:基於.NET打造IP智能網絡視頻監控系統(四)服務端介紹》)
- GUI - WPF客戶端代碼(參考《開源傾情奉獻:基於.NET打造IP智能網絡視頻監控系統(五)客戶端介紹》)
- tests- 各種測試
- tools - 各種工具,例如清理編譯目錄腳本等
參考了哪些類庫?
下面羅列了系統所學習、引用、參考、改編、摘抄的開源類庫的不完全列表。
- AForge.NET
- Accord.NET
- NAudio
- nVLC
- Speex
- C# WebServer
- FFmpeg
- FFmpeg.NET
- Flowplayer
- iSpy
- ZoneMinder
- ONVIF Device Manager
- Google GData
- GMap.NET
- Json.NET
- Dynamic Json
- Hammock
- AutoMapper
- SocialKit / LightRest
- Microsoft Enterprise Library
- Microsoft Unity
- System.Data.SQLite
- RavenDB
- RaptorDB
- MongoDB
- MongoDB C# Driver
- Windows Presentation Foundation (WPF)
- MVVM Light Toolkit
- Caliburn.Micro
- MEFedMVVM
- MVVM Foundation
- Phoenix MVVM
- WPF MediaKit
- WPF Multiple Document Interface (MDI)
- MDI Container for WPF
- AvalonDock
- WPF Google Map Control
- WPFSpark
- WPF 3DTools
- Odyssey WPF Controls
- Extended WPF Toolkit™ Community Edition
- Calendar Control in WPF
- patterns & practices: Prism
- Facebook Developer Toolkit
- Microsoft Health Common User Interface (CUI)
- Mahapps.Metroa UI Toolkit for WPF
- Spark View Engine
- ReactiveUI
- CommonServiceLocator
- Ninject
- StructureMap
- NetMQ
- FunnelWeb
- Quartz.NET
- Task Scheduler Engine
- SuperSocket
- CommonLibrary.NET
- NSubstitute
GitHub 本周上榜,感謝各位朋友的支持。

本文為 Dennis Gao 原創技術文章,發表於博客園博客,未經作者本人允許禁止任何形式的轉載。
