新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 開源視頻服務(wù)器軟件MJPG-streamer的研究和應(yīng)用

開源視頻服務(wù)器軟件MJPG-streamer的研究和應(yīng)用

作者: 時間:2012-06-11 來源:網(wǎng)絡(luò) 收藏

2)int input_run(void)
該函數(shù)使用pthread_create函數(shù)創(chuàng)建工作線程。并使用pthread_detach函數(shù)將該線程設(shè)置為分離狀態(tài)。在input_uvc組件中,input_run函數(shù)創(chuàng)建cam_thread線程,該線程負責抓取攝像頭采集的一幀圖像并進行格式轉(zhuǎn)換,采用的是V4L2視頻設(shè)備開發(fā)框架。具體工作流程請參考下文描述。
3)int input_stop(void)
該函數(shù)通過調(diào)用pthread_cancel(pthread_t tid)函數(shù)實現(xiàn)主線程取消cain_thread線程(抓取數(shù)據(jù)幀的工作線程),這兩個線程在同一個進程內(nèi),共享該進程的地址空間。主線程通過內(nèi)核發(fā)送信號以取消工作線程。tid是要取消線程的線程ID。
4)int input_cmd(int in_cmd_type cmd,int value)
該函數(shù)的主要功能是對網(wǎng)絡(luò)攝像頭鏡頭的控制,例如對色彩、飽和度、對焦等功能的控制。in_cmd_type結(jié)構(gòu)體定義了對輸入組件進行控制的命令類型,把對鏡頭的控制命令類型和參數(shù)值傳入此函數(shù)。函數(shù)內(nèi)進行匹配,以完成對鏡頭的控制操作。
input_uvc組件的私有函數(shù)如下:
1)void help(void)
該函數(shù)打印相關(guān)的幫助信息到stderr。
2)void*cam_thread(void*arg)
這個工作線程的作用是抓取一幀數(shù)據(jù)并把它復制到全局緩沖區(qū)。它的工作流程如圖4所示。

本文引用地址:http://www.butianyuan.cn/article/148910.htm


工作流程不斷循環(huán),直至線程退出。退出前使用pthread_cleanup_pop函數(shù)調(diào)用cam_cleanup線程清理函數(shù)。
3)void cam_cleanup(void*arg)
該函數(shù)是線程清理函數(shù),線程退出前,使用此函數(shù)釋放在工作線程中被分配的資源。
2.2 ouput_http輸出組件
output_http輸出組件中的http.c文件內(nèi)定義了服務(wù)器對客戶端請求的響應(yīng)。
send_snapshot、send_stream、send_error、send_file分別定義了如何響應(yīng)客戶端發(fā)送截圖、發(fā)送視頻流、發(fā)送錯誤信息、發(fā)送文件的請求信息。
command函數(shù)執(zhí)行客戶端指定控制命令,并發(fā)送反饋信息。
server_thread服務(wù)線程的作用是打開一個TCP socket并等待客戶端連接。如有客戶端鏈接,則為每一個連接到服務(wù)器的客戶端創(chuàng)建一個client_thread專門服務(wù)于該客戶端。
client_thread客戶線程的作用是為連接到服務(wù)器的客戶端服務(wù)。

3 在嵌入式中的
本文通過修改源代碼,實現(xiàn)的額外功能。將作為,于嵌入式開發(fā)。
系統(tǒng)以S3C2440微處理器為核心,構(gòu)建嵌入式視頻監(jiān)控系統(tǒng)。Arm9將攝像頭拍攝圖像經(jīng)壓縮后傳到Web客戶端,客戶端除了可以查看攝像頭拍攝圖像外,還可以控制云臺設(shè)備,從而獲得任意角度的圖像。
采用低端云臺作為前端的控制設(shè)備,嵌入式器可提供多個前端設(shè)備接口與多個云臺連接。嵌入式器根據(jù)各客戶端的請求,將圖像或云臺控制信號傳輸給相應(yīng)的前端設(shè)備。本文只實現(xiàn)系統(tǒng)的基本模型,采用一個云臺設(shè)備。可在基本模型的基礎(chǔ)上,擴展成多路傳輸。
3.1 系統(tǒng)硬件平臺
系統(tǒng)的硬件平臺采用的是天嵌的TQ-2440開發(fā)板,CPU處理器是S3C2440AL,主頻為400MHz,最高可達533MHz,配備256MB的Nand Flash、2 MB的Nor Flash以及64 MB的SDRAM,可滿足系統(tǒng)要求。另外使用了一個V4L2攝像頭,以及一個RS485接口的低端云臺設(shè)備。

c語言相關(guān)文章:c語言教程


攝像頭相關(guān)文章:攝像頭原理
矢量控制相關(guān)文章:矢量控制原理


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