基于嵌入式Linux的視頻采集編碼系統(tǒng)實現(xiàn)二
Linux 系統(tǒng)中把設(shè)備看成設(shè)備文件,在用戶空間可以通過標(biāo)準(zhǔn)的 I/O 系統(tǒng)調(diào)用函數(shù)操作設(shè)備文件,從而達(dá)到與設(shè)備通信交互的目的。用 ioctl 函數(shù)來控制1/O 通道。
2) 采集程序?qū)崿F(xiàn)過程
1. 打開視頻設(shè)備
在linux中視頻設(shè)備對應(yīng)的設(shè)備文件為/dev/video0 ,采用open 函數(shù)來打開視頻設(shè)備。
2. 獲取設(shè)備信息和視頻信息并進(jìn)行設(shè)置
開啟設(shè)備文件后,通過調(diào)用 camera_get_capability() 和camera_get_picture() 函數(shù)來實現(xiàn)對設(shè)備信息以及圖像信息的獲取。這兩個函數(shù)均通過調(diào)用ioctl() 函數(shù)來取得設(shè)備和圖像的相關(guān)信息,并將取得的信息放到 video_capability 結(jié)構(gòu)里。若需對圖像信息進(jìn)行設(shè)置時,先給video_picture 數(shù)據(jù)結(jié)構(gòu)對象中所要修改的變量進(jìn)行重新賦值,然后通過 ioctl 函數(shù)的VIDIOCGPICT來進(jìn)行設(shè)置。通過調(diào)用 ioctl VIDIOCGPICT可設(shè)置所采集圖像的屬性。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論