V4L2運行原理

Linux內核用一個被稱爲V4L2的機制來管理攝像頭圖像信息,它的核心工作原理就像日本料理店常見的流轉餐桌,大廚將美食不斷放到空盤子裏,客人不斷拿來吃。

 

拓展:

在內核中,攝像頭所捕獲的視頻數據,我們可以通過一個隊列來存儲,我們所做的工作大致是這樣的:首先配置好攝像頭的相關參數,使之能正常工作,然後申請若干個內核視頻緩存,並且將它們一一送到隊列中,就好比三個空盤子被一一放到傳送帶上一樣。

然後我們還需要將這三個內核的緩存區通過mmap函數映射到用戶空間,這樣我們在用戶層就可以操作攝像頭數據了,緊接着我們就可以啓動攝像頭了開始數據捕獲,每捕獲一幀數據我們就可以做一個出隊操作,讀取數據,然後將讀過數據的內核緩存再次入隊,依次循環。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章