最新的毛片基地免费,国产国语一级毛片,免费国产成人高清在线电影,中天堂国产日韩欧美,中国国产aa一级毛片,国产va欧美va在线观看,成人不卡在线

Linux兼容Android系統(tǒng)多應用共享攝像頭的方法及裝置與流程

文檔序號:41562937發(fā)布日期:2025-04-08 18:16閱讀:9來源:國知局
Linux兼容Android系統(tǒng)多應用共享攝像頭的方法及裝置與流程

本發(fā)明屬于信息,具體涉及一種linux兼容android系統(tǒng)多應用共享攝像頭的方法及裝置。


背景技術:

1、無論是linux系統(tǒng)還是android系統(tǒng),抑或是linux兼容android環(huán)境的系統(tǒng)中,應用程序對于攝像頭的使用,同一時間都只允許一個應用使用,如果在攝像頭被應用占用的情況下,另一個應用再次打開攝像頭會被拒絕,或者可以打開但是原先使用攝像頭的應用會被中斷使用;如果遇到多個應用要共享攝像頭使用的場景,例如用戶想要在后臺錄制視頻或者是開啟直播的情況下,同時想要去使用另一個應用拍張照片,在目前技術條件下是無法實現(xiàn)的,給用戶帶來了非常不好的體驗。


技術實現(xiàn)思路

1、本發(fā)明的目的在于提供一種linux兼容android系統(tǒng)多應用共享攝像頭的方法及裝置,使得多個linux應用和多個android應用能夠共享同一個攝像頭,極大提升了用戶體驗。

2、為了實現(xiàn)上述目的,本發(fā)明的技術方案是這樣的:

3、一種linux兼容android系統(tǒng)多應用共享攝像頭的方法,包括:

4、s1、移植虛擬視頻設備驅動到linux兼容android系統(tǒng)環(huán)境中,加載進內(nèi)核層kernel;

5、s2、在linux系統(tǒng)側創(chuàng)建攝像頭服務端程序,用于監(jiān)控應用打開攝像頭的請求,以及負責從真實攝像頭進行視頻采集并發(fā)送給攝像頭虛擬設備;

6、s3,創(chuàng)建linux側系統(tǒng)服務配置文件并隨開機自啟動,該服務負責加載虛擬視頻設備驅動,創(chuàng)建兩個攝像頭虛擬設備,同時啟動攝像頭服務端程序;

7、s4,改造android?framework層攝像頭框架,使得多個android應用能夠同時調用同一個攝像頭設備;

8、s5,改造android側攝像頭hal層,使之能夠從攝像頭虛擬設備中讀取攝像頭數(shù)據(jù)并發(fā)送給應用層。

9、進一步的,步驟s2所述攝像頭服務端程序的創(chuàng)建具體包括:

10、s201、接收標準輸入?yún)?shù);

11、s202、使用netlink套接字編程,接收內(nèi)核層驅動發(fā)出的打開、關閉攝像頭的消息;

12、s203、創(chuàng)建socket通信,接收android側攝像頭hal層發(fā)送的打開攝像頭消息、修改攝像頭獲取視頻流參數(shù)信息;

13、s204、創(chuàng)建線程,用于接收到打開、關閉攝像頭的命令后使用ioctl系統(tǒng)調用及v4l2標準接口來操作攝像頭;

14、s205、利用mmap從真實攝像頭設備文件中獲得視頻流數(shù)據(jù),同時使用write函數(shù)將數(shù)據(jù)寫到虛擬攝像頭設備文件中;

15、s206、當接收到關閉攝像頭的請求,釋放內(nèi)存映射區(qū)和緩存,并關閉攝像頭、退出線程;

16、s207、編譯生成二進制文件,作為攝像頭服務端程序。

17、進一步的,步驟s3所述linux側系統(tǒng)服務配置文件的創(chuàng)建具體包括:

18、s301、定義服務的執(zhí)行動作,包括加載虛擬視頻設備驅動模塊,配置兩個虛擬攝像頭設備,并為虛擬攝像頭設備設置易識別的標簽;

19、s302、啟動所述攝像頭服務端程序,并將真實攝像頭設備作為輸入,將虛擬攝像頭設備作為輸出;

20、s303、設定開機自啟動,且服務被殺自動重啟以及重啟時間間隔。

21、進一步的,步驟s4所述改造android?framework層攝像頭框架的方法具體包括:

22、s401、將framework的clientmanager構造函數(shù)中mmaxcost改大;

23、s402、改造wouldevictlocked函數(shù)中檢測應用優(yōu)先級邏輯,使得攝像頭服務不再檢測應用優(yōu)先級。

24、進一步的,步驟s5具體包括:

