Time of Update: 2018-12-05
Time of Update: 2018-12-05
前面的文章中提到了通過RTSP(Real Time Streaming Protocol)的方式來實現視頻的直播,但RTSP方式的一個弊端是如果需要支援用戶端通過網頁來訪問,就需要在在頁面中嵌入一個ActiveX控制項,而ActiveX一般都需要簽名才能正常使用,否則使用者在使用時還需要更改瀏覽器設定,並且ActiveX還只支援IE核心的瀏覽器,Chrome、FireFox需要IE外掛程式才能運行,因此會特別影響使用者體驗。而RTMP(Real Time Messaging
Time of Update: 2018-12-05
組合模式(Composite):將對象組合成樹狀結構以表示“整體-部分”階層,組合模式使得使用者對單個對象和組合對象的使用具有一致性。UML類圖: 模式說明:Component 是組合中的對象聲明介面,在適當的情況下,實現所有類共有介面的預設行為。聲明一個介面用於訪問和管理Component子組件。Leaf 在組合中表示葉子結點對象,葉子結點沒有子結點。Composite
Time of Update: 2018-12-05
上一篇《WINCE IE瀏覽器定製--支援觸控螢幕滑動操作》講到如何讓IE支援觸控螢幕滑動操作,這裡再講一下IE具體配置。 首先,如何隱藏IE捲軸或者是修改捲軸的寬度? 有兩種方法,一是修改註冊表: [HKEY_CURRENT_USER/Software/Microsoft/Internet Explorer/Main] "SBSizeH"=dword:0 ;設定水平捲軸寬度(預設為20px) "SBSizeV"=dword:4
Time of Update: 2018-12-05
橋接模式(Bridge):將抽象部分與它的實現分離,使它們都能夠獨立的變化。橋樑模式的設計思想是在軟體系統的抽象化和實現化之間使用組合/彙總關係而不是繼承關係,從而使兩者可以相對獨立地變化,以減少耦合。UML類圖: 模式說明:Abstraction 抽象類別,定義了一套使用和操作介面。內部維護了一個Implementor類對象,具體操作由Implementor類實現。Implementor
Time of Update: 2018-12-05
由於需要在現有產品中整合WEB 瀏覽器,但IE內建的瀏覽器本身是不支援觸控螢幕滑動翻頁的,而且IE本身使用者體驗也不敢恭維。有什麼辦法我們可以自己定製IE瀏覽器呢?下面將介紹如何定製IE使其支援觸控螢幕滑動操作。 安裝WINCE6.0後,在%_WINCEROOT%/Public/Ie/Oak 目錄下有IESAMPLE和IESIMPLE兩個檔案夾,IESAMPLE是CE下IE的標準版本的源碼,有工具列、狀態列、地址欄,還有Internet選項、收藏夾等等。和PC
Time of Update: 2018-12-05
WINCE系統下的ntlmssp.dll提供了系統安全性的相關操作,ntlmssp.h檔案定義了下列介面函數:1.添加使用者BOOL NTLMSetUserInfo(IN LPTSTR pszUser,IN LPTSTR pszPassword);2.枚舉系統所有使用者BOOL NTLMEnumUser(IN DWORD index,OUT LPTSTR pszUser,IN OUT LPDWORD pcchUser );3.刪除指定使用者BOOL NTLMDeleteUser(IN
Time of Update: 2018-12-05
在WINCE開發中經常需要在不同的進程之間傳遞、共用資料,總結了一下,WINCE下處理序間通訊常用的方式有:Windows訊息,共用記憶體,socket通訊,管道,全域原子,郵槽等,下面就分別對這幾種方法做個小結。(當然還可以採用註冊表,磁碟檔案以及資料庫方式,只是這幾種方式的通訊效率和即時性比較低,所以一般不考慮。)一、Windows訊息
Time of Update: 2018-12-05
最近需要將H264視頻編碼成MP4格式。研究了一下,一種方法是採用ffmpeg庫,可以先將H264檔案解碼,再編碼產生MP4檔案,但這種方式效率較低,10M的視頻可能需要幾秒鐘才能完成。另一種方式根據MP4檔案協議直接將H264包封裝成MP4格式,由於是直接基於MP4的封裝,因而效率很高。H264可以很方便的封裝成FLV檔案,但MP4格式格式相對比較複雜,封裝起來會比較麻煩。由於沒時間研究MP4協議,在Google Code上找到一個開源的MP4編解碼庫Mp4v2(https:/
Time of Update: 2018-12-05
如何讓系統載入自己寫的驅動程式? 兩種辦法: 1、在[HKEY_LOCAL_MACHINE/Drivers/BuiltIn]下添加註冊鍵。 2、在應用程式中調用ActivateDeviceEx。 在一些檔案中用分號來表示注釋,例如下面的內容 ; @CESYSGEN IF SERVERS_MODULES_HTTPD ; @CESYSGEN ENDIF 在“CESYSGEN...”前加了“@”,有沒有什麼特別的含義?
Time of Update: 2018-12-05
Apache內建使用者驗證機制,通過開啟httpd.conf檔案中的 AllowOverride AuthConfig便可以開啟apache許可權認證功能。這樣在訪問apache伺服器的頁面時,會彈出一個類似如下的登入驗證框,驗證通過後才能繼續訪問頁面。 但我們一般還需要在web頁面中對密碼進行配置和修改。那麼如何通過頁面修改密碼呢? Apache中的密碼認證可以利用.htaccess檔案來進行操作。.htaccess檔案參考內容如下:AuthType
Time of Update: 2018-12-05
接著前面的文章《WINCE下處理序間通訊(一)》,現在介紹處理序間通訊的另一種方法。 三、管道(訊息佇列) WINCE並不支援類似於PC機上匿名管道、具名管道的通訊方式,但CE下提供了一種點對點訊息佇列的方法,其工作原理與管道非常類似:在通訊的兩端分別建立一個讀隊列和寫隊列,寫進程往訊息佇列一端寫入資料,讀進程從訊息佇列另一端讀取資料。
Time of Update: 2018-12-05
STM32很強大的一個功能是支援IAP線上升級,IAP(In-Application Programming),即在“應用程式中編程 ", 通俗的來將是程式自己可以往程式儲存空間裡寫資料或修改程式。有了IAP功能, 即使在產品發布之後也可以方便的通過預留的通訊連接埠(如串口、USB、IIC等)對產品中的程式韌體進行更新升級,而無需通過傳統的JTAG方式做燒錄更新。IAP功能的韌體一般包含兩個部分:Boot和
Time of Update: 2018-12-05
1. 安裝和配置yuml
Time of Update: 2018-12-05
現在的車載和PND裝置都有自動校正系統時間的功能,實現方法一般是通過GPS較時(當然對於有CMMB模組的裝置也可以通過CMMB校時)。 但由於串口裝置是一個獨佔裝置,GPS串口不能同時被導航軟體和校時程式使用。如果此時導航軟體正在運行,GPS校時程式是無法訪問GPS串口的。
Time of Update: 2018-12-05
Wince下開發應用程式時很多情況下需要讓程式只能有一個執行個體運行,實現方法主要是在程式進入點檢查當前執行個體是否正在運行,如執行個體已運行,則退出本次執行。總結了一下,主要有以下三種方式:1.通過FindWindow尋找指定視窗是否存在,參考代碼如下:// 尋找是否有執行個體運行HWND hExistWnd = ::FindWindow(NULL,_T("WindowName"));if (!hExistWnd){ printf("The app is already
Time of Update: 2018-12-05
代理模式(Proxy):為其它對象提供一種代理以控制這個對象的訪問。 代理模式的主要作用是為其他對象提供一種代理以控制對這個對象的訪問。在某些情況下,一個對象不想或者不能直接引用另一個對象,而代理對象可以在用戶端和目標對象之間起到中介的作用。UML類圖: 模式說明: Subject 抽象主題,定義了真實實體(RealSubject)和代理(Proxy)公用介面。 RealSubject
Time of Update: 2018-12-05
最近有空研究了一下基於Opencv的視頻人數統計。總結了一下,視頻人數統計系統的工作流程主要包括以下幾個部分:1.視頻捕獲 從視頻源(網路攝影機或視頻檔案)擷取到視頻映像資料。2.目標提取(背景建模、前景分析) 由視頻映像分割出視頻映像中的運動地區。 常見的方法:高斯背景建模,幀差法,三幀差法。3.目標識別(模式識別、特徵點分析) 根據目標特徵分析得到具體目標。比如Face Service、頭肩部識別等。
Time of Update: 2018-12-05
Time of Update: 2018-12-05
STM32的開發目前大多數還開處於“裸奔”的階段,處於開發成本的考慮,可能還未嵌入任何的RTOS系統,由於沒有作業系統的支援,因而不能方便的對多任務進行調度和管理,在main函數中你可能會寫成如下方式:int main(void){while (1){Task1(); // 調用任務1Task2(); // 調用任務2}}