
手機(jī)遠(yuǎn)程視頻監(jiān)控系統(tǒng)(網(wǎng)絡(luò)攝像機(jī)、百萬高清網(wǎng)絡(luò)攝像機(jī)、錄像機(jī)、監(jiān)控平臺等)主要涉及5大方面,分別為最核心的視頻編解碼、網(wǎng)絡(luò)傳輸、UI設(shè)計、服務(wù)端(手機(jī)流媒體)以及與其它系統(tǒng)的結(jié)合。
在手機(jī)上瀏覽實時視頻圖像畫面一般過程是手機(jī)客戶端發(fā)起一個視頻預(yù)覽請求到手機(jī)流媒體,告知流媒體當(dāng)前客戶端想瀏覽那一路視頻,流媒體服務(wù)器去連接前端遠(yuǎn)程的DVR/DVS取其子碼流數(shù)據(jù),轉(zhuǎn)發(fā)傳輸QCIF畫面質(zhì)量的視頻數(shù)據(jù)到手機(jī)上,客戶端軟件調(diào)用解碼庫對接收到視頻數(shù)據(jù)解碼,最終通過DirectShow 繪制到界面上顯示。
要考慮到采用什么類型編碼的視頻流是H.264或MPEG4,還是其它格式的視頻數(shù)據(jù),一般視頻監(jiān)控設(shè)備傳輸?shù)氖遣捎镁哂懈邏嚎s比的H.264數(shù)據(jù).確定了視頻數(shù)據(jù)編碼類型就好辦了,那就去找其相應(yīng)的編解碼庫,一般移植開源的ffmpeg到WM上進(jìn)行優(yōu)化(已經(jīng)有人做了,大家可以直接Google一下找到相應(yīng)的源代碼),移植其mpeg4 sp/h.264解碼器,在沒有任何優(yōu)化的情況下可支持32K,CIF,5-10fps的效果,對于一般的流媒體應(yīng)用足夠了。以后還要經(jīng)過算法和匯編優(yōu)化。解碼后還需要經(jīng)過yuv2rgb和scale,需要注意的是ffmpeg的解碼有消隱區(qū)的說法,即QCIF的圖像其linesize不是176而是 192,如果你發(fā)現(xiàn)解碼后圖像呈綠色,需用img_convert()轉(zhuǎn)一下(目的格式也是PIX_FMT_YUV420P)。Symbian上用DSA 直接寫屏就行。Wndows Mobile上可以用sdl.音頻解碼主要包括AAC,AMRNB,AMRWB。AAC和AMRNB是gprs和edge帶寬支持的音頻(aac效果比 amrnb好),AMRWB是3G后的音頻格式。在ffmpeg 0.5 release中已經(jīng)支持amrnb/wb的fixed point解碼,很強(qiáng)大?;蛘邚腡CPMP播放器里面提取相應(yīng)代碼,TCPMP有N多種可用的編解碼,其中就有H.264的,解碼效率聽說不錯,可借鑒。
用戶對手機(jī)軟件的界面是很在意的,做的好看了他會覺得有技術(shù)含量,做的好用了他會更加喜歡我們的產(chǎn)品。所以一套好的UI是必不可少的。手機(jī)軟件開發(fā)的大部分工程是在做UI系統(tǒng)。一套好的自主的手機(jī)軟件UI系統(tǒng)是產(chǎn)品核心競爭力的一部分。在Windows Mobile的界面開發(fā),使用C + SDK做漂亮的界面不容易,一旦在界面上控件比較多,控件的布局更是頭痛。 橫豎屏切換的時候也得考慮,不同手機(jī)屏幕尺寸可能也不一樣;不同的字體下,界面差異也非常大……
其實要做出好的界面最后還是要回歸RECT,也就是自己繪制貼圖。 如果要做的很漂亮,那還是自己封裝一套界面控件,這樣控制起來方便。 橫豎屏問題,你繪制的時候不應(yīng)該寫死的位置坐標(biāo),應(yīng)該取相對坐標(biāo)。 在橫豎屏切換的時候會觸發(fā)WM_SIZE等一些消息,里面改變相對坐標(biāo)的橫豎屏大小就OK啦. 做界面推薦一個MFC的擴(kuò)展,Xtreme ToolkitPro,里面有大量的類,可以參考他們的類來寫寫自己的控件.這就是現(xiàn)狀,沒辦法,剛開始的時候會比較艱難。 積累以后有自己的一套控件庫,開發(fā)速度會提高。
開發(fā)應(yīng)用每種方式都各有其優(yōu)勢, 沒有最好,只有更適合??淳唧w應(yīng)用, 選擇最適合自己的技術(shù),自己熟悉的技術(shù)。
Win32 開發(fā)的效率相對較低,但是靈活性較高。
WTL 對它不了解,不加評論,但似乎它的資料相對較少。
MFC 開發(fā)效率不錯,但編譯后的程序體積較大。對了,它的資料也非常豐富。
作為服務(wù)端的手機(jī)流媒體要從安全性,穩(wěn)定性,并發(fā)性等各性能指標(biāo)綜合考量,為客戶端提供良好的視頻服務(wù)訪問;它主要具有以下幾個功能:其中一個基本功能就是鑒權(quán),驗證登錄請求過來的客戶端具有那些權(quán)限,可以瀏覽那路視頻,可不可以進(jìn)行云臺控制,點播回放那些文件等核心功能是對資源進(jìn)行有效地管理,如視頻源,當(dāng)前登錄用戶等;與中心其它應(yīng)用進(jìn)行通信交互,傳遞數(shù)據(jù);如傳遞報警事件到客戶端
手機(jī)遠(yuǎn)程視頻監(jiān)控系統(tǒng)(網(wǎng)絡(luò)攝像機(jī)、百萬高清網(wǎng)絡(luò)攝像機(jī)、錄像機(jī)、監(jiān)控平臺等)與GIS(一般以Web形式提供)的結(jié)合顯示當(dāng)前監(jiān)控點位置信息(周邊環(huán)境,交通情況等);MIS系統(tǒng)提供一些相關(guān)信息,比如對重大危險源的監(jiān)控如化工廠等,可以顯示企業(yè)基本情況,危險源等級,危險物質(zhì)名稱以及相應(yīng)的應(yīng)急預(yù)案或者顯示前端傳感器監(jiān)控的氣體濃度。