一種android設(shè)備使用USB攝像頭的方法及系統(tǒng)的制作方法
【專利摘要】本發(fā)明提供一種android設(shè)備使用USB攝像頭的方法,所述USB攝像頭為高幀率高分辨率的攝像頭,所述方法包括如下步驟:步驟1、獲取接入的USB攝像頭設(shè)備的設(shè)備節(jié)點名字;步驟2、通過open函數(shù)根據(jù)設(shè)備節(jié)點名字打開USB攝像頭設(shè)備;步驟3、初始化USB攝像頭設(shè)備參數(shù);步驟4、使用android設(shè)備的V4L2接口獲取USB攝像頭設(shè)備采集的H264數(shù)據(jù)。本發(fā)明還提供了一種android設(shè)備使用USB攝像頭的系統(tǒng),本發(fā)明USB攝像頭使用十分便攜,在惡劣的環(huán)境下,比內(nèi)置攝像頭可拍攝更清晰的視頻。
【專利說明】
一種androi d設(shè)備使用USB攝像頭的方法及系統(tǒng)
技術(shù)領(lǐng)域
[0001 ]本發(fā)明涉及android設(shè)備技術(shù)領(lǐng)域,尤其涉及一種android設(shè)備使用USB攝像頭的方法及系統(tǒng)。
【背景技術(shù)】
[0002]在視頻直播流行的情況下,越來越多人用手持設(shè)備如手機拍攝視頻進行直播,但是如果在拍攝惡劣的情況下,手持設(shè)備成像效果無法和專業(yè)的攝像頭比,成像效果取決于相機的感光芯片大小和技術(shù)工藝,鏡頭質(zhì)量;一般來說,感光芯片越大,相機檔次越高,手持設(shè)備的感光芯片只是專業(yè)攝像頭的十幾分之一到幾十分之一,手持設(shè)備攝像頭和專業(yè)攝像頭同等像素下,感光成像的效果也差很多;同時手持設(shè)備鏡頭能力也比專業(yè)的攝像頭差,在惡劣的拍攝條件下,如很暗,移動很快的情況下,手持設(shè)備的成像效果就比專業(yè)攝像頭差。
[0003]本發(fā)明介紹的使用外置USB攝像頭的方法,android設(shè)備是在android 4.3版本后,可使用OTG功能外接USB攝像頭,但是受限USB2.0帶寬限制,無法采集高分辨率(720P以上)、高幀率(25FPS以上)的YUV原始視頻數(shù)據(jù),(USB 2.0理論傳輸速度大約在480Mbps,實際能到240Mbps,而720P的分辨率的YUV原始數(shù)據(jù),按照25幀處理,帶寬需要占用276Mbps左右,USB2.0設(shè)備如要傳輸高分辨率高幀率的YUV原始數(shù)據(jù)顯得有點吃力),由于android支持UVC1.1后,支持采集編碼后的數(shù)據(jù),這樣即使在USB2.0情況下,也可以使用高分辨率高幀率外置USB攝像頭。
【發(fā)明內(nèi)容】
[0004]本發(fā)明要解決的技術(shù)問題之一,在于提供一種android設(shè)備使用USB攝像頭的方法,該USB攝像頭使用十分便攜,在惡劣的環(huán)境下,比內(nèi)置攝像頭可拍攝更清晰的視頻。
[0005]本發(fā)明的技術(shù)問題一是這樣實現(xiàn)的:一種android設(shè)備使用USB攝像頭的方法,所述USB攝像頭為高幀率高分辨率的攝像頭,所述方法包括如下步驟:
[0006]步驟1、獲取接入的USB攝像頭設(shè)備的設(shè)備節(jié)點名字;
[0007]步驟2、通過open函數(shù)根據(jù)設(shè)備節(jié)點名字打開USB攝像頭設(shè)備;
[0008]步驟3、初始化USB攝像頭設(shè)備參數(shù);
[0009]步驟4、使用android設(shè)備的V4L2接口獲取USB攝像頭設(shè)備采集的H264數(shù)據(jù)。
[0010]進一步的,所述步驟I具體為:使用Android Debug Bridge工具進入android設(shè)備Shel I程序后,比較USB攝像頭插入前和插入時ls/dev/videoX的結(jié)果,插入前和插入時兩次差能獲得外置USB攝像頭的設(shè)備名字,所述videoX為USB攝像頭設(shè)備名字,其中X代表數(shù)字。[0011 ]進一步的,所述步驟3具體為:
[0012]通過1ctl函數(shù),參數(shù)為:查詢驅(qū)動功能VID10C_QUERYCAP;獲取攝像頭能力,查看是否支持圖像獲取V4L2_CAP_VIDE0_CAPTURE,且USB攝像頭是否支持streaming 1/0操作函數(shù)V4L2_CAP_STREAMING,如果不支持,則結(jié)束;支持則繼續(xù),
[0013]通過1ctl函數(shù),參數(shù)為:設(shè)置當(dāng)前驅(qū)動的頻捕獲格式VID10C_S_FMT;設(shè)置視頻分辨率,視頻格式 V4L2_PIX_FMT_H264 ;
[0014]通過1ctl函數(shù),參數(shù)為:把數(shù)據(jù)放回緩存隊列VID10C_QBUF,視頻采集類型V4L2_BUF_TYPE_VIDEO_CAPTURE,出隊列以取得采集數(shù)據(jù)的幀緩沖V4L2_MEM0RY_MMAP;來設(shè)置存儲器映像memory mapped方式。
[0015]進一步的,所述步驟4中USB攝像頭設(shè)備采集具體為:開始采集數(shù)據(jù),通過1ctl函數(shù),參數(shù)為:開始視頻顯示函數(shù)VID10C_STREAM0N,緩沖類型V4L2_BUF_TYPE_VIDE0_CAPTURE;啟動視頻采集;
[0016]循環(huán)采集數(shù)據(jù),在存儲器映像Memorymapped方式下先從輸出隊列中,把數(shù)據(jù)放回緩存隊列VID10C_DQBUF的一個緩沖buffer,然后對幀數(shù)據(jù)進行處理,處理完成以后通過1ctl函數(shù),緩存隊列VID10C_QBUF再放入輸入隊列。
[0017]進一步的,所述步驟4后進一步包括:
[0018]步驟5、通過1ctl函數(shù),參數(shù)為結(jié)束視頻顯示函數(shù)VID10C_STREAM0FF,停止視頻采集;
[0019]步驟6、通過munmap函數(shù)解映射緩沖;
[°02°]步驟7、通過close關(guān)閉USB攝像頭設(shè)備。
[0021]本發(fā)明要解決的技術(shù)問題之二,在于提供一種android設(shè)備使用USB攝像頭的系統(tǒng),該USB攝像頭使用十分便攜,在惡劣的環(huán)境下,比內(nèi)置攝像頭可拍攝更清晰的視頻。
[0022]本發(fā)明的技術(shù)問題二是這樣實現(xiàn)的:一種android設(shè)備使用USB攝像頭的系統(tǒng),所述USB攝像頭為高幀率高分辨率的攝像頭,所述系統(tǒng)包括獲取模塊、打開設(shè)備模塊、初始化模塊以及獲取數(shù)據(jù)模塊;
[0023]所述獲取模塊,用于獲取接入的USB攝像頭設(shè)備的設(shè)備節(jié)點名字;
[0024]所述打開設(shè)備模塊,通過open函數(shù)根據(jù)設(shè)備節(jié)點名字打開USB攝像頭設(shè)備;
[0025]所述初始化模塊,初始化USB攝像頭設(shè)備參數(shù);
[0026]所述獲取數(shù)據(jù)模塊,使用android設(shè)備的V4L2接口獲取USB攝像頭設(shè)備采集的H264數(shù)據(jù)。
[0027]進一步的,所述獲取模塊具體為:使用Android Debug Bridge工具進入android設(shè)備She 11程序后,比較USB攝像頭插入前和插入時I s/dev/videoX的結(jié)果,插入前和插入時兩次差能獲得外置USB攝像頭的設(shè)備名字,所述videoX為USB攝像頭設(shè)備名字,其中X代表數(shù)字。
[0028]進一步的,所述初始化模塊具體為:
[0029]通過1ctl函數(shù),參數(shù)為:查詢驅(qū)動功能VID10C_QUERYCAP;獲取攝像頭能力,查看是否支持圖像獲取V4L2_CAP_VIDE0_CAPTURE,且USB攝像頭是否支持streaming 1/0操作函數(shù)V4L2_CAP_STREAMING,如果不支持,則結(jié)束;支持則繼續(xù),
[0030]通過1ctl函數(shù),參數(shù)為:設(shè)置當(dāng)前驅(qū)動的頻捕獲格式VID10C_S_FMT;設(shè)置視頻分辨率,視頻格式 V4L2_PIX_FMT_H264 ;
[0031]通過1ctl函數(shù),參數(shù)為:把數(shù)據(jù)放回緩存隊列VID10C_QBUF,視頻采集類型V4L2_BUF_TYPE_VIDE0_CAPTURE,出隊列以取得采集數(shù)據(jù)的幀緩沖V4L2_MEM0RY_MMAP;來設(shè)置存儲器映像memory mapped方式。
[0032]進一步的,所述獲取數(shù)據(jù)模塊中USB攝像頭設(shè)備采集具體為:開始采集數(shù)據(jù),通過1ctl函數(shù),參數(shù)為:開始視頻顯示函數(shù)VID1C_STREAMON,緩沖類型V4L2_BUF_TYPE_VIDE0_CAPTURE;啟動視頻采集;
[0033]循環(huán)采集數(shù)據(jù),在存儲器映像Memorymapped方式下先從輸出隊列中,把數(shù)據(jù)放回緩存隊列VID1C_DQBUF的一個緩沖buffer,然后對幀數(shù)據(jù)進行處理,處理完成以后通過1ctl函數(shù),緩存隊列VID1C_QBUF再放入輸入隊列。
[0034]進一步的,所述系統(tǒng)進一步包括:停止視頻采集模塊、解映射緩沖模塊以及關(guān)閉設(shè)備模塊;
[0035]所述停止視頻采集模塊,通過1ctl函數(shù),參數(shù)為結(jié)束視頻顯示函數(shù)VID10C_STREAMOFF,停止視頻采集;
[0036]所述解映射緩沖模塊,通過munmap函數(shù)解映射緩沖;
[0037]所述關(guān)閉設(shè)備模塊,通過close關(guān)閉USB攝像頭設(shè)備。
[0038]本發(fā)明具有如下優(yōu)點:本發(fā)明先獲取接入設(shè)備的USB攝像頭設(shè)備名稱,通過初始化設(shè)備參數(shù);再使用android設(shè)備的V4L2接口獲取USB攝像頭設(shè)備采集的H264數(shù)據(jù);該USB攝像頭為高幀率高分辨率的攝像頭,USB攝像頭使用十分便攜,在惡劣的環(huán)境下,比內(nèi)置攝像頭可拍攝更清晰的視頻,提高了用戶的體驗。
【附圖說明】
[0039]圖1為本發(fā)明方法流程示意圖。
[0040]圖2為本發(fā)明系統(tǒng)的結(jié)構(gòu)示意圖。
【具體實施方式】
[0041 ]請參閱圖1所示,本發(fā)明的一種an dro id設(shè)備使用USB攝像頭的方法,所述USB攝像頭為高幀率高分辨率的攝像頭,所述方法包括如下步驟:
[0042]步驟1、獲取接入的USB攝像頭設(shè)備的設(shè)備節(jié)點名字;獲取設(shè)備名字的方法很多,在本發(fā)明中所述步驟I具體為:使用Android Debug Bridge工具進入android設(shè)備Shell程序后,比較USB攝像頭插入前和插入時ls/dev/videoX的結(jié)果,插入前和插入時兩次差能獲得外置USB攝像頭的設(shè)備名字,所述V i deoX為USB攝像頭設(shè)備名字,其中X代表數(shù)字。
[0043]步驟2、通過open函數(shù)根據(jù)設(shè)備節(jié)點名字打開USB攝像頭設(shè)備;
[0044]步驟3、初始化USB攝像頭設(shè)備參數(shù);
[0045]步驟4、使用android設(shè)備的V4L2接口獲取USB攝像頭設(shè)備采集的H264數(shù)據(jù)。
[0046]步驟5、通過1ctl函數(shù),參數(shù)為結(jié)束視頻顯示函數(shù)VID10C_STREAM0FF,停止視頻采集;
[0047]步驟6、通過munmap函數(shù)解映射緩沖;(munmap函數(shù)用來取消參數(shù)start所指的映射內(nèi)存起始地址,參數(shù)length則是欲取消的內(nèi)存大小。)
[0048]步驟7、通過close關(guān)閉USB攝像頭設(shè)備。
[0049]所述步驟3具體為:
[0050]通過1ctl函數(shù),參數(shù)為:查詢驅(qū)動功能VID10C_QUERYCAP;獲取攝像頭能力,查看是否支持圖像獲取V4L2_CAP_VIDE0_CAPTURE,且USB攝像頭是否支持streaming 1/0操作函數(shù)V4L2_CAP_STREAMING,如果不支持,則結(jié)束;支持則繼續(xù),
[0051]通過1ctl函數(shù),參數(shù)為:設(shè)置當(dāng)前驅(qū)動的頻捕獲格式VID10C_S_FMT;設(shè)置視頻分辨率(長和寬),視頻格式V4L2_PIX_FMT_H264 ;
[0052]通過1ctl函數(shù),參數(shù)為:把數(shù)據(jù)放回緩存隊列VID10C_QBUF,視頻采集類型V4L2_BUF_TYPE_VIDEO_CAPTURE,出隊列以取得采集數(shù)據(jù)的幀緩沖V4L2_MEM0RY_MMAP;來設(shè)置存儲器映像memory mapped方式。
[0053]所述步驟4中USB攝像頭設(shè)備采集具體為:開始采集數(shù)據(jù),通過1ctl函數(shù),參數(shù)為:開始視頻顯示函數(shù)VID10C_STREAM0N,緩沖類型V4L2_BUF_TYPE_VIDE0_CAPTURE;啟動視頻米集;
[0054]循環(huán)采集數(shù)據(jù),在存儲器映像Memorymapped方式下先從輸出隊列中,把數(shù)據(jù)放回緩存隊列VID10C_DQBUF的一個緩沖buffer,然后對幀數(shù)據(jù)進行處理,處理完成以后通過1ctl函數(shù),緩存隊列VID10C_QBUF再放入輸入隊列。
[0055]請參閱圖2所示,本發(fā)明的一種andro id設(shè)備使用USB攝像頭的系統(tǒng),所述USB攝像頭為高幀率高分辨率的攝像頭,所述系統(tǒng)包括獲取模塊、打開設(shè)備模塊、初始化模塊以及獲取數(shù)據(jù)模塊;
[0056]所述獲取模塊,用于獲取接入的USB攝像頭設(shè)備的設(shè)備節(jié)點名字;所述獲取模塊具體為:使用Android Debug Bridge工具進入android設(shè)備ShelI程序后,比較USB攝像頭插入前和插入時ls/dev/videoX的結(jié)果,插入前和插入時兩次差能獲得外置USB攝像頭的設(shè)備名字,所述V i deoX為USB攝像頭設(shè)備名字,其中X代表數(shù)字。
[0057]所述打開設(shè)備模塊,通過open函數(shù)根據(jù)設(shè)備節(jié)點名字打開USB攝像頭設(shè)備;
[0058]所述初始化模塊,初始化USB攝像頭設(shè)備參數(shù);
[0059]所述獲取數(shù)據(jù)模塊,使用android設(shè)備的V4L2接口獲取USB攝像頭設(shè)備采集的H264數(shù)據(jù)。
[0060]所述初始化模塊具體為:
[0061 ] 通過1ctl函數(shù),參數(shù)為:查詢驅(qū)動功能VID10C_QUERYCAP;獲取攝像頭能力,查看是否支持圖像獲取V4L2_CAP_VIDE0_CAPTURE,且USB攝像頭是否支持streaming 1/0操作函數(shù)V4L2_CAP_STREAMING,如果不支持,則結(jié)束;支持則繼續(xù),
[0062]通過1ctl函數(shù),參數(shù)為:設(shè)置當(dāng)前驅(qū)動的頻捕獲格式VID10C_S_FMT;設(shè)置視頻分辨率(長和寬),視頻格式V4L2_PIX_FMT_H264 ;
[0063]通過1ctl函數(shù),參數(shù)為:把數(shù)據(jù)放回緩存隊列VID10C_QBUF,視頻采集類型V4L2_BUF_TYPE_VIDE0_CAPTURE,出隊列以取得采集數(shù)據(jù)的幀緩沖V4L2_MEM0RY_MMAP;來設(shè)置存儲器映像memory mapped方式。
[0064]所述獲取數(shù)據(jù)模塊中USB攝像頭設(shè)備采集具體為:開始采集數(shù)據(jù),通過1ctl函數(shù),參數(shù)為:開始視頻顯示函數(shù)VID10C_STREAM0N,緩沖類型V4L2_BUF_TYPE_VIDE0_CAPTURE ;啟動視頻米集;
[0065]循環(huán)采集數(shù)據(jù),在存儲器映像Memorymapped方式下先從輸出隊列中,把數(shù)據(jù)放回緩存隊列VID10C_DQBUF的一個緩沖buffer,然后對幀數(shù)據(jù)進行處理,處理完成以后通過1ctl函數(shù),緩存隊列VID10C_QBUF再放入輸入隊列。
[0066]在本發(fā)明中,所述系統(tǒng)進一步包括:停止視頻采集模塊、解映射緩沖模塊以及關(guān)閉設(shè)備模塊;
[0067]所述停止視頻采集模塊,通過1ctl函數(shù),參數(shù)為結(jié)束視頻顯示函數(shù)VID10C_STREAMOFF,停止視頻采集;
[0068]所述解映射緩沖模塊,通過munmap函數(shù)解映射緩沖;
[0069]所述關(guān)閉設(shè)備模塊,通過close關(guān)閉USB攝像頭設(shè)備。
[0070]這里需要說明書的是:本發(fā)明有以下限制條件:
[0071]I)android設(shè)備中android 4.3系統(tǒng)以上,
[0072]2)android設(shè)備必須支持OTG功能,
[0073]3)USB 2.0攝像頭,支持UVC驅(qū)動,并且支持編碼好的數(shù)據(jù)。
[0074]總之,本發(fā)明先獲取接入設(shè)備的USB攝像頭設(shè)備名稱,通過初始化設(shè)備參數(shù);再使用android設(shè)備的V4L2接口獲取USB攝像頭設(shè)備采集的H264數(shù)據(jù);該USB攝像頭為高幀率高分辨率的攝像頭,USB攝像頭使用十分便攜,在惡劣的環(huán)境下,比內(nèi)置攝像頭可拍攝更清晰的視頻,提高了用戶的體驗。
[0075]以上所述僅為本發(fā)明的較佳實施例,凡依本發(fā)明申請專利范圍所做的均等變化與修飾,皆應(yīng)屬本發(fā)明的涵蓋范圍。
【主權(quán)項】
1.一種android設(shè)備使用USB攝像頭的方法,其特征在于:所述USB攝像頭為高幀率高分辨率的攝像頭,所述方法包括如下步驟: 步驟1、獲取接入的USB攝像頭設(shè)備的設(shè)備節(jié)點名字; 步驟2、通過open函數(shù)根據(jù)設(shè)備節(jié)點名字打開USB攝像頭設(shè)備; 步驟3、初始化USB攝像頭設(shè)備參數(shù); 步驟4、使用android設(shè)備的V4L2接口獲取USB攝像頭設(shè)備采集的H264數(shù)據(jù)。2.根據(jù)權(quán)利要求1所述的一種android設(shè)備使用USB攝像頭的方法,其特征在于:所述步驟I具體為:使用Android Debug Bridge工具進入android設(shè)備Shell程序后,比較USB攝像頭插入前和插入時ls/dev/videoX的結(jié)果,插入前和插入時兩次差能獲得外置USB攝像頭的設(shè)備名字,所述V i deoX為USB攝像頭設(shè)備名字,其中X代表數(shù)字。3.根據(jù)權(quán)利要求1所述的一種android設(shè)備使用USB攝像頭的方法,其特征在于:所述步驟3具體為: 通過1ctl函數(shù),參數(shù)為:查詢驅(qū)動功能VID1C_QUERYCAP;獲取攝像頭能力,查看是否支持圖像獲取V4L2_CAP_VIDE0_CAPTURE,且USB攝像頭是否支持streaming I/O操作函數(shù)V4L2_CAP_STREAMING,如果不支持,則結(jié)束;支持則繼續(xù), 通過1ctl函數(shù),參數(shù)為:設(shè)置當(dāng)前驅(qū)動的頻捕獲格式VID1C_S_FMT;設(shè)置視頻分辨率,視頻格式 V4L2_PIX_FMT_H264 ; 通過1ctl函數(shù),參數(shù)為:把數(shù)據(jù)放回緩存隊列VID1C_QBUF,視頻采集類型V4L2_BUF_TYPE_VIDEO_CAPTURE,出隊列以取得采集數(shù)據(jù)的幀緩沖V4L2_MEM0RY_MMAP ;來設(shè)置存儲器映像memory mapped方式。4.根據(jù)權(quán)利要求1所述的一種android設(shè)備使用USB攝像頭的方法,其特征在于:所述步驟4中USB攝像頭設(shè)備采集具體為:開始采集數(shù)據(jù),通過1ctl函數(shù),參數(shù)為:開始視頻顯示函數(shù)VID1C_STREAMON,緩沖類型V4L2_BUF_TYPE_VIDE0_CAPTURE;啟動視頻采集;循環(huán)采集數(shù)據(jù),在存儲器映像Memory mapped方式下先從輸出隊列中,把數(shù)據(jù)放回緩存隊列VID1C_DQBUF的一個緩沖buf f er,然后對幀數(shù)據(jù)進行處理,處理完成以后通過1ctl函數(shù),緩存隊列VID1C_QBUF再放入輸入隊列。5.根據(jù)權(quán)利要求1所述的一種android設(shè)備使用USB攝像頭的方法,其特征在于:所述步驟4后進一步包括: 步驟5、通過1ctl函數(shù),參數(shù)為結(jié)束視頻顯示函數(shù)VID1C_STREAMOFF,停止視頻采集; 步驟6、通過munmap函數(shù)解映射緩沖; 步驟7、通過close關(guān)閉USB攝像頭設(shè)備。6.一種android設(shè)備使用USB攝像頭的系統(tǒng),其特征在于:所述USB攝像頭為高幀率高分辨率的攝像頭,所述系統(tǒng)包括獲取模塊、打開設(shè)備模塊、初始化模塊以及獲取數(shù)據(jù)模塊; 所述獲取模塊,用于獲取接入的USB攝像頭設(shè)備的設(shè)備節(jié)點名字; 所述打開設(shè)備模塊,通過open函數(shù)根據(jù)設(shè)備節(jié)點名字打開USB攝像頭設(shè)備; 所述初始化模塊,初始化USB攝像頭設(shè)備參數(shù); 所述獲取數(shù)據(jù)模塊,使用android設(shè)備的V4L2接口獲取USB攝像頭設(shè)備采集的H264數(shù)據(jù)。7.根據(jù)權(quán)利要求6所述的一種android設(shè)備使用USB攝像頭的系統(tǒng),其特征在于:所述獲取模塊具體為:使用Android Debug Bridge工具進入android設(shè)備ShelI程序后,比較USB攝像頭插入前和插入時ls/dev/videoX的結(jié)果,插入前和插入時兩次差能獲得外置USB攝像頭的設(shè)備名字,所述VideoX為USB攝像頭設(shè)備名字,其中X代表數(shù)字。8.根據(jù)權(quán)利要求6所述的一種android設(shè)備使用USB攝像頭的系統(tǒng),其特征在于:所述初始化模塊具體為: 通過1ctl函數(shù),參數(shù)為:查詢驅(qū)動功能VID1C_QUERYCAP;獲取攝像頭能力,查看是否支持圖像獲取V4L2_CAP_VIDE0_CAPTURE,且USB攝像頭是否支持streaming I/O操作函數(shù)V4L2_CAP_STREAMING,如果不支持,則結(jié)束;支持則繼續(xù), 通過1ctl函數(shù),參數(shù)為:設(shè)置當(dāng)前驅(qū)動的頻捕獲格式VID1C_S_FMT;設(shè)置視頻分辨率,視頻格式 V4L2_PIX_FMT_H264 ; 通過1ctl函數(shù),參數(shù)為:把數(shù)據(jù)放回緩存隊列VID1C_QBUF,視頻采集類型V4L2_BUF_TYPE_VIDEO_CAPTURE,出隊列以取得采集數(shù)據(jù)的幀緩沖V4L2_MEM0RY_MMAP ;來設(shè)置存儲器映像memory mapped方式。9.根據(jù)權(quán)利要求6所述的一種android設(shè)備使用USB攝像頭的系統(tǒng),其特征在于:所述獲取數(shù)據(jù)模塊中USB攝像頭設(shè)備采集具體為:開始采集數(shù)據(jù),通過1ctl函數(shù),參數(shù)為:開始視頻顯示函數(shù)VID1C_STREAMON,緩沖類型V4L2_BUF_TYPE_VIDE0_CAPTURE;啟動視頻采集; 循環(huán)采集數(shù)據(jù),在存儲器映像Memory mapped方式下先從輸出隊列中,把數(shù)據(jù)放回緩存隊列VID1C_DQBUF的一個緩沖buf f er,然后對幀數(shù)據(jù)進行處理,處理完成以后通過1ctl函數(shù),緩存隊列VID1C_QBUF再放入輸入隊列。10.根據(jù)權(quán)利要求6所述的一種android設(shè)備使用USB攝像頭的系統(tǒng),其特征在于:所述系統(tǒng)進一步包括:停止視頻采集模塊、解映射緩沖模塊以及關(guān)閉設(shè)備模塊; 所述停止視頻采集模塊,通過1ctl函數(shù),參數(shù)為結(jié)束視頻顯示函數(shù)VID10C_STREAMOFF,停止視頻采集; 所述解映射緩沖模塊,通過munmap函數(shù)解映射緩沖; 所述關(guān)閉設(shè)備模塊,通過close關(guān)閉USB攝像頭設(shè)備。
【文檔編號】H04N5/77GK106027884SQ201610325849
【公開日】2016年10月12日
【申請日】2016年5月17日
【發(fā)明人】鐘添華, 陳嗣文
【申請人】福建星網(wǎng)銳捷通訊股份有限公司