《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式視頻監控系統終端軟件設計與實現
嵌入式視頻監控系統終端軟件設計與實現
2015年微型機與應用第6期
王慧州,彭 宏
(浙江工業大學 信息工程學院 浙江省通信網技術應用研究重點實驗室,浙江 杭州 310023)
摘要: 設計并實現了基于嵌入式Linux和TSM320DM365處理器平臺的實時視頻監控系統終端。首先介紹了視頻監控系統的總體框架,從可擴展性以及實用性上設計了嵌入式終端軟件的總體框架;接著闡述了終端軟件上音視頻采集發送模塊的設計與實現方案;最后對該嵌入式終端進行測試,驗證其實際效果。
關鍵詞: 嵌入式 H.264 G711 DM365
Abstract:
Key words :

  摘  要: 設計并實現了基于嵌入式Linux和TSM320DM365處理器平臺的實時視頻監控系統終端。首先介紹了視頻監控系統的總體框架,從可擴展性以及實用性上設計了嵌入式終端軟件的總體框架;接著闡述了終端軟件上音視頻采集發送模塊的設計與實現方案;最后對該嵌入式終端進行測試,驗證其實際效果。

   關鍵詞: 嵌入式;H.264;G711;DM365;RTP

0 引言

  隨著嵌入式技術、圖像處理技術、網絡通信技術的不斷發展以及人們的安防意識日益提高,通過實時視頻傳輸系統對現場監控的應用越來越廣泛?;贏RM的視頻監控系統因其體積小、功能強、功耗低、性價比高等特點,被廣泛地應用在交通道路、學校、小區、機場等場所。因此,對基于嵌入式的網絡監控系統終端的研究具有很重要的社會和實際應用價值[1]。本文根據實際需求,設計并實現了基于DM365的網絡視頻監控系統終端,它是網絡視頻監控系統中的音視頻獲取源,集成了音視頻采集編碼、語音解碼播放、實時傳輸和信令控制等功能。本文主要闡述了終端系統軟件框架的設計與主要功能模塊的實現。

1 系統結構介紹

  整個視頻監控系統[2]由三部分組成:嵌入式終端、服務器平臺和客戶端。系統結構框架如圖1所示。

001.jpg

  嵌入式終端負責采集音視頻數據,對音視頻數據進行壓縮編碼,并將編碼壓縮數據通過3G/WLAN網發送至流媒體服務器。服務器平臺由流媒體服務器、SIP信令服務器和FTP服務器三部分組成。流媒體服務器負責轉發音視頻流,SIP信令服務器負責終端與平臺、終端與客戶端之間的信息交互,FTP服務器負責圖像文件信息的存儲備份。客戶端主要實現實時監控和終端控制功能,通過客戶端可對終端設備進行實時的視頻碼率幀率控制。整個系統為嵌入式視頻監控提供了良好的解決方案,能夠廣泛地應用在視頻監控領域中。

2 嵌入式終端軟件框架設計

  嵌入式終端軟件開發基于MontaVista Linux嵌入式操作系統,它基于Linux內核,具有高效、實時、穩定、內核可裁剪等特點[3]。同時利用Linux系統提供的進程間通信機制可方便地實現各功能模塊之間的數據通信。嵌入式終端軟件平臺包括視頻采集編碼模塊、音頻采集編碼解碼模塊、RTP模塊、信令控制模塊以及其他的功能模塊等。終端軟件總體框架如圖2所示。

