1.一種數(shù)據(jù)分享的方法,其特征在于,該方法包括:
源設(shè)備獲取到目標(biāo)設(shè)備的信息后,針對(duì)所述目標(biāo)設(shè)備創(chuàng)建緩存隊(duì)列;
將要分享給所述目標(biāo)設(shè)備的數(shù)據(jù)繪制到所述目標(biāo)設(shè)備對(duì)應(yīng)的緩存隊(duì)列;
通過與所述目標(biāo)設(shè)備之間的連接,將所述緩存隊(duì)列中數(shù)據(jù)對(duì)應(yīng)的傳輸流發(fā)送給所述目標(biāo)設(shè)備。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述源設(shè)備獲取到目標(biāo)設(shè)備的信息包括:
所述源設(shè)備在建立與所述目標(biāo)設(shè)備之間的連接時(shí),獲取到所述目標(biāo)設(shè)備的信息。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,針對(duì)所述目標(biāo)設(shè)備創(chuàng)建緩存隊(duì)列包括:
所述源設(shè)備創(chuàng)建數(shù)據(jù)源MediaSource,在MediaSource中創(chuàng)建緩存隊(duì)列BufferQueue;以及,創(chuàng)建與所述目標(biāo)設(shè)備對(duì)應(yīng)的遠(yuǎn)端顯示設(shè)備RemotedisplayDevice;
將所述BufferQueue作為所述RemotedisplayDevice的數(shù)據(jù)源。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述源設(shè)備與所述目標(biāo)設(shè)備之間的連接的建立包括:
所述源設(shè)備在局域網(wǎng)內(nèi)廣播所述源設(shè)備的IP地址和指定端口信息,通過所述指定端口監(jiān)聽到所述目標(biāo)設(shè)備發(fā)送的連接請(qǐng)求后,與所述目標(biāo)設(shè)備建立連接;或者,
所述源設(shè)備向服務(wù)器注冊(cè)所述源設(shè)備的IP地址和指定端口信息,通過所述指定端口接收到所述目標(biāo)設(shè)備發(fā)送的連接請(qǐng)求后,與所述目標(biāo)設(shè)備建立連接,其中所述目標(biāo)設(shè)備從所述服務(wù)器獲取所述源設(shè)備的IP地址和指定端口信息;或者,
所述源設(shè)備通過wifi發(fā)現(xiàn)機(jī)制與所述目標(biāo)設(shè)備建立連接。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將要分享給所述目標(biāo)設(shè)備的數(shù)據(jù)繪制到所述目標(biāo)設(shè)備對(duì)應(yīng)的緩存隊(duì)列包括:
將針對(duì)所述目標(biāo)設(shè)備創(chuàng)建的緩存隊(duì)列的信息作為參數(shù)傳遞給界面組合模塊;
由所述界面組合模塊獲取要分享給所述目標(biāo)設(shè)備的數(shù)據(jù)后,將要分享給所述目標(biāo)設(shè)備的數(shù)據(jù)繪制到所述目標(biāo)設(shè)備對(duì)應(yīng)的緩存隊(duì)列。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述將要分享給所述目標(biāo)設(shè)備的數(shù)據(jù)繪制到所述目標(biāo)設(shè)備對(duì)應(yīng)的緩存隊(duì)列包括:
如果要分享給所述目標(biāo)設(shè)備的數(shù)據(jù)為某窗口的數(shù)據(jù),則從所述窗口對(duì)應(yīng)的緩存中獲取所述窗口的數(shù)據(jù),將所述窗口的數(shù)據(jù)繪制到所述目標(biāo)設(shè)備對(duì)應(yīng)的緩存隊(duì)列;或者,
如果要分享給所述目標(biāo)設(shè)備的數(shù)據(jù)為屏幕的數(shù)據(jù),則從所述屏幕所包含各窗口對(duì)應(yīng)的緩存中獲取各窗口的數(shù)據(jù),依據(jù)各窗口在屏幕上的位置信息,將各窗口的數(shù)據(jù)繪制到所述目標(biāo)設(shè)備對(duì)應(yīng)的緩存隊(duì)列。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括:
對(duì)所述緩存隊(duì)列中的數(shù)據(jù)進(jìn)行編碼,得到基本數(shù)據(jù)流ES;
對(duì)所述ES進(jìn)行分組形成分組基本流PES;
將所述PES進(jìn)行重新封裝形成所述緩存隊(duì)列中數(shù)據(jù)對(duì)應(yīng)的傳輸流TS。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,在所述連接的建立過程中進(jìn)一步協(xié)商所述源設(shè)備與所述目標(biāo)設(shè)備之間反饋通道的信息;
該方法還包括:
所述源設(shè)備通過所述反饋通道接收所述目標(biāo)設(shè)備反饋的傳輸流接收狀況;
依據(jù)所述傳輸流接收狀況,調(diào)整對(duì)所述目標(biāo)設(shè)備所對(duì)應(yīng)緩存隊(duì)列中數(shù)據(jù)的編碼。
9.根據(jù)權(quán)利要求8所述的方法,其特征在于,所述傳輸流接收狀況包括丟包率;
所述調(diào)整對(duì)所述目標(biāo)設(shè)備所對(duì)應(yīng)緩存隊(duì)列中數(shù)據(jù)的編碼包括:調(diào)整對(duì)所述目標(biāo)設(shè)備所對(duì)應(yīng)緩存隊(duì)列中數(shù)據(jù)的編碼方式;或者,
提高或降低對(duì)所述目標(biāo)設(shè)備所對(duì)應(yīng)緩存隊(duì)列中數(shù)據(jù)的編碼率。
10.根據(jù)權(quán)利要求1所述的方法,其特征在于,該方法還包括:
所述源設(shè)備與所述目標(biāo)設(shè)備之間的連接斷開后,所述源設(shè)備刪除所述目標(biāo)設(shè)備對(duì)應(yīng)的緩存隊(duì)列。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述源設(shè)備為云盒,所述目標(biāo)設(shè)備為用戶端機(jī)頂盒。
12.根據(jù)權(quán)利要求1至11任一權(quán)項(xiàng)所述的方法,其特征在于,如果所述目標(biāo)設(shè)備的數(shù)量多于1個(gè),則針對(duì)各目標(biāo)設(shè)備分別執(zhí)行所述數(shù)據(jù)分享的方法。
13.一種數(shù)據(jù)分享的裝置,設(shè)置于源設(shè)備,其特征在于,該裝置包括:
緩存管理模塊,用于在所述源設(shè)備獲取到所述目標(biāo)設(shè)備的信息后,針對(duì)所述目標(biāo)設(shè)備創(chuàng)建緩存隊(duì)列;
界面組合模塊,用于將要分享給所述目標(biāo)設(shè)備的數(shù)據(jù)繪制到所述目標(biāo)設(shè)備對(duì)應(yīng)的緩存隊(duì)列;
數(shù)據(jù)傳輸模塊,用于通過所述源設(shè)備與所述目標(biāo)設(shè)備之間的連接,將所述緩存隊(duì)列中數(shù)據(jù)對(duì)應(yīng)的傳輸流發(fā)送給所述目標(biāo)設(shè)備。
14.根據(jù)權(quán)利要求13所述的裝置,其特征在于,該裝置還包括:連接建立模塊,用于建立所述源設(shè)備與所述目標(biāo)設(shè)備之間的連接,從而獲取所述目標(biāo)設(shè)備的信息。
15.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述緩存管理模塊在針對(duì)所述目標(biāo)設(shè)備創(chuàng)建緩存隊(duì)列時(shí),具體執(zhí)行:
創(chuàng)建MediaSource,在MediaSource中創(chuàng)建BufferQueue;以及,創(chuàng)建與所述目標(biāo)設(shè)備對(duì)應(yīng)的RemotedisplayDevice;
所述界面組合模塊將所述BufferQueue作為所述RemotedisplayDevice的數(shù)據(jù)源。
16.根據(jù)權(quán)利要求14所述的裝置,其特征在于,所述連接建立模塊,具體用于:
在局域網(wǎng)內(nèi)廣播所述源設(shè)備的IP地址和指定端口信息,通過所述指定端口 監(jiān)聽到所述目標(biāo)設(shè)備發(fā)送的連接請(qǐng)求后,與所述目標(biāo)設(shè)備建立連接;或者,
向服務(wù)器注冊(cè)所述源設(shè)備的IP地址和指定端口信息,通過所述指定端口接收到所述目標(biāo)設(shè)備發(fā)送的連接請(qǐng)求后,與所述目標(biāo)設(shè)備建立連接,其中所述目標(biāo)設(shè)備從所述服務(wù)器獲取所述源設(shè)備的IP地址和指定端口信息;或者,
通過wifi發(fā)現(xiàn)機(jī)制與所述目標(biāo)設(shè)備建立連接。
17.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述緩存管理模塊,還用于將針對(duì)所述目標(biāo)設(shè)備創(chuàng)建的緩存隊(duì)列的信息作為參數(shù)傳遞給所述界面組合模塊;
所述界面組合模塊,具體用于獲取要分享給所述目標(biāo)設(shè)備的數(shù)據(jù)后,將要分享給所述目標(biāo)設(shè)備的數(shù)據(jù)繪制到所述目標(biāo)設(shè)備對(duì)應(yīng)的緩存隊(duì)列。
18.根據(jù)權(quán)利要求13所述的裝置,其特征在于,如果要分享給所述目標(biāo)設(shè)備的數(shù)據(jù)為某窗口的數(shù)據(jù),則所述界面組合模塊從所述窗口對(duì)應(yīng)的緩存中獲取所述窗口的數(shù)據(jù),將所述窗口的數(shù)據(jù)繪制到所述目標(biāo)設(shè)備對(duì)應(yīng)的緩存隊(duì)列;或者,
如果要分享給所述目標(biāo)設(shè)備的數(shù)據(jù)為屏幕的數(shù)據(jù),則所述界面組合模塊從所述屏幕所包含各窗口對(duì)應(yīng)的緩存中獲取各窗口的數(shù)據(jù),依據(jù)各窗口在屏幕上的位置信息,將各窗口的數(shù)據(jù)繪制到所述目標(biāo)設(shè)備對(duì)應(yīng)的緩存隊(duì)列。
19.根據(jù)權(quán)利要求13所述的裝置,其特征在于,該裝置還包括:流化處理模塊,具體用于對(duì)所述緩存隊(duì)列中的數(shù)據(jù)進(jìn)行編碼,得到ES;對(duì)所述ES進(jìn)行分組形成PES;將所述PES進(jìn)行重新封裝形成TS。
20.根據(jù)權(quán)利要求19所述的裝置,其特征在于,該裝置還包括:
連接建立模塊,用于在建立所述連接的過程中進(jìn)一步協(xié)商所述源設(shè)備與所述目標(biāo)設(shè)備之間反饋通道的信息;
反饋接收模塊,用于通過所述反饋通道接收所述目標(biāo)設(shè)備反饋的傳輸流接收狀況;
所述流化處理模塊,還用于依據(jù)所述傳輸流接收狀況,調(diào)整對(duì)所述目標(biāo)設(shè)備所對(duì)應(yīng)緩存隊(duì)列中數(shù)據(jù)的編碼。
21.根據(jù)權(quán)利要求20所述的裝置,其特征在于,所述傳輸流接收狀況包括丟包率;
所述流化處理模塊在調(diào)整對(duì)所述目標(biāo)設(shè)備所對(duì)應(yīng)緩存隊(duì)列中數(shù)據(jù)的編碼時(shí),具體用于調(diào)整對(duì)所述目標(biāo)設(shè)備所對(duì)應(yīng)緩存隊(duì)列中數(shù)據(jù)的編碼方式,或者,提高或降低對(duì)所述目標(biāo)設(shè)備所對(duì)應(yīng)緩存隊(duì)列中數(shù)據(jù)的編碼率。
22.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述緩存管理模塊,還用于所述源設(shè)備與所述目標(biāo)設(shè)備之間的連接斷開后,刪除所述目標(biāo)設(shè)備對(duì)應(yīng)的緩存隊(duì)列。
23.根據(jù)權(quán)利要求13所述的裝置,其特征在于,所述源設(shè)備為云盒,所述目標(biāo)設(shè)備為用戶端機(jī)頂盒。
24.根據(jù)權(quán)利要求13至23任一權(quán)項(xiàng)所述的裝置,其特征在于,如果所述目標(biāo)設(shè)備的數(shù)量多于1個(gè),則所述緩存管理模塊針對(duì)各目標(biāo)設(shè)備分別創(chuàng)建緩存隊(duì)列。