新聞中心

EEPW首頁(yè) > 模擬技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于嵌入式Linux的視頻采集編碼系統(tǒng)實(shí)現(xiàn)二

基于嵌入式Linux的視頻采集編碼系統(tǒng)實(shí)現(xiàn)二

作者: 時(shí)間:2012-09-18 來(lái)源:網(wǎng)絡(luò) 收藏
idows: 2; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px">  程序中需要定義一些數(shù)據(jù)結(jié)構(gòu),如:video_capability ,包含攝像頭的基本信息;video_picture,包含設(shè)備采集圖像的各種屬性;video_mmap,用于內(nèi)存映射;video_mbuf ,利用mmap 進(jìn)行映射的幀信息,實(shí)際上是輸入到攝像頭存儲(chǔ)器緩沖中的幀信息;video_Window,包括設(shè)備采集窗口的各種參數(shù)。

   系統(tǒng)中把設(shè)備看成設(shè)備文件,在用戶(hù)空間可以通過(guò)標(biāo)準(zhǔn)的 I/O 系統(tǒng)調(diào)用函數(shù)操作設(shè)備文件,從而達(dá)到與設(shè)備通信交互的目的。用 ioctl 函數(shù)來(lái)控制1/O 通道。

  2) 采集程序?qū)崿F(xiàn)過(guò)程

  1. 打開(kāi)視頻設(shè)備

  在linux中視頻設(shè)備對(duì)應(yīng)的設(shè)備文件為/dev/video0 ,采用open 函數(shù)來(lái)打開(kāi)視頻設(shè)備。

  2. 獲取設(shè)備信息和視頻信息并進(jìn)行設(shè)置

  開(kāi)啟設(shè)備文件后,通過(guò)調(diào)用 camera_get_capability() 和camera_get_picture() 函數(shù)來(lái)實(shí)現(xiàn)對(duì)設(shè)備信息以及圖像信息的獲取。這兩個(gè)函數(shù)均通過(guò)調(diào)用ioctl() 函數(shù)來(lái)取得設(shè)備和圖像的相關(guān)信息,并將取得的信息放到 video_capability 結(jié)構(gòu)里。若需對(duì)圖像信息進(jìn)行設(shè)置時(shí),先給video_picture 數(shù)據(jù)結(jié)構(gòu)對(duì)象中所要修改的變量進(jìn)行重新賦值,然后通過(guò) ioctl 函數(shù)的VIDIOCGPICT來(lái)進(jìn)行設(shè)置。通過(guò)調(diào)用 ioctl VIDIOCGPICT可設(shè)置所采集圖像的屬性。

linux操作系統(tǒng)文章專(zhuān)題:linux操作系統(tǒng)詳解(linux不再難懂)

上一頁(yè) 1 2 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