002.jpg

  SIP信令模塊負責與服務器平臺的信令交互。信令模塊將應用管理模塊的信息進行SIP信令封裝并發送至SIP服務器;同時解析接收的SIP信令,將控制信息通過本地socket發送至應用管理模塊進行調度。

  應用管理模塊負責調度各個功能模塊。管理模塊收集各個功能模塊的交互信息,將交互信息進行封裝,發送至SIP信令控制模塊,從而實現與服務器平臺的信令交互;與此同時,管理模塊還將接收到的控制信息進行解析,根據控制信息調度相應的功能模塊。在各功能模塊中,RTP模塊為主要模塊,負責音視頻數據的RTP封包、發送。

  音視頻采集模塊負責實時的音視頻數據采集。該模塊采集音視頻數據,并對其進行編碼,通過Linux共享內存機制實現與RTP模塊的數據交互。

  該軟件框架中各功能模塊單獨實現,互不影響,可根據具體需求方便地添加和刪除功能模塊,同時各個模塊均由應用管理模塊進行調度統籌,便于管理。

3 音視頻功能模塊的設計與實現

  嵌入式設備作為視頻監控系統的終端,需要完成語音與視頻的數據采集和發送,一次成功的視頻監控請求應當包含控制信息接收解析、數據流的發送和接收等。嵌入式終端音視頻功能模塊主要包括音視頻采集編碼模塊、RTP模塊,模塊間通過Linux進程間通信機制實現數據與控制信息的交互。

003.jpg

  圖3所示為一次音視頻請求后音視頻相關模塊的處理流程。客戶端發起視頻請求后,SIP信令模塊將接收到服務器轉發的視頻請求信令,SIP信令在經過信令模塊的解析之后,其攜帶的控制消息將到達應用管理模塊;管理模塊解析音視頻請求控制消息,通知RTP模塊;RTP模塊開啟兩個線程用于處理音視頻數據,發送線程負責從共享內存讀取音視頻數據并進行RTP打包發送,接收線程接收流媒體服務器轉發的語音數據包并進行解碼播放。

  本文選用TI公司采用達芬奇技術的數字媒體處理器TMS320DM365作為主芯片。為了方便音視頻采集編碼的應用程序開發,TI針對達芬奇平臺提供了達芬奇多媒體應用程序接口(Davinci Multimedia Application Interface,DMAI),DMAI封裝了底層的驅動,并且提供了易于程序開發的編程接口[4]。這使得應用程序不再關心底層硬件對于某個操作的具體實現,大大簡化了應用程序的開發。本文音視頻采集編碼模塊的大部分就是調用DMAI接口實現的。

  3.1 視頻采集編碼模塊實現

  嵌入式終端接收到視頻請求信令之后,視頻采集編碼模塊進行視頻數據的采集,將采集的視頻數據進行H.264編碼,寫入共享內存,供RTP模塊讀取。視頻采集模塊采用多線程工作機制[5],主線程負責整個流程控制,視頻采集編碼的具體實現在Capture線程、Video線程和Write線程中完成,三個線程通過管道進行線程間通信。

  Capture線程負責采集原始視頻數據,關鍵代碼如下:

  hCapture=Capture_create(hBufTab,&cAttrs)

  //創建一個視頻采集設備實例

  Capture_get(hCapture,&hCapBuf)

  //從視頻采集設備獲取采集到的一幀原始數據

  Fifo_put(envp->hOutFifo,hBuf)//將存有原始數據的

  //緩沖指針寫入hOutFifo管道中,供video線程讀取

  Fifo_get(envp->hInFifo,&hDstBuf)

  //從hInFifo管道讀取由Video線程寫回的緩存指針

  Capture(hCapture,hCapBuf)//告知hCapture,Capture

  //線程已經完成一次操作,等待hCapture句柄再次捕獲

  //一幀原始數據

  Video線程負責對采集的原始視頻數據進行H.264編碼,關鍵代碼如下:

  hVe1=Venc1_create(hEngine,envp->videoEncoder,params,dynParams)//創建H.264視頻編碼器

  Fifo_get(envp->hCaptureOutFifo,&hCapBuf)

  //從管道讀取存有原始數據的緩沖指針

  Fifo_get(envp->hWriterOutFifo,&hDstBuf)

  //從管道讀取Write線程寫入的緩沖指針

  Venc1_process(hVe1,hCapture,hDstBuf)

  //將一幀原始視頻數據進行H.264編碼

  Fifo_put(envp->hWriterInFifo,hDstBuf)

  //將編碼數據緩沖指針寫入管道,供write線程讀取

  Fifo_put(envp->hCaptureInFifo,hCapBuf)

  //將緩沖指針寫回管道,供capture線程使用

  Write線程負責將編碼的視頻數據寫入共享內存,由RTP模塊讀取打包發送。關鍵代碼如下:

  shm_pn=createShm(SHM_DIR,SHARE_SIZE)

  //創建共享內存

  Fifo_get(envp->hInFifo,&hOutBuf)

  //從管道讀取一幀編碼的視頻數據

  wirteShm(shm_pn,Buffer_getUserPtr(hOutBuf),Buffer_getNumBytesUsed(hOutBuf))//將編碼數據寫入共享內存

  Fifo_put(envp->hOutBuf,hOutBuf)//將緩沖指針寫回管道

  3.2 音頻采集解碼編碼模塊實現

  音頻處理模塊由采集編碼和解碼播放兩部分組成,通過與上層RTP模塊的交互實現雙向語音功能。在接收到視頻請求信令之后,音頻處理模塊創建兩個線程用于處理語音數據,Speech線程負責語音數據的采集、G711編碼,SpeechDec線程負責對G711數據進行解碼、播放。兩功能模塊獨立工作,互不影響。

  Speech線程主要代碼如下:

  Shm_audio=createShm(AUDIO_SHM_DIR,AUDIO_SHARE _SIZE)//創建共享內存

  hSe1=Senc1_create(hEngine,envp->speechEncoder,params,dynParams)//創建g711編碼器

  hSound=Sound_create(&sAttrs)

  //創建一個音頻捕捉設備實例

  Sound_read(hSound,hInbuf)//讀取音頻數據到緩沖區

  Senc1_process(hInbuf,hOutBuf)

  //將PCM音頻數據進行G711編碼

  writeShm(shm_audio,Buffer_getUserPtr(hOutBuf),Buffer_

  getNumBytesUsed(hOutBuf)//將音頻數據寫入共享內存

  SpeechDec線程實現過程與Speech線程類似,這里不再贅述。

  3.3 RTP模塊設計與實現

  RTP模塊實現RTP數據包的發送和接收功能,通過與信令控制模塊的信息交互來完成發送、接收線程的創建與結束。發送線程從共享內存讀取H.264數據和G711數據,并將編碼音視頻數據進行RTP打包發送。

  音頻接收線程在接收到RTP數據后,由于網絡傳輸導致數據包到達的順序具有不確定性,因此需要對語音數據進行緩存排序。首先將G711語音數據包放入緩沖隊列中,通過RTP包的序號進行優先級排序。然后取緩沖隊列音頻數據,寫入共享內存,供音頻解碼播放模塊讀取播放。合適的緩沖區大小設置尤為重要,緩沖隊列設置過小會導致語音包亂序,語音質量較差;緩沖隊列設置過大,語音延時較大,用戶體驗差。需要根據實際網絡狀況和用戶需求設置緩沖隊列大小。

4 視頻監控測試

  嵌入式設備、PC客戶端通過3G/WLAN網向服務器平臺注冊登錄,進行視頻監控功能測試??蛻舳税l起視頻請求并成功之后,可以觀看終端設備采集的視頻,并在開啟音頻請求之后實現與采集設備終端的雙向語音通信。測試結果表明,視頻畫面清晰流暢,可進行雙向語音通信,語音質量較好。視頻監控效果如圖4所示。

004.jpg

5 結論

  本文介紹了一種嵌入式視頻監控系統終端軟件的設計與實現方案,并且通過實際的傳輸測試實現了音視頻數據的流暢傳輸和播放。整個終端系統具有通用、安裝方便、穩定、可靠和成本低等優點,適用于視頻監控系統領域,具有很好的應用前景。

參考文獻

  [1] 張云.視頻監控系統的發展趨勢[J].中國科技博覽,2011(11):32-35.

  [2] 劉繼超.基于DM355的嵌入式網絡視頻監控系統設計[D].青島:青島科技大學,2009.

  [3] 宋經瑋.嵌入式網絡視頻監控設備的驅動設計與開發[D].杭州:浙江工業大學,2013.

  [4] 宋建勛,劉峰.基于TMS320DM365多平臺實時視頻傳輸系統的設計與實現[J].電視技術,2011,35(7):32-35,40.

  [5] 馮國進.嵌入式Linux驅動程序設計從入門到精通[M].北京:清華大學出版社,2008.


此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          亚洲一区在线观看视频| 亚洲精品国产拍免费91在线| 午夜久久影院| 亚洲成人自拍视频| 亚洲大片免费看| 亚洲五月六月| 在线观看视频一区二区| 国产精品视频yy9299一区| 日韩视频国产视频| 亚洲精品1区2区| 欧美亚洲不卡| 欧美亚洲在线| 国产综合亚洲精品一区二| 亚洲一区二区在线播放| 噜噜噜91成人网| 精品动漫3d一区二区三区| 欧美精品一卡| 日韩午夜三级在线| 在线综合亚洲欧美在线视频| 激情综合自拍| 欧美高清在线一区| 国产精品成人va在线观看| 欧美日韩一区二区三区四区在线观看| 国产精品免费观看在线| 欧美激情国产高清| 欧美aaa级| 欧美午夜精品| 国产精品久久久久久亚洲毛片| 亚洲精品美女在线| 国产精品视频一区二区高潮| 亚洲综合首页| 美日韩在线观看| 销魂美女一区二区三区视频在线| 亚洲国产精品国自产拍av秋霞| 午夜在线视频一区二区区别| 国产视频观看一区| 蜜臀99久久精品久久久久久软件| 国产精品久久久久国产精品日日| 国产夜色精品一区二区av| 亚洲一区二区av电影| 欧美午夜性色大片在线观看| 国产午夜精品美女视频明星a级| 欧美精品国产一区二区| 亚洲成色999久久网站| 亚洲激情视频网| 国产视频一区在线观看一区免费| 欧美日韩在线高清| 久久综合成人精品亚洲另类欧美| 国内综合精品午夜久久资源| 国产一区在线免费观看| 免费观看欧美在线视频的网站| 亚洲美女视频网| 久久天天躁狠狠躁夜夜av| 亚洲激情欧美激情| 小黄鸭精品aⅴ导航网站入口| 欧美黄色片免费观看| 欧美α欧美αv大片| 91久久久久久久久| 国产精品一区免费视频| 欧美国产精品一区| 亚洲欧美韩国| 蜜臀久久99精品久久久画质超高清| 国产一区二区看久久| 欧美肉体xxxx裸体137大胆| 日韩视频在线观看国产| 国产精品入口福利| 欧美区国产区| 这里只有精品视频在线| 日韩午夜电影在线观看| 国产一区二区三区四区| 国产欧美精品一区二区三区介绍| 免费看av成人| 免费观看成人www动漫视频| 国产精品影院在线观看| 国产精品久久久久久久久免费樱桃| 国产精品一区二区久激情瑜伽| 好看的日韩av电影| 国产日韩在线不卡| 久久婷婷成人综合色| 欧美激情视频给我| 欧美一区二区视频97| 亚洲激情小视频| 免费日韩精品中文字幕视频在线| 激情视频一区二区三区| 久久婷婷国产综合国色天香| 亚洲三级电影全部在线观看高清| 亚洲影院色在线观看免费| 蜜臀久久久99精品久久久久久| 欧美中日韩免费视频| 国产偷国产偷精品高清尤物| 欧美成人一区二区三区片免费| 国产精品嫩草影院一区二区| 国产一区三区三区| 亚洲一区二区三区在线播放| 一色屋精品视频免费看| 国产一区999| 欧美www视频在线观看| 午夜影视日本亚洲欧洲精品| 亚洲欧美成人| 国产精品视频自拍| 欧美日韩精品一区二区天天拍小说| 国产婷婷色一区二区三区在线| 国产精品日产欧美久久久久| 一区二区三区精品视频在线观看| 欧美主播一区二区三区| 亚洲视频欧洲视频| 亚洲韩日在线| 国产精品久久久久久久久久久久久久| 久久国产毛片| 欧美一区91| 亚洲人永久免费| 亚洲第一精品夜夜躁人人躁| 久久综合九色综合欧美就去吻| 国产区精品在线观看| 欧美日韩不卡视频| 国产精品久久久久免费a∨大胸| 亚洲精品视频免费| 国产午夜亚洲精品不卡| 亚洲精品在线三区| 亚洲免费综合| 国产亚洲精品美女| 国产女同一区二区| 欧美日韩成人在线观看| 久久久综合精品| 亚洲图片在线观看| 亚洲天堂男人| 亚洲综合色激情五月| 亚洲精品视频免费在线观看| 日韩视频国产视频| 欧美色精品在线视频| 亚洲天堂av在线免费观看| 久久综合电影一区| 国语精品一区| 午夜精品久久久久久久蜜桃app| 国产精品人成在线观看免费| 亚洲欧美日韩精品| 亚洲毛片播放| 亚洲激情啪啪| 欧美日韩的一区二区| 在线不卡a资源高清| 老巨人导航500精品| 欧美一区二区黄色| 欧美高清视频免费观看| 极品少妇一区二区三区| 国产欧美一区二区精品忘忧草| 美女脱光内衣内裤视频久久网站| 欧美日韩不卡合集视频| 久久精品中文字幕免费mv| 亚洲美女在线观看| 国产原创一区二区| 亚洲天堂视频在线观看| 亚洲欧美日韩精品综合在线观看| 欧美日韩日日夜夜| 久久午夜激情| 亚洲自拍另类| 欧美一区二区视频免费观看| 午夜精品影院在线观看| 亚洲欧美日韩一区二区三区在线观看| 亚洲日本电影在线| 女仆av观看一区| 好吊一区二区三区| 欧美电影在线播放| 久久五月激情| 国产一区在线视频| 国产日韩综合| 欧美午夜精品一区二区三区| 午夜久久久久久久久久一区二区| 国产精品毛片高清在线完整版| 精品999成人| 国产亚洲欧洲997久久综合| 欧美日在线观看| 蜜臀久久久99精品久久久久久| 亚洲免费高清| 亚洲一区观看| 欧美激情一区二区三区四区| 日韩视频二区| 欧美 亚欧 日韩视频在线| 一个色综合av| 欧美日本韩国| 欧美日韩国产高清视频| 亚洲专区一区二区三区| 亚洲精品网址在线观看| 欧美亚洲一级片| 亚洲欧美日韩国产| 欧美精品尤物在线| 亚洲一级片在线观看| 亚洲欧美在线一区| 亚洲在线免费视频| 国产欧美日韩综合精品二区| 亚洲天堂第二页| 国产精品亚发布| 国产亚洲成年网址在线观看| 欧美涩涩视频| 亚洲高清不卡| 激情视频亚洲| 亚洲国产91色在线| 亚洲欧美日韩在线综合| 一本久久综合亚洲鲁鲁| 欧美区在线观看| 亚洲国内自拍| 91久久午夜| 老司机精品福利视频| 国产精品对白刺激久久久| 在线成人中文字幕| 日韩一级大片在线| 日韩天堂av| 欧美日韩色婷婷| 亚洲国产精品久久久久秋霞影院| 美女主播视频一区| 亚洲大片在线观看| 亚洲乱码国产乱码精品精可以看| 欧美二区在线看| av成人手机在线| 欧美手机在线视频| 日韩午夜视频在线观看| 狠狠综合久久| 欧美日韩国产综合在线| 欧美日韩亚洲国产一区| 午夜性色一区二区三区免费视频| 另类国产ts人妖高潮视频| 欧美精品一区二区三| 黄色一区二区在线| 伊人成人在线| 国产精品99久久99久久久二8| 日韩一级在线| 亚洲精品一区二区三区婷婷月| 久久精品视频在线看| 欧美日韩在线直播| 欧美另类视频在线| 蜜乳av另类精品一区二区| 亚洲视频在线观看一区| 亚洲欧美制服中文字幕| 中文欧美日韩| 亚洲精品综合精品自拍| 欧美在线观看视频| 欧美另类久久久品| 狠狠色狠狠色综合日日tαg| 狠狠色丁香婷婷综合久久片| 欧美一区二区三区婷婷月色| 亚洲一区区二区| 欧美视频在线观看视频极品| 欧美在线视频免费播放| 欧美日本国产一区| 亚洲国产精品久久久久秋霞影院| 国产精品久久久久7777婷婷| 激情综合色综合久久综合| 欧美日韩在线播放一区二区| 亚洲国产91| 麻豆久久精品| 亚洲精品一区二区三区婷婷月| 久久久人成影片一区二区三区观看| 久久综合狠狠综合久久综合88| 午夜激情亚洲| 国产综合欧美在线看| 久久精品道一区二区三区| 国产日韩欧美成人| 国产精品乱人伦中文| 在线欧美日韩| 麻豆久久精品| 欧美中文字幕精品| 亚洲永久网站| 亚洲宅男天堂在线观看无病毒| 在线欧美一区| 亚洲午夜一区二区三区| 激情丁香综合| 午夜精品视频网站| 亚洲国产欧美一区二区三区丁香婷| 国产精品一区二区在线观看网站| 六月天综合网| 欧美视频在线观看一区二区| 1024欧美极品| 欧美在线影院| 欧美理论大片| 久久精品国产亚洲高清剧情介绍| 国产精品腿扒开做爽爽爽挤奶网站| 久久久一二三| 中文精品一区二区三区| 国产精品国内视频| 国产精品99久久久久久有的能看| 欧美一区二区三区免费视频| 亚洲女同性videos| 欧美一区二视频在线免费观看| 欧美精品少妇一区二区三区| 欧美日韩国产大片| 午夜精品久久久久久久久久久| 国产日产亚洲精品| 中文av一区特黄| 欧美视频在线观看一区| 国产自产v一区二区三区c| 欧美日韩你懂的| 欧美激情视频在线播放| 野花国产精品入口| 伊甸园精品99久久久久久| 亚洲免费在线电影| 国产乱码精品1区2区3区| 欧美自拍丝袜亚洲| 国产一区高清视频| 在线看不卡av| 国产精品羞羞答答| 亚洲视频自拍偷拍| 9人人澡人人爽人人精品| 狠狠色狠狠色综合日日小说| 欧美a级大片| 亚洲香蕉在线观看| 欧美激情第8页| 亚洲国产另类 国产精品国产免费| 国内一区二区三区在线视频| 国产日产高清欧美一区二区三区| 99国产成+人+综合+亚洲欧美| 国产精品视频一二三| 黑人巨大精品欧美黑白配亚洲| 欧美午夜宅男影院在线观看| 国产精品国产三级国产普通话蜜臀| 欧美日韩一区二区三区四区五区| 国产欧美三级| 久久人人爽人人爽| 欧美国产日韩在线| 久久精品成人欧美大片古装| 国产麻豆精品久久一二三| 国产精品久久久久久久免费软件| 亚洲高清在线观看一区| 欧美专区在线观看一区| 欧美精品在线看| 极品中文字幕一区| 亚洲综合视频一区| 美女视频黄a大片欧美| 亚洲视频 欧洲视频| 国产老肥熟一区二区三区|