新聞中心

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

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

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

摘要:針對嵌入式設(shè)備在進(jìn)行多媒體數(shù)據(jù)處理時存在的資源限制問題,采用了一種完成多媒體數(shù)據(jù)的處理及存儲,基于該的特點(diǎn)和體系結(jié)構(gòu),通過修改的源代碼,添加新的功能模塊,以增強(qiáng)這款的功能。并重新交叉編譯后,移植到嵌入式系統(tǒng)中,以實(shí)現(xiàn)一個可控制前端設(shè)備的基于Arm9的嵌入式遠(yuǎn)程視頻監(jiān)控系統(tǒng)。實(shí)驗(yàn)結(jié)果表明,該方法很好地增強(qiáng)了視頻數(shù)據(jù)處理的效果,并可流暢地在客戶端播放瀏覽器。
關(guān)鍵詞:;;器;插件;嵌入式

“MJPG-streamer”是一個輕量級的器軟件。一個可以從單一輸入組件獲取圖像并傳輸?shù)蕉鄠€輸出組件的命令行程序。
該軟件可在基于IP協(xié)議的網(wǎng)絡(luò)中,從網(wǎng)絡(luò)攝像機(jī)中獲取并傳輸JPEG格式的圖像到瀏覽器,例如Firefox、Cambozola、Videolanclie nt,甚至是一個運(yùn)行了TCPMP播放器的Windows移動設(shè)備。
它繼承于uvc_streamer,為在RAM和CPU上存在資源限制的嵌入式設(shè)備而寫的。因?yàn)榧嫒軱inux-uvc的攝像機(jī)可以直接生成JPEG數(shù)據(jù),即使是運(yùn)行OpenWRT Linux的嵌入式設(shè)備也可以快速處理M-JPEG數(shù)據(jù)流。
這款工具源代碼簡潔,注釋清晰。組件功能明確,銜接清晰。使用Linux C語言進(jìn)行開發(fā),可移植到不同的計(jì)算機(jī)平臺,也可以在根據(jù)GPL v2的條款下進(jìn)行改進(jìn)和發(fā)行。

1 MJPG-streamer的處理流程
MJPG-streamer主函數(shù)的定義在mjpg-streamer.c文件。主函數(shù)的處理流程如圖1所示。

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



2 MJPG-streamer的相關(guān)組件
MJPG-streamer采用模塊化的設(shè)計(jì)方法,以功能塊為單位進(jìn)行描述,這些功能塊被稱為plug-in(組件)。軟件中定義好了各組件的輸入、輸出,以及組件之間的銜接關(guān)系。用戶可自行根據(jù)對功能的需求,選擇需要的模塊。這種模塊化的程序設(shè)計(jì)簡化了代碼的編寫、調(diào)試、維護(hù),程序員只需要遵守設(shè)計(jì)的規(guī)范,就可以輕松地改寫軟件,或者編寫新的模塊以增強(qiáng)軟件的功能。
MJPG-streamer最主要并且最常用的組件是input_uvc輸入組件和output_http輸出組件。其他組件包括input_control、input_file、input_testpicture、input_gspcavl、output_autofocus、output_file、out_viewer,如圖2所示。

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


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

上一頁 1 2 3 4 下一頁

評論


相關(guān)推薦

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

關(guān)閉