陳 堯,丁 浩
(湖北民族學院 科技學院,湖北 恩施445000)
隨著Internet 的普及和電子商務、政府辦公等工程的廣泛應用,使信息技術已經(jīng)成為整個社會經(jīng)濟和企業(yè)生存發(fā)展的重要基礎,視頻會議系統(tǒng)在企業(yè)、政府、教育等部門的信息化建設中就占據(jù)了重要位置,其它諸如檢察院、法院、公安和水利等職能部門也成為了視頻會議系統(tǒng)的重要用戶[1].AVCON(Audio Video Conference)會議系統(tǒng),是利用視、音頻壓縮技術及點到多點的通信技術,構(gòu)筑在IP 網(wǎng)絡上的全新會議解決方案.該系統(tǒng)不同于傳統(tǒng)的視頻應用系統(tǒng),它不需要固定的線路和固定的會議地點、不依賴于固定的設備和昂貴的硬件投資,與會者只需在會議室、辦公室里或家中,隨時隨地,用一臺筆記本電腦或PC,連上網(wǎng)絡,通過公用網(wǎng)絡,連接到互聯(lián)網(wǎng),就可以和各地的商業(yè)伙伴和同行進行數(shù)據(jù)、音頻及視頻的交流通訊[2]. 由于該系統(tǒng)在終端和服務器端采用純軟件的解決方案,終端僅僅是通過客戶端軟件,而服務器端是虛擬的大型視頻應用中心.通過該系統(tǒng),無論多遠,還是多少人都可以在這里進行會議交談、演講、報告或個人之間的無障礙交流,體驗前所未有的實時、高質(zhì)量的交互式音頻和視頻體驗,并能為用戶節(jié)約人力、物力,以低投入獲得高收益[3].
AVCON 會議系統(tǒng)及方案已廣泛應用于政府、金融、企業(yè)、教學、醫(yī)療、軍隊等各個領域,獨特的產(chǎn)品、強大的多媒體數(shù)據(jù)功能、出眾的視音頻質(zhì)量以及系統(tǒng)的高穩(wěn)定性,輕松便捷的操作方式,得到各領域用戶的廣泛贊譽,并給各部門的工作帶了極大的方便,提高了工作效率[4].但工作人員現(xiàn)今多使用U 盤等移動設備,為了方便快捷得到視頻數(shù)據(jù),采用U 盤錄像應用相當廣泛,但該系統(tǒng)采用U 盤錄像,會出現(xiàn)系統(tǒng)界面凍結(jié)、停滯現(xiàn)象.該現(xiàn)象的存在,給系統(tǒng)的使用帶來了極大的不便,本文著重解決該問題.對于U 盤的錄像,不得使系統(tǒng)界面凍結(jié)、停滯,并且保證錄像成功、有效.
為了保證測試數(shù)據(jù)的有效性、可靠性,現(xiàn)設置軟硬件環(huán)境如下:①該系統(tǒng)使用的軟件:AVCON 會議系統(tǒng)V5.0.25,Windows XP SP2 操作系統(tǒng);②硬件環(huán)境:AVCON 會議系統(tǒng)CS-1500,U2 嘉年華攝像頭;③視頻設置:視頻編碼采用H264 格式,視頻分辨率設為352×288,傳輸速率為384kbps,網(wǎng)絡環(huán)境為局域網(wǎng),并設置速度優(yōu)先,軟件勾選圖像去噪.
1)對會議進行U 盤錄像.選取普通U 盤進行各項操作測試.測試結(jié)果如表1 所示.
表1 U 盤會議錄像測試數(shù)據(jù)Tab.1 U disk video conference test data
2)對視頻進行U 盤錄像.由于對會議錄像發(fā)現(xiàn)愛國者U 盤會出現(xiàn)界面停滯的情況,遂使用該U 盤對單個視頻進行U 盤錄像.采用愛國者U 盤(無病毒),登錄系統(tǒng),對本地視頻進行U 盤錄像.CPU 占用率為19%左右,測試結(jié)果為界面停滯.
在對會議和視頻進行U 盤錄像時,普通U 盤確實會有程序界面凍結(jié)、停滯現(xiàn)象.
1)對程序輸出日志進行跟蹤,輸出日志信息部分代碼:
根據(jù)上述輸出的日志信息分析,錄像時界面會出現(xiàn)凍結(jié)現(xiàn)象可能是由m_ulDataSize += m_AVCFile.Write(dataFrame.pData,dataFrame.nLen)該語句時間過長引起.
經(jīng)跟蹤代碼和查閱相關資料[5],發(fā)現(xiàn)文件IO 流自帶4K 的緩沖區(qū),存在該緩沖區(qū)滿時的臨界點處理引起程序界面凍結(jié)的問題,遂在fwrite 函數(shù)之后調(diào)用fflush 清空緩沖區(qū),調(diào)用清空緩沖區(qū)函數(shù)后經(jīng)測試,程序界面不再凍結(jié)[6].
2)根據(jù)1)的分析與處理,可采用不使用該緩沖區(qū),同樣可避免緩沖區(qū)滿時臨界點的處理,使用setvbuf函數(shù)達到此目的,經(jīng)修改程序并測試,程序界面不再凍結(jié).
取消文件緩沖區(qū)可用setvbuf 函數(shù).具體修改如下(黑體):
由于沒有使用緩沖區(qū),每次調(diào)用fwrite 函數(shù)時直接將數(shù)據(jù)寫入了文件,增大了磁盤開銷.
即每次調(diào)用fwrite 函數(shù)時,調(diào)用一次fflush()函數(shù).具體修改如下(黑體):
經(jīng)測試驗證,該速度比方案5.1 快.查找的相關資料也證實了這一點:Calling setvbuf()with the modeparameter of _IONBF eliminates this problem by unbuffering the stream,but file I/O will be slower[5].
雖然使用了緩沖區(qū),但由于每次都調(diào)用了fflush(),即使緩沖區(qū)中數(shù)據(jù)不多的時候也清空緩沖區(qū),增大了磁盤開銷.
由于上述兩種解決方案都增大了磁盤開銷,遂在方案的基礎上加以改進,在緩沖區(qū)即將滿時清空緩沖區(qū),以避免緩沖區(qū)滿時系統(tǒng)的處理造成程序界面卡的問題.經(jīng)查閱相關資料[7],WINDOWS 下緩沖區(qū)大小為4096 字節(jié),或者通過FILE 結(jié)構(gòu)體的成員來獲得:
具體修改如下(黑體):
該方案磁盤開銷小于方案5.1 和方案5.2.但是,在一定程度上增大了磁盤開銷,此增大開銷是對比系統(tǒng)默認情況.
綜合以上問題的提出、測試、分析以及采取的解決方案,雖然5.3 方案在一定程度上也增大了磁盤開銷,但卻解決了U 盤錄像時程序界面凍結(jié)的問題,在此情況下,此方案不失為一個折衷的較好的辦法.
[1] 吳德道,徐蘇,羅晶.AVCon 視頻會議的研究與實現(xiàn)[J].計算機與現(xiàn)代化,2006(2):81-84.
[2] 李崇榮,張軒.基于IP/multicast 視頻會議技術在遠程教育中的應用[J].清華大學學報:自然科學版,2003,43(1):129-131.
[3] 李超,柴文磊,劉勁松.高清視頻會議系統(tǒng)技術淺析[J].信息安全與技術,2010(10):50-51.
[4] 王中元,胡瑞敏,常軍,等.基于壓縮域的多路視頻流混合方法[J].高技術通訊,2012,22(1):42-47.
[5] 劉振憲.MSDN 與視頻軟件開發(fā)[J].電腦編程技巧與維護.2005(5):54-56.
[6] 彭文標,易慶林,李海軍,等.遠程視頻會議系統(tǒng)的設計與實現(xiàn)[J].電視技術,2009,33(10):79-82.
[7] 尚曉薇,林奕.一種基于閃存的緩沖區(qū)管理算法[J].計算機與現(xiàn)代化.2013(11):74-76.