25、s501、改造android側攝像頭hal層攝像頭驅動,和linux端攝像頭服務端程序建立socket通信;將android應用下發(fā)的關于攝像頭命令發(fā)送給所述攝像頭服務端程序;

26、s502、改造open函數(shù),通過socket通信將打開攝像頭的請求發(fā)送給所述攝像頭服務端程序,同時接收所述攝像頭服務端程序打開虛擬攝像頭之后返回的文件描述符,android側攝像頭hal層得到文件描述符后操作虛擬攝像頭。

27、本發(fā)明另一方面還提出了一種linux兼容android系統(tǒng)多應用共享攝像頭裝置,包括:

28、驅動模塊:移植虛擬視頻設備驅動到linux兼容android系統(tǒng)環(huán)境中,加載進內(nèi)核層kernel;

29、攝像頭服務端模塊:在linux系統(tǒng)側創(chuàng)建攝像頭服務端程序,用于監(jiān)控應用打開攝像頭的請求,以及負責從真實攝像頭進行視頻采集并發(fā)送給攝像頭虛擬設備;

30、服務模塊:創(chuàng)建linux側系統(tǒng)服務配置文件并隨開機自啟動,該服務負責加載虛擬視頻設備驅動,創(chuàng)建兩個攝像頭虛擬設備,同時啟動攝像頭服務端程序;

31、框架改造模塊:改造android?framework層攝像頭框架,使得多個android應用能夠同時調用同一個攝像頭設備;

32、hal層改造模塊:改造android側攝像頭hal層,使之能夠從攝像頭虛擬設備中讀取攝像頭數(shù)據(jù)并發(fā)送給應用層。

33、進一步的,攝像頭服務端模塊包括攝像頭服務端程序創(chuàng)建單元,所述攝像頭服務端程序創(chuàng)建單元包括:接收標準輸入?yún)?shù);使用netlink套接字編程,接收內(nèi)核層驅動發(fā)出的打開、關閉攝像頭的消息;創(chuàng)建socket通信,接收android側攝像頭hal層發(fā)送的打開攝像頭消息、修改攝像頭獲取視頻流參數(shù)信息;創(chuàng)建線程,用于接收到打開、關閉攝像頭的命令后使用ioctl系統(tǒng)調用及v4l2標準接口來操作攝像頭;利用mmap從真實攝像頭設備文件中獲得視頻流數(shù)據(jù),同時使用write函數(shù)將數(shù)據(jù)寫到虛擬攝像頭設備文件中;當接收到關閉攝像頭的請求,釋放內(nèi)存映射區(qū)和緩存,并關閉攝像頭、退出線程;編譯生成二進制文件,作為攝像頭服務端程序。

34、進一步的,服務模塊包括系統(tǒng)服務配置單元,所述系統(tǒng)服務配置單元包括:定義服務的執(zhí)行動作,包括加載虛擬視頻設備驅動模塊,配置兩個虛擬攝像頭設備,并為虛擬攝像頭設備設置易識別的標簽;啟動所述攝像頭服務端程序,并將真實攝像頭設備作為輸入,將虛擬攝像頭設備作為輸出;設定開機自啟動,且服務被殺自動重啟以及重啟時間間隔。

35、進一步的,框架改造模塊包括:將framework的clientmanager構造函數(shù)中mmaxcost改大;改造wouldevictlocked函數(shù)中檢測應用優(yōu)先級邏輯,使得攝像頭服務不再檢測應用優(yōu)先級。

36、進一步的,hal層改造模塊包括:

37、驅動改造單元:改造android側攝像頭hal層攝像頭驅動,和linux端攝像頭服務端程序建立socket通信;將android應用下發(fā)的關于攝像頭命令發(fā)送給所述攝像頭服務端程序;

38、函數(shù)改造單元:改造open函數(shù),通過socket通信將打開攝像頭的請求發(fā)送給所述攝像頭服務端程序,同時接收所述攝像頭服務端程序打開虛擬攝像頭之后返回的文件描述符,android側攝像頭hal層得到文件描述符后操作虛擬攝像頭。

39、與現(xiàn)有技術相比,本發(fā)明具有如下的有益效果:

40、1.本發(fā)明通過創(chuàng)建linux側攝像頭服務端程序,對linux應用和android應用操作攝像頭的需求統(tǒng)一管理、讓多個linux應用和多個android應用能夠同一時間使用攝像頭;

41、2.本發(fā)明改造了android?framework層攝像頭框架,解決了不允許多個應用同時調用攝像頭的限制;

42、3.本發(fā)明在linux和android?hal層之間建立了通信機制,使android系統(tǒng)和linux系統(tǒng)融為一體,讓linux端掌控對攝像頭的主控權,讓android系統(tǒng)作為linux應用一樣使用攝像頭。

當前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1