本發(fā)明涉及移動(dòng)終端技術(shù)領(lǐng)域,尤其涉及一種移動(dòng)終端之間的屏幕鏡像方法及裝置。
背景技術(shù):
隨著移動(dòng)終端的日益發(fā)展,人們往往需要實(shí)現(xiàn)移動(dòng)終端之間的屏幕鏡像,以實(shí)現(xiàn)數(shù)據(jù)交互和溝通。但是,目前的智能移動(dòng)終端,鏡像傳輸功能相對(duì)比較單一,要么用Miracast協(xié)議,要么用AirPlay協(xié)議,可靠性差,通用性差,最主要的是移動(dòng)終端之間屏幕鏡像只能單向,無(wú)法進(jìn)行相互鏡像,實(shí)用性較差。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明實(shí)施例提出一種移動(dòng)終端之間的屏幕鏡像方法及裝置,實(shí)現(xiàn)移動(dòng)終端之間的相互屏幕鏡像,拓展了鏡像功能的使用范圍和應(yīng)用場(chǎng)景。
本發(fā)明實(shí)施例提供一種移動(dòng)終端之間的屏幕鏡像方法,包括:
根據(jù)用戶操作指令,確定當(dāng)前的工作模式;所述工作模式包括:發(fā)射模式和接收模式;
根據(jù)當(dāng)前的工作模式,執(zhí)行屏幕鏡像處理,具體包括:
如果當(dāng)前的工作模式為發(fā)射模式,則獲取屏幕數(shù)據(jù),根據(jù)編解碼協(xié)議將所述屏幕數(shù)據(jù)進(jìn)行壓縮編碼,并使用傳輸協(xié)議將壓縮編碼后的碼流封裝成數(shù)據(jù)幀,將封裝后的數(shù)據(jù)幀發(fā)送給外部路由器;
如果當(dāng)前工作模式為接收模式,則接收所述外部路由器發(fā)送的數(shù)據(jù)幀,并根據(jù)所述傳輸協(xié)議把接收到的數(shù)據(jù)幀進(jìn)行解析,將解析后的數(shù)據(jù)幀進(jìn)行解壓縮,獲得視頻流數(shù)據(jù),再把所述視頻流數(shù)據(jù)發(fā)送給播放器進(jìn)行播放。
進(jìn)一步的,所述發(fā)射模式包括:?jiǎn)尾グl(fā)射模式和組播發(fā)射模式;
所述接收模式包括:?jiǎn)尾ソ邮漳J胶徒M播接收模式;
所述編解碼協(xié)議包括:H.264協(xié)議或者H.265協(xié)議;
所述傳輸協(xié)議包括:TCP協(xié)議、RTSP協(xié)議或者UDP協(xié)議。
進(jìn)一步的,所述根據(jù)當(dāng)前的工作模式,執(zhí)行屏幕鏡像處理,具體包括:
如果當(dāng)前的工作模式為所述單播發(fā)射模式,則獲取屏幕數(shù)據(jù),將所述屏幕數(shù)據(jù)進(jìn)行H.264的壓縮編碼,并使用TCP協(xié)議將壓縮編碼后的碼流封裝成數(shù)據(jù)幀,將封裝后的數(shù)據(jù)幀發(fā)送給外部路由器;
判斷是否接收到應(yīng)答信息,如果接收到,則返回獲取屏幕數(shù)據(jù),實(shí)現(xiàn)往復(fù)循環(huán)發(fā)射;否則,等待接收所述應(yīng)答信息,若在預(yù)設(shè)時(shí)間內(nèi)沒(méi)有接收到所述應(yīng)答信息,則重新將所述封裝后的數(shù)據(jù)幀發(fā)射給所述外部路由器。
進(jìn)一步的,所述根據(jù)當(dāng)前的工作模式,執(zhí)行屏幕鏡像處理,具體包括:
如果當(dāng)前的工作模式為所述單播接收模式,則接收所述外部路由器發(fā)送的數(shù)據(jù)幀,并把所述接收到的數(shù)據(jù)幀進(jìn)行TCP協(xié)議解析;
向所述外部路由器反饋應(yīng)答信息;
將解析后的數(shù)據(jù)幀進(jìn)行解壓縮,獲得視頻流數(shù)據(jù),再把所述視頻流數(shù)據(jù)發(fā)送給播放器進(jìn)行播放。
進(jìn)一步的,所述根據(jù)當(dāng)前的工作模式,執(zhí)行屏幕鏡像處理,具體包括:
如果當(dāng)前的工作模式為所述組播發(fā)射模式,則獲取屏幕數(shù)據(jù),將所述屏幕數(shù)據(jù)進(jìn)行H.264的壓縮編碼,并使用TCP協(xié)議將壓縮編碼后的碼流封裝成數(shù)據(jù)幀,將所述封裝后的數(shù)據(jù)幀發(fā)送給外部路由器;
將所述封裝后的數(shù)據(jù)幀二次發(fā)送給所述外部路由器。
進(jìn)一步的,所述根據(jù)當(dāng)前的工作模式,執(zhí)行屏幕鏡像處理,具體包括:
如果當(dāng)前的工作模式為所述組播接收模式,則向所述外部路由器發(fā)送組播請(qǐng)求,與所述外部路由器建立通信連接;
接收所述外部路由器發(fā)送的數(shù)據(jù)幀,并把所述接收到的數(shù)據(jù)幀進(jìn)行TCP協(xié)議解析;
判斷所述解析后的數(shù)據(jù)幀是否為有效數(shù)據(jù)幀;
若否,則返回上一步,接收所述外部路由器發(fā)送的數(shù)據(jù)幀;
若是,將解析后的數(shù)據(jù)幀進(jìn)行解壓縮,獲得視頻流數(shù)據(jù),再把所述視頻流數(shù)據(jù)發(fā)送給播放器進(jìn)行播放。
相應(yīng)地,本發(fā)明實(shí)施例還提供一種移動(dòng)終端之間的屏幕鏡像裝置,包括:模式確定模塊和鏡像處理模塊;
所述模式確定模塊用于根據(jù)用戶操作指令,確定所述發(fā)射終端當(dāng)前的工作模式;所述工作模式包括:發(fā)射模式和接收模式;
所述鏡像處理模塊用于根據(jù)當(dāng)前的工作模式,執(zhí)行屏幕鏡像處理;
所述鏡像處理模塊包括:第一處理單元、第二處理單元、發(fā)射單元和接收單元;
所述第一處理單元用于在所述模式確定模塊確定當(dāng)前的工作模式為發(fā)射模式時(shí),獲取屏幕數(shù)據(jù),根據(jù)編解碼協(xié)議將所述屏幕數(shù)據(jù)進(jìn)行的壓縮編碼,并使用傳輸協(xié)議將壓縮編碼后的碼流封裝成數(shù)據(jù)幀,將所述封裝后的數(shù)據(jù)幀發(fā)送給所述發(fā)射單元,以使所述發(fā)射單元將所述封裝后的數(shù)據(jù)幀發(fā)射給外部路由器;
所述接收單元用于在所述模式確定模塊確定當(dāng)前的工作模式為接收模式時(shí),接收所述外部路由器發(fā)送的數(shù)據(jù)幀,并將所述接收的數(shù)據(jù)幀發(fā)送給所述第二處理單元;
所述第二處理單元用于根據(jù)所述傳輸協(xié)議把所述接收到的數(shù)據(jù)幀進(jìn)行解析,將解析后的數(shù)據(jù)幀進(jìn)行解壓縮,獲得視頻流數(shù)據(jù),再把所述視頻流數(shù)據(jù)發(fā)送給播放器進(jìn)行播放。
進(jìn)一步的,所述發(fā)射模式包括:?jiǎn)尾グl(fā)射模式和組播發(fā)射模式;
所述接收模式包括:?jiǎn)尾ソ邮漳J胶徒M播接收模式;
所述編解碼協(xié)議包括:H.264協(xié)議或者H.265協(xié)議;
所述傳輸協(xié)議包括:TCP協(xié)議、RTSP協(xié)議或者UDP協(xié)議。
進(jìn)一步的,所述第一處理單元包括:第一處理子單元和第一判斷子單元;
所述第一單播處理子單元用于在所述模式確定模塊確定當(dāng)前的工作模式為所述單播發(fā)射模式時(shí),獲取屏幕數(shù)據(jù),將所述屏幕數(shù)據(jù)進(jìn)行H.264的壓縮編碼,并使用TCP協(xié)議將壓縮編碼后的碼流封裝成數(shù)據(jù)幀,將所述數(shù)據(jù)幀發(fā)送給外部路由器;
所述第一判斷子單元用于判斷是否接收到應(yīng)答信息,如果接收到,則控制所述第一單播處理子單元返回獲取屏幕數(shù)據(jù),實(shí)現(xiàn)往復(fù)循環(huán)發(fā)射;否則,等待接收所述應(yīng)答信息,若在預(yù)設(shè)時(shí)間內(nèi)沒(méi)有接收到所述應(yīng)答信息,則控制所述發(fā)射單元重新將所述封裝后的數(shù)據(jù)幀發(fā)射給所述外部路由器;
所述第二處理單元包括:第二處理子單元和應(yīng)答信息發(fā)送子單元;
所述第二處理子單元用于在所述模式確定模塊確定當(dāng)前的工作模式為所述單播接收模式時(shí),把所述接收單元接收到的數(shù)據(jù)幀進(jìn)行TCP協(xié)議解析;
所述應(yīng)答信息發(fā)送子單元用于向所述外部路由器反饋應(yīng)答信息;
所述第二處理子單元還用于將解析后的數(shù)據(jù)幀進(jìn)行解壓縮,獲得視頻流數(shù)據(jù),再把所述視頻流數(shù)據(jù)發(fā)送給播放器進(jìn)行播放。
進(jìn)一步的,所述第一處理單元包括:第三處理子單元;
第三處理子單元用于在所述模式確定模塊確定當(dāng)前的工作模式為所述組播發(fā)射模式時(shí),獲取屏幕數(shù)據(jù),將所述屏幕數(shù)據(jù)進(jìn)行H.264的壓縮編碼,并使用TCP協(xié)議將壓縮編碼后的碼流封裝成數(shù)據(jù)幀,將所述封裝后的數(shù)據(jù)幀發(fā)送給所述發(fā)射單元,使所述發(fā)射單元將所述封裝后的數(shù)據(jù)幀發(fā)射給所述外部路由器;
所述第三處理子單元還用于將所述封裝后的數(shù)據(jù)幀二次發(fā)送給所述發(fā)射單元,使所述發(fā)射單元將所述封裝后的數(shù)據(jù)幀二次發(fā)送給所述外部路由器;
所述第二處理單元包括:請(qǐng)求發(fā)送子單元、第二判斷子單元和第四處理子單元;
所述請(qǐng)求發(fā)送子單元用于在所述模式確定模塊確定當(dāng)前的工作模式為所述組播接收模式時(shí),向所述外部路由器發(fā)送組播請(qǐng)求,與所述外部路由器建立通信連接;
所述第四處理子單元用于把所述接收到的數(shù)據(jù)幀進(jìn)行TCP協(xié)議解析;
所述第二判斷子單元用于判斷所述解析后的數(shù)據(jù)幀是否為有效數(shù)據(jù)幀;
若否,則控制所述接收單元重新接收所述外部路由器發(fā)送的數(shù)據(jù)幀;
若是,控制所述第四處理子單元將解析后的數(shù)據(jù)幀進(jìn)行解壓縮,獲得視頻流數(shù)據(jù),再把所述視頻流數(shù)據(jù)發(fā)送給播放器進(jìn)行播放。
實(shí)施本發(fā)明實(shí)施例,具有如下有益效果:
本發(fā)明實(shí)施例提供的一種移動(dòng)終端之間的屏幕鏡像方法及裝置,根據(jù)用戶操作指令確定當(dāng)前的工作模式,并根據(jù)當(dāng)前的工作模式執(zhí)行屏幕鏡像處理。工作模式分為發(fā)射模式和接收模式。發(fā)射時(shí)將屏幕數(shù)據(jù)進(jìn)行壓縮,并使用傳輸協(xié)議進(jìn)行封裝后才向外部路由器發(fā)射,接收時(shí)為發(fā)射過(guò)程的逆過(guò)程,最后將獲得的視頻流數(shù)據(jù)傳遞給播放器進(jìn)行播放。相比于現(xiàn)有技術(shù)移動(dòng)終端之間只能實(shí)現(xiàn)單向的屏幕鏡像,本發(fā)明技術(shù)方案不但可使移動(dòng)終端成為發(fā)射端,也可以使移動(dòng)終端成為接收端,實(shí)現(xiàn)移動(dòng)終端之間的相互屏幕鏡像,拓展了鏡像功能的使用范圍和應(yīng)用場(chǎng)景。
進(jìn)一步的,本發(fā)明的發(fā)射模式包括單播發(fā)射模式和組播發(fā)射模式,接收模式也包括單播接收模式和組播接收模式,實(shí)現(xiàn)了單對(duì)單的屏幕鏡像,或者是單對(duì)多的屏幕鏡像,進(jìn)一步拓展了鏡像功能的使用范圍和應(yīng)用場(chǎng)景。
附圖說(shuō)明
圖1是本發(fā)明提供的移動(dòng)終端之間的屏幕鏡像方法的一種實(shí)施例的流程示意圖;
圖2是本發(fā)明提供的移動(dòng)終端之間的屏幕鏡像方法的另一種實(shí)施例的流程示意圖;
圖3是本發(fā)明提供的移動(dòng)終端之間的屏幕鏡像方法的又一種實(shí)施例的流程示意圖;
圖4是本發(fā)明提供了移動(dòng)終端之間的屏幕鏡像裝置的一種實(shí)施例的結(jié)構(gòu)示意圖;
圖5是本發(fā)明提供了移動(dòng)終端之間的屏幕鏡像裝置的另一種實(shí)施例的結(jié)構(gòu)示意圖;
圖6是本發(fā)明提供了移動(dòng)終端之間的屏幕鏡像裝置的又一種實(shí)施例的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
參見(jiàn)圖1,是本發(fā)明提供的移動(dòng)終端之間的屏幕鏡像方法的一種實(shí)施例的流程示意圖。本發(fā)明提供的屏幕鏡像方法可運(yùn)用于各移動(dòng)終端或智能終端之間,如手機(jī)與手機(jī)之間、平板與平板之間、電腦與電腦之間、以及手機(jī)與電腦之間、手機(jī)與平板之間、平板與電腦之間都可以實(shí)現(xiàn)。該屏幕鏡像方法包括步驟101至102,其中,步驟102包括步驟1021和1022。各步驟具體如下:
步驟101:根據(jù)用戶操作指令,確定當(dāng)前的工作模式;該工作模式包括:發(fā)射模式和接收模式。
步驟102:根據(jù)當(dāng)前的工作模式,執(zhí)行屏幕鏡像處理。
步驟1021:如果當(dāng)前的工作模式為發(fā)射模式,則獲取屏幕數(shù)據(jù),根據(jù)編解碼協(xié)議將該屏幕數(shù)據(jù)進(jìn)行壓縮編碼,并使用傳輸協(xié)議將壓縮編碼后的碼流封裝成數(shù)據(jù)幀,將封裝后的數(shù)據(jù)幀發(fā)送給外部路由器。
步驟1022:如果當(dāng)前工作模式為接收模式,則接收外部路由器發(fā)送的數(shù)據(jù)幀,并根據(jù)傳輸協(xié)議把接收到的數(shù)據(jù)幀進(jìn)行解析,將解析后的數(shù)據(jù)幀進(jìn)行解壓縮,獲得視頻流數(shù)據(jù),再把視頻流數(shù)據(jù)發(fā)送給播放器進(jìn)行播放。
作為本實(shí)施例的一種舉例,發(fā)射模式包括單播發(fā)射模式和組播發(fā)射模式。接收模式包括單播接收模式和組播接收模式。編解碼協(xié)議包括:H.264協(xié)議或者H.265協(xié)議等解編碼協(xié)議。傳輸協(xié)議包括:TCP協(xié)議、RTSP協(xié)議或者UDP協(xié)議等傳輸協(xié)議。
參見(jiàn)圖2,圖2是本發(fā)明提供的移動(dòng)終端之間的屏幕鏡像方法的另一種實(shí)施例的流程示意圖。如圖2所示,該方法包括步驟201至207,步驟201包括步驟2011和2012。
步驟201:根據(jù)用戶操作指令,確定當(dāng)前的工作模式;該工作模式包括:發(fā)射模式和接收模式。
步驟2011:當(dāng)前的工作模式為單播發(fā)射模式。
步驟2012:當(dāng)前的工作模式為單播接收模式。
在本舉例中,如果步驟201確定當(dāng)前工作模式為單播發(fā)射模式,則執(zhí)行步驟202,如果確定當(dāng)前工作模式為單播接收模式,則執(zhí)行步驟205。
步驟202:獲取屏幕數(shù)據(jù),將屏幕數(shù)據(jù)進(jìn)行H.264的壓縮編碼,并使用TCP協(xié)議將壓縮編碼后的碼流封裝成數(shù)據(jù)幀,將封裝后的數(shù)據(jù)幀發(fā)送給外部路由器。
步驟203:判斷是否接收到應(yīng)答信息,如果接收到,則返回步驟202,實(shí)現(xiàn)往復(fù)循環(huán)發(fā)射;否則,執(zhí)行步驟204。
步驟204:等待接收應(yīng)答信息,若在預(yù)設(shè)時(shí)間內(nèi)沒(méi)有接收到應(yīng)答信息,則重新將封裝后的數(shù)據(jù)幀發(fā)射給外部路由器。
步驟205:接收外部路由器發(fā)送的數(shù)據(jù)幀,并把接收到的數(shù)據(jù)幀進(jìn)行TCP協(xié)議解析。
步驟206:向外部路由器反饋應(yīng)答信息;
步驟207:將解析后的數(shù)據(jù)幀進(jìn)行解壓縮,獲得視頻流數(shù)據(jù),再把視頻流數(shù)據(jù)發(fā)送給播放器進(jìn)行播放。
在本舉例中,在實(shí)現(xiàn)單播鏡像之前,需要把相互鏡像的兩個(gè)移動(dòng)終端分別連接至同一路由器,保證這兩個(gè)終端在同一個(gè)局域網(wǎng)上,使得某一個(gè)終端上的鏡像內(nèi)容通過(guò)路由器發(fā)送給另一個(gè)終端。
作為本實(shí)施例的另一個(gè)舉例,參見(jiàn)圖3,圖3是本發(fā)明提供的移動(dòng)終端之間的屏幕鏡像方法的又一種實(shí)施例的流程示意圖。如圖3所示,該方法包括步驟301至306,步驟301包括步驟3011和3012。
步驟301:根據(jù)用戶操作指令,確定當(dāng)前的工作模式;該工作模式包括:發(fā)射模式和接收模式。
步驟3011:當(dāng)前的工作模式為組播接收模式。
步驟3012:當(dāng)前的工作模式為組播發(fā)射模式。
在本舉例中,如果步驟301確定當(dāng)前工作模式為單播發(fā)射模式,則執(zhí)行步驟302,如果確定當(dāng)前工作模式為單播接收模式,則執(zhí)行步驟305。
步驟302:向外部路由器發(fā)送組播請(qǐng)求,與外部路由器建立通信連接,接收外部路由器發(fā)送的數(shù)據(jù)幀,并把接收到的數(shù)據(jù)幀進(jìn)行TCP協(xié)議解析。
步驟303:判斷解析后的數(shù)據(jù)幀是否為有效數(shù)據(jù)幀;若否,則返回步驟302,接收外部路由器發(fā)送的數(shù)據(jù)幀。若是,則執(zhí)行步驟304。
在本舉例中,如果該幀數(shù)據(jù)被破壞,則丟棄;如果該幀數(shù)據(jù)是一個(gè)數(shù)據(jù)幀的第一幀數(shù)據(jù),則等待接收該幀數(shù)據(jù)的第二幀數(shù)據(jù);如果第二幀數(shù)據(jù)也被破壞,則丟棄,等待新的一幀數(shù)據(jù)。如果兩幀數(shù)據(jù)中的第一幀數(shù)據(jù)有效,則不再接收第二幀數(shù)據(jù)。
步驟304:將解析后的數(shù)據(jù)幀進(jìn)行解壓縮,獲得視頻流數(shù)據(jù),再把視頻流數(shù)據(jù)發(fā)送給播放器進(jìn)行播放。
步驟305:獲取屏幕數(shù)據(jù),將屏幕數(shù)據(jù)進(jìn)行H.264的壓縮編碼,并使用TCP協(xié)議將壓縮編碼后的碼流封裝成數(shù)據(jù)幀,將封裝后的數(shù)據(jù)幀發(fā)送給外部路由器。
步驟306:將封裝后的數(shù)據(jù)幀二次發(fā)送給外部路由器。
在本舉例中,二次發(fā)送能防止數(shù)據(jù)丟失,提高本發(fā)明鏡像方法的穩(wěn)定性。
在本舉例中,組播模式的多個(gè)智能終端都連接進(jìn)一個(gè)局域網(wǎng)內(nèi)部。其中一個(gè)智能終端作為發(fā)射端進(jìn)行屏幕鏡像的發(fā)射,多個(gè)智能終端作為接收端同步接收,數(shù)據(jù)交換的中心是路由器。
另一方面,參見(jiàn)圖4,圖4是本發(fā)明提供了移動(dòng)終端之間的屏幕鏡像裝置的一種實(shí)施例的結(jié)構(gòu)示意圖。如圖4所示,該裝置包括:模式確定模塊401和鏡像處理模塊402。
模式確定模塊401用于根據(jù)用戶操作指令,確定發(fā)射終端當(dāng)前的工作模式;工作模式包括:發(fā)射模式和接收模式。
鏡像處理模塊402用于根據(jù)當(dāng)前的工作模式,執(zhí)行屏幕鏡像處理。
鏡像處理模塊402包括:第一處理單元4021、第二處理單元4022、發(fā)射單元4023和接收單元4024。
第一處理單元4021用于在模式確定模塊401確定當(dāng)前的工作模式為發(fā)射模式時(shí),獲取屏幕數(shù)據(jù),根據(jù)編解碼協(xié)議將屏幕數(shù)據(jù)進(jìn)行壓縮編碼,并使用傳輸協(xié)議將壓縮編碼后的碼流封裝成數(shù)據(jù)幀,將封裝后的數(shù)據(jù)幀發(fā)送給發(fā)射單元4023,以使發(fā)射單元4023將封裝后的數(shù)據(jù)幀發(fā)射給外部路由器。
接收單元4024用于在模式確定模塊401確定當(dāng)前的工作模式為接收模式時(shí),接收外部路由器發(fā)送的數(shù)據(jù)幀,并將接收的數(shù)據(jù)幀發(fā)送給第二處理單元4022。
第二處理單元4022用于根據(jù)所述傳輸協(xié)議把接收到的數(shù)據(jù)幀進(jìn)行解析,將解析后的數(shù)據(jù)幀進(jìn)行解壓縮,獲得視頻流數(shù)據(jù),再把視頻流數(shù)據(jù)發(fā)送給播放器進(jìn)行播放。
作為本實(shí)施例的一種舉例,該發(fā)射模式包括:?jiǎn)尾グl(fā)射模式和組播發(fā)射模式。該接收模式包括:?jiǎn)尾ソ邮漳J胶徒M播接收模式。
作為本實(shí)施例的一種舉例,參見(jiàn)圖5,圖5是本發(fā)明提供的移動(dòng)終端之間的屏幕鏡像裝置的另一種實(shí)施例的結(jié)構(gòu)示意圖。圖5與圖4的區(qū)別在于,第一處理單元4021包括:第一處理子單元501和第一判斷子單元502。第二處理單元4022包括:第二處理子單元503和應(yīng)答信息發(fā)送子單元504。
第一單播處理子單元501用于在模式確定模塊401確定當(dāng)前的工作模式為單播發(fā)射模式時(shí),獲取屏幕數(shù)據(jù),將屏幕數(shù)據(jù)進(jìn)行H.264的壓縮編碼,并使用TCP協(xié)議將壓縮編碼后的碼流封裝成數(shù)據(jù)幀,將數(shù)據(jù)幀發(fā)送給發(fā)射單元4023,以使發(fā)射單元4023將數(shù)據(jù)幀發(fā)送給外部路由器。
第一判斷子單元502用于判斷是否接收到應(yīng)答信息,如果接收到,則控制第一單播處理子單元501返回獲取屏幕數(shù)據(jù),實(shí)現(xiàn)往復(fù)循環(huán)發(fā)射;否則,等待接收所述應(yīng)答信息,若在預(yù)設(shè)時(shí)間內(nèi)沒(méi)有接收到應(yīng)答信息,則控制發(fā)射單元4023重新將封裝后的數(shù)據(jù)幀發(fā)射給外部路由器。
第二處理子單元503用于在模式確定模塊401確定當(dāng)前的工作模式為單播接收模式時(shí),把接收單元4024接收到的數(shù)據(jù)幀進(jìn)行TCP協(xié)議解析。
應(yīng)答信息發(fā)送子單元504用于向外部路由器反饋應(yīng)答信息。
第二處理子單元503還用于將解析后的數(shù)據(jù)幀進(jìn)行解壓縮,獲得視頻流數(shù)據(jù),再把視頻流數(shù)據(jù)發(fā)送給播放器進(jìn)行播放。
作為本實(shí)施例的一種舉例,參見(jiàn)圖6,圖6是本發(fā)明提供的移動(dòng)終端之間的屏幕鏡像裝置的另一種實(shí)施例的結(jié)構(gòu)示意圖。圖6與圖4的區(qū)別在于,第一處理單元4021包括:第三處理子單元601。第二處理單元4022包括請(qǐng)求發(fā)送子單元602、第二判斷子單元603和第四處理子單元604。
第三處理子單元601用于在模式確定模塊401確定當(dāng)前的工作模式為組播發(fā)射模式時(shí),獲取屏幕數(shù)據(jù),將屏幕數(shù)據(jù)進(jìn)行H.264的壓縮編碼,并使用TCP協(xié)議將壓縮編碼后的碼流封裝成數(shù)據(jù)幀,將封裝后的數(shù)據(jù)幀發(fā)送給發(fā)射單元4023,使發(fā)射單元4023將封裝后的數(shù)據(jù)幀發(fā)射給外部路由器。
第三處理子單元601還用于將封裝后的數(shù)據(jù)幀二次發(fā)送給發(fā)射單元4023,使發(fā)射單元4023將封裝后的數(shù)據(jù)幀二次發(fā)送給外部路由器。
請(qǐng)求發(fā)送子單元602用于在模式確定模塊401確定當(dāng)前的工作模式為組播接收模式時(shí),向外部路由器發(fā)送組播請(qǐng)求,與外部路由器建立通信連接。
第四處理子單元603用于把接收到的數(shù)據(jù)幀進(jìn)行TCP協(xié)議解析。
第二判斷子單元604用于判斷解析后的數(shù)據(jù)幀是否為有效數(shù)據(jù)幀;若否,則控制接收單元4024重新接收外部路由器發(fā)送的數(shù)據(jù)幀;若是,控制第四處理子單元603將解析后的數(shù)據(jù)幀進(jìn)行解壓縮,獲得視頻流數(shù)據(jù),再把視頻流數(shù)據(jù)發(fā)送給播放器進(jìn)行播放。
由上可見(jiàn),本發(fā)明實(shí)施例提供的一種移動(dòng)終端之間的屏幕鏡像方法及裝置,根據(jù)用戶操作指令確定當(dāng)前的工作模式,并根據(jù)當(dāng)前的工作模式執(zhí)行屏幕鏡像處理。工作模式分為發(fā)射模式和接收模式。發(fā)射時(shí)根據(jù)編解碼協(xié)議將屏幕數(shù)據(jù)進(jìn)行壓縮,并使用傳輸協(xié)議進(jìn)行封裝后才向外部路由器發(fā)射,接收時(shí)為發(fā)射過(guò)程的逆過(guò)程,最后將獲得的視頻流數(shù)據(jù)傳遞給播放器進(jìn)行播放。相比于現(xiàn)有技術(shù)移動(dòng)終端之間只能實(shí)現(xiàn)單向的屏幕鏡像,本發(fā)明技術(shù)方案不但可使移動(dòng)終端成為發(fā)射端,也可以使移動(dòng)終端成為接收端,實(shí)現(xiàn)移動(dòng)終端之間的相互屏幕鏡像,拓展了鏡像功能的使用范圍和應(yīng)用場(chǎng)景。
進(jìn)一步的,本發(fā)明的發(fā)射模式包括單播發(fā)射模式和組播發(fā)射模式,接收模式也包括單播接收模式和組播接收模式,實(shí)現(xiàn)了單對(duì)單的屏幕鏡像,或者是單對(duì)多的屏幕鏡像,進(jìn)一步拓展了鏡像功能的使用范圍和應(yīng)用場(chǎng)景。
以上所述是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來(lái)說(shuō),在不脫離本發(fā)明原理的前提下,還可以做出若干改進(jìn)和潤(rùn)飾,這些改進(jìn)和潤(rùn)飾也視為本發(fā)明的保護(hù)范圍。