本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,特別是涉及一種直播數(shù)據(jù)顯示方法和一種直播數(shù)據(jù)顯示裝置。
背景技術(shù):
隨著網(wǎng)絡(luò)和終端技術(shù)的發(fā)展,用戶可以通過終端執(zhí)行各種網(wǎng)絡(luò)操作,如上網(wǎng)、玩游戲、觀看視頻等,因此也興起了一種新的多媒體互動(dòng)方式,即網(wǎng)絡(luò)直播。
網(wǎng)絡(luò)直播是通過信號(hào)采集設(shè)備采用直播視頻,然后將直播視頻上傳到服務(wù)器,再由服務(wù)器反饋給各用戶終端的播放的多媒體互動(dòng)方式,該多媒體互動(dòng)方式還支持用戶和該網(wǎng)絡(luò)直播的主播進(jìn)行互動(dòng),即用戶的消息可以反饋給主播,從而主播基于該消息進(jìn)行互動(dòng)。
但是,在網(wǎng)絡(luò)直播過程中主播除了上傳直播視頻外,還要下載添加了互動(dòng)消息的直播視頻,這可能導(dǎo)致網(wǎng)絡(luò)帶寬被占用,影響直播視頻的正常上傳。
技術(shù)實(shí)現(xiàn)要素:
鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的直播數(shù)據(jù)顯示方法和相應(yīng)的直播數(shù)據(jù)顯示裝置。
依據(jù)本發(fā)明的一個(gè)方面,提供了直播數(shù)據(jù)顯示方法,具體包括:在基于目標(biāo)應(yīng)用進(jìn)行直播的過程中,獲取直播返回信息,其中,所述直播返回信息用于反饋除視頻數(shù)據(jù)之外的信息,所述直播返回信息包括彈幕數(shù)據(jù);繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,其中,所述第二顯示圖像用于生成直播視頻數(shù)據(jù)。
可選地,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,包括:生成子窗口并在所述子窗口繪制順序展示所述直播返回信息的第一顯示圖像;將所述子窗口設(shè)置在所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示。
可選地,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,包括:生成透明窗口并在所述透明窗口上繪制動(dòng)態(tài)展示直播返回信息的第一顯示圖像;將所述透明窗口疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示。
可選地,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,包括:依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,其中,所述應(yīng)用映射架構(gòu)數(shù)據(jù)是依據(jù)所述目標(biāo)應(yīng)用的應(yīng)用源框架數(shù)據(jù)確定的。
可選地,疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,包括:獲取基于應(yīng)用源框架數(shù)據(jù)創(chuàng)建的第二顯示圖像,將所述第一顯示圖像和第二顯示圖像進(jìn)行疊加顯示。
可選地,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,包括:依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像和所述直播返回信息對(duì)應(yīng)第一顯示圖像的疊加圖像數(shù)據(jù)。
可選地,還包括:預(yù)先通過掛起的目標(biāo)對(duì)象,在初始化所述目標(biāo)應(yīng)用創(chuàng)建應(yīng)用映射架構(gòu)數(shù)據(jù)和應(yīng)用源架構(gòu)數(shù)據(jù);依據(jù)所述應(yīng)用映射架構(gòu)數(shù)據(jù)確定至少一個(gè)目標(biāo)接口。
可選地,所述預(yù)先通過掛起的目標(biāo)對(duì)象,在初始化目標(biāo)應(yīng)用創(chuàng)建應(yīng)用映射架構(gòu)數(shù)據(jù)和應(yīng)用源架構(gòu)數(shù)據(jù),包括:對(duì)系統(tǒng)中創(chuàng)建函數(shù)進(jìn)行監(jiān)控,在所述創(chuàng)建函數(shù)創(chuàng)建目標(biāo)對(duì)象時(shí)掛起所述目標(biāo)對(duì)象;在所述目標(biāo)對(duì)象初始化目標(biāo)應(yīng)用時(shí),依據(jù)所述應(yīng)用信息確定映射對(duì)象和接口調(diào)用,搭建應(yīng)用映射架構(gòu)數(shù)據(jù),再依據(jù)所述應(yīng)用信息確定源對(duì)象和接口調(diào)用,搭建應(yīng)用源架構(gòu)數(shù)據(jù)。
可選地,還包括:在創(chuàng)建對(duì)象時(shí),依據(jù)所述應(yīng)用信息創(chuàng)建映射對(duì)象并指向源內(nèi)存地址,再創(chuàng)建源對(duì)象并指向所述源內(nèi)存地址;在調(diào)用接口時(shí),依據(jù)所述應(yīng)用信息在對(duì)應(yīng)各接口處設(shè)置一組鉤子程序,并確定各接口的接口信息。
可選地,依據(jù)所述應(yīng)用映射架構(gòu)數(shù)據(jù)確定至少一個(gè)目標(biāo)接口,包括:基于所述應(yīng)用映射架構(gòu)數(shù)據(jù),依據(jù)所述接口信息確定用于繪制顯示圖像的至少一個(gè)目標(biāo)接口。
可選地,還包括:依據(jù)所述第二顯示圖像生成直播視頻數(shù)據(jù),上傳所述直播視頻數(shù)據(jù)。
可選地,所述直播返回信息還包括:業(yè)務(wù)數(shù)據(jù)和/或非公開信息。
根據(jù)本發(fā)明的另一方面,提供了直播數(shù)據(jù)顯示裝置,具體包括:獲取模塊,用于在基于目標(biāo)應(yīng)用進(jìn)行直播的過程中,獲取直播返回信息,其中,所述直播返回信息用于反饋除視頻數(shù)據(jù)之外的信息,所述直播返回信息包括彈幕數(shù)據(jù);繪制顯示模塊,用于繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,其中,所述第二顯示圖像用于生成直播視頻數(shù)據(jù)。
可選地,所述繪制顯示模塊,包括:繪制子模塊,用于生成子窗口并在所述子窗口繪制順序展示所述直播返回信息的第一顯示圖像;顯示子模塊,用于將所述子窗口設(shè)置在所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示。
可選地,所述繪制顯示模塊,包括:繪制子模塊,用于生成透明窗口并在所述透明窗口上繪制動(dòng)態(tài)展示直播返回信息的第一顯示圖像;顯示子模塊,用于將所述透明窗口疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示。
可選地,所述繪制顯示模塊,包括:繪制子模塊,用于依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,其中,所述應(yīng)用映射架構(gòu)數(shù)據(jù)是依據(jù)所述目標(biāo)應(yīng)用的應(yīng)用源框架數(shù)據(jù)確定的。
可選地,所述繪制顯示模塊,還包括:顯示子模塊,用于獲取基于應(yīng)用源框架數(shù)據(jù)創(chuàng)建的第二顯示圖像,將所述第一顯示圖像和第二顯示圖像進(jìn)行疊加顯示。
可選地,還包括:初始化模塊,用于預(yù)先通過掛起的目標(biāo)對(duì)象,在初始化目標(biāo)應(yīng)用創(chuàng)建應(yīng)用映射架構(gòu)數(shù)據(jù)和應(yīng)用源架構(gòu)數(shù)據(jù);依據(jù)所述應(yīng)用映射架構(gòu)數(shù)據(jù)確定至少一個(gè)目標(biāo)接口。
可選地,初始化模塊,包括:掛起子模塊,用于對(duì)系統(tǒng)中創(chuàng)建函數(shù)進(jìn)行監(jiān)控,在所述創(chuàng)建函數(shù)創(chuàng)建目標(biāo)對(duì)象時(shí)掛起所述目標(biāo)對(duì)象;架構(gòu)搭建子模塊,用于在所述目標(biāo)對(duì)象初始化目標(biāo)應(yīng)用創(chuàng)建應(yīng)用,依據(jù)所述應(yīng)用信息確定映射對(duì)象和接口調(diào)用,搭建應(yīng)用映射架構(gòu)數(shù)據(jù),再依據(jù)所述應(yīng)用信息確定源對(duì)象和接口調(diào)用,搭建應(yīng)用源架構(gòu)數(shù)據(jù)。
可選地,架構(gòu)搭建子模塊,還用于在創(chuàng)建對(duì)象時(shí),依據(jù)所述應(yīng)用信息創(chuàng)建映射對(duì)象并指向源內(nèi)存地址,再創(chuàng)建源對(duì)象并指向所述源內(nèi)存地址;在調(diào)用接口時(shí),依據(jù)所述應(yīng)用信息在對(duì)應(yīng)各接口處設(shè)置一組鉤子程序,并確定各接口的接口信息。
可選地,初始化模塊,還包括:接口分析子模塊,用于基于所述應(yīng)用映射架構(gòu)數(shù)據(jù),依據(jù)所述接口信息確定用于繪制顯示圖像的至少一個(gè)目標(biāo)接口。
可選地,還包括:直播模塊,用于依據(jù)所述第二顯示圖像生成直播視頻數(shù)據(jù),上傳所述直播視頻數(shù)據(jù)。
可選地,所述直播返回信息還包括:業(yè)務(wù)數(shù)據(jù)和/或非公開信息。
在采用目標(biāo)應(yīng)用的第二顯示圖像生成直播視頻數(shù)據(jù)進(jìn)行直播時(shí),可以獲取不攜帶視頻數(shù)據(jù)的直播返回信息,該直播返回信息包括彈幕數(shù)據(jù),繪制該直播返回信息對(duì)應(yīng)的第一顯示圖像,將第一顯示圖像疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,從而便于主播獲取返回的互動(dòng)消息與觀看用戶進(jìn)行互動(dòng),并且直播返回信息不攜帶直播視頻數(shù)據(jù),能夠有效減少對(duì)帶寬資源的占用,保證直播的穩(wěn)定性。
上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的具體實(shí)施方式。
附圖說明
通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對(duì)于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對(duì)本發(fā)明的限制。而且在整個(gè)附圖中,用相同的參考符號(hào)表示相同的部件。在附圖中:
圖1示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種直播數(shù)據(jù)顯示方法實(shí)施例的步驟流程圖;
圖2示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種直播數(shù)據(jù)顯示方法實(shí)施例的步驟流程圖;
圖3示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的另一種直播數(shù)據(jù)顯示方法實(shí)施例的步驟流程圖;
圖4示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的又一種直播數(shù)據(jù)顯示方法實(shí)施例的步驟流程圖;
圖5示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例提供的基于應(yīng)用映射架構(gòu)的繪制顯示方法實(shí)施例的步驟流程圖;
圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種直播數(shù)據(jù)顯示裝置實(shí)施例的結(jié)構(gòu)框圖;
圖7示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種直播數(shù)據(jù)顯示裝置實(shí)施例的結(jié)構(gòu)框圖。
具體實(shí)施方式
下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
參照?qǐng)D1,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種直播數(shù)據(jù)顯示方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:
步驟102,在基于目標(biāo)應(yīng)用進(jìn)行直播的過程中,獲取直播返回信息,其中,所述直播返回信息用于反饋除視頻數(shù)據(jù)之外的信息,所述直播返回信息包括彈幕數(shù)據(jù)。
步驟104,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,其中,所述第二顯示圖像用于生成直播視頻數(shù)據(jù)。
本實(shí)施例的直播是基于目標(biāo)應(yīng)用的直播,即將目標(biāo)應(yīng)用的數(shù)據(jù)作為直播數(shù)據(jù),例如游戲直播是用戶在使用游戲應(yīng)用玩游戲的過程中,將游戲應(yīng)用對(duì)應(yīng)畫面的數(shù)據(jù)作為直播數(shù)據(jù)。直播過程中觀看直播的用戶和主播可以進(jìn)行互動(dòng),主播即進(jìn)行該直播的用戶,如游戲直播中游戲玩家即主播。用戶可以發(fā)送彈幕數(shù)據(jù),也可以給主播送禮物等,其中,彈幕指的是視頻中大量以字幕彈出形式從屏幕飄過的顯示方式。
本實(shí)施例應(yīng)用于直播過程的主播端,為了便于主播與用戶互動(dòng),在基于目標(biāo)應(yīng)用進(jìn)行直播的過程中,可以獲取直播返回信息。為了減少對(duì)主播帶寬的占用,本實(shí)施例的直播返回信息用于反饋除視頻數(shù)據(jù)之外的信息,即該直播返回信息為不攜帶直播視頻數(shù)據(jù)的互動(dòng)消息,可以包括彈幕數(shù)據(jù),也可以包括禮物等數(shù)據(jù)。
其中,在系統(tǒng)底層以及屏幕顯示的角度,在系統(tǒng)中顯示的界面、窗口都可以看作是一幀圖像,因此可以基于該直播返回信息繪制互動(dòng)消息圖像即第一顯示圖像,從而第一顯示圖像能夠顯示互動(dòng)消息,將目標(biāo)應(yīng)用對(duì)應(yīng)顯示界面及顯示內(nèi)容稱為第二顯示圖像,目標(biāo)應(yīng)用可以全屏顯示,因此可以將第一顯示圖像疊加到第二顯示圖像上進(jìn)行顯示。即在屏幕上顯示的每一幀圖像都是在該幀繪制的第一顯示圖像和第二顯示圖像疊加生成的,從而通過對(duì)每一幀第一顯示圖像和第二顯示圖像的繪制,得到在屏幕上動(dòng)態(tài)顯示的圖像。由于第二顯示圖像是目標(biāo)應(yīng)用對(duì)應(yīng)顯示界面及顯示內(nèi)容,因此可以獲取各幀對(duì)應(yīng)第二顯示圖像,依據(jù)各幀的時(shí)間戳等信息生成直播視頻數(shù)據(jù)。
綜上,在采用目標(biāo)應(yīng)用的第二顯示圖像生成直播視頻數(shù)據(jù)進(jìn)行直播時(shí),可以獲取不攜帶視頻數(shù)據(jù)的直播返回信息,該直播返回信息包括彈幕數(shù)據(jù),繪制該直播返回信息對(duì)應(yīng)的第一顯示圖像,將第一顯示圖像疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,從而便于主播獲取返回的互動(dòng)消息與觀看用戶進(jìn)行互動(dòng),并且直播返回信息不攜帶直播視頻數(shù)據(jù),能夠有效減少對(duì)帶寬資源的占用,保證直播的穩(wěn)定性。
其中,直播返回信息包括:彈幕數(shù)據(jù)、業(yè)務(wù)數(shù)據(jù)和/或非公開信息,其中,業(yè)務(wù)數(shù)據(jù)依據(jù)具體業(yè)務(wù)確定,例如游戲業(yè)務(wù)則業(yè)務(wù)數(shù)據(jù)為禮物等電子物品數(shù)據(jù),非公開信息包括給主播發(fā)送的私信、權(quán)限問題等數(shù)據(jù),該權(quán)限問題可以是購買的權(quán)限后的提問數(shù)據(jù)。
本實(shí)施例在直播互動(dòng)過程中,僅給主播返回互動(dòng)消息而不攜帶視頻數(shù)據(jù),從而減少對(duì)帶寬的占用。其中,依據(jù)直播返回信息生成的第一顯示圖像可以通過各種方式顯示,便于主播觀看。
一種方式是采用獨(dú)立的子窗口顯示。
參照?qǐng)D2,示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種直播數(shù)據(jù)顯示方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:
步驟202,依據(jù)目標(biāo)應(yīng)用的第二顯示圖像生成直播視頻數(shù)據(jù),上傳所述直播視頻數(shù)據(jù)。
步驟204,在基于目標(biāo)應(yīng)用進(jìn)行直播的過程中,獲取直播返回信息。
步驟206,生成子窗口并在所述子窗口繪制順序展示所述直播返回信息的第一顯示圖像。
步驟208,將所述子窗口設(shè)置在所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示。
將目標(biāo)應(yīng)用的顯示數(shù)據(jù)作為直播數(shù)據(jù),其中,顯示數(shù)據(jù)包括顯示界面和界面內(nèi)容,依據(jù)目標(biāo)應(yīng)用的數(shù)據(jù)繪制各幀對(duì)應(yīng)第二顯示圖像,通過各幀第二顯示圖像構(gòu)成目標(biāo)應(yīng)用的顯示數(shù)據(jù),從而獲取每一幀第二顯示圖像并按照時(shí)間戳進(jìn)行組合,構(gòu)成相應(yīng)的直播數(shù)據(jù),從而實(shí)現(xiàn)對(duì)目標(biāo)應(yīng)用的顯示畫面的直播。在基于目標(biāo)應(yīng)用進(jìn)行直播的過程中,用戶可以發(fā)送彈幕數(shù)據(jù)、私信數(shù)據(jù)以及業(yè)務(wù)數(shù)據(jù)等直播返回信息,主播的用戶終端可以接收直播返回信息。然后對(duì)直播返回信息進(jìn)行處理并顯示。其中,針對(duì)采用子窗口順序顯示直播返回信息的方式,可以生成子窗口即在預(yù)設(shè)位置繪制一子窗口,并繪制在子窗口內(nèi)順序展示所述直播返回信息,從而得到第一顯示圖像。對(duì)每幀第一顯示圖像采用上述方式繪制,構(gòu)成動(dòng)態(tài)顯示的直播顯示內(nèi)容,如直播的彈幕數(shù)據(jù)。在該過程中基于目標(biāo)應(yīng)用對(duì)應(yīng)繪制第二顯示圖像,針對(duì)屏幕的每一幀圖像,將該繪制的子窗口疊加到所述第二顯示圖像的預(yù)設(shè)位置處,從而通過各幀圖像的繪制進(jìn)行屏幕圖像的顯示以及直播數(shù)據(jù)的生成。
另一種方式是采用獨(dú)立的子窗口顯示。
參照?qǐng)D3,示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的另一種直播數(shù)據(jù)顯示方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:
步驟302,依據(jù)目標(biāo)應(yīng)用的第二顯示圖像生成直播視頻數(shù)據(jù),上傳所述直播視頻數(shù)據(jù)。
步驟304,在基于目標(biāo)應(yīng)用進(jìn)行直播的過程中,獲取直播返回信息。
步驟306,生成透明窗口并在所述透明窗口上繪制動(dòng)態(tài)展示直播返回信息的第一顯示圖像。
步驟308,將所述透明窗口疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示。
將目標(biāo)應(yīng)用的顯示數(shù)據(jù)作為直播數(shù)據(jù),其中,顯示數(shù)據(jù)包括顯示界面和界面內(nèi)容,依據(jù)目標(biāo)應(yīng)用的數(shù)據(jù)繪制各幀對(duì)應(yīng)第二顯示圖像,通過各幀第二顯示圖像構(gòu)成目標(biāo)應(yīng)用的顯示數(shù)據(jù),從而獲取每一幀第二顯示圖像并按照時(shí)間戳進(jìn)行組合,構(gòu)成相應(yīng)的直播數(shù)據(jù),從而實(shí)現(xiàn)對(duì)目標(biāo)應(yīng)用的顯示畫面的直播。在基于目標(biāo)應(yīng)用進(jìn)行直播的過程中,用戶可以發(fā)送彈幕數(shù)據(jù)、私信數(shù)據(jù)以及業(yè)務(wù)數(shù)據(jù)等直播返回信息,主播的用戶終端可以接收直播返回信息。然后對(duì)直播返回信息進(jìn)行處理并顯示,其中可以顯示類似觀看用戶方式,如彈幕數(shù)據(jù)采用彈幕方式顯示。則可以通過透明窗口(或透明遮罩)顯示直播返回信息。即生成透明窗口即在預(yù)設(shè)位置繪制一透明窗口,并繪制在透明窗口內(nèi)順序展示所述直播返回信息,從而得到第一顯示圖像。對(duì)每幀第一顯示圖像采用上述方式繪制,構(gòu)成動(dòng)態(tài)顯示的直播顯示內(nèi)容,如直播的彈幕數(shù)據(jù)。在該過程中基于目標(biāo)應(yīng)用對(duì)應(yīng)繪制第二顯示圖像,針對(duì)屏幕的每一幀圖像,將該繪制的子窗口疊加到所述第二顯示圖像的預(yù)設(shè)位置處,從而通過各幀圖像的繪制進(jìn)行屏幕圖像的顯示以及直播數(shù)據(jù)的生成。
又一種方式是基于應(yīng)用映射架構(gòu)的繪制顯示方式
參照?qǐng)D4,示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的又一種直播數(shù)據(jù)顯示方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:
步驟402,預(yù)先通過掛起的目標(biāo)對(duì)象,在初始化目標(biāo)應(yīng)用創(chuàng)建應(yīng)用映射架構(gòu)數(shù)據(jù)和應(yīng)用源架構(gòu)數(shù)據(jù)。
預(yù)先對(duì)系統(tǒng)進(jìn)行監(jiān)控,監(jiān)控系統(tǒng)的創(chuàng)建函數(shù)如crate函數(shù),當(dāng)調(diào)用該創(chuàng)建函數(shù)創(chuàng)建目標(biāo)對(duì)象時(shí),可以掛起該目標(biāo)對(duì)象,即在初始化目標(biāo)對(duì)象時(shí)設(shè)置第一鉤子程序,從而在目標(biāo)對(duì)象的源頭設(shè)置鉤子程序。該目標(biāo)對(duì)象為系統(tǒng)的重要組件對(duì)象,用于執(zhí)行各種應(yīng)用所需的操作。
系統(tǒng)中部分應(yīng)用的創(chuàng)建、運(yùn)行等均需要目標(biāo)對(duì)象的參與,因此在目標(biāo)對(duì)象的源頭設(shè)置鉤子,就可以截獲各個(gè)針對(duì)目標(biāo)對(duì)象的調(diào)用,從而確定所需的信息。本實(shí)施例中,應(yīng)用在創(chuàng)建需要調(diào)用目標(biāo)對(duì)象執(zhí)行操作,因此可以通過第一鉤子程序截獲調(diào)用所述目標(biāo)對(duì)象時(shí)的應(yīng)用信息,該應(yīng)用信息用于指示創(chuàng)建該目標(biāo)應(yīng)用的應(yīng)用源架構(gòu)數(shù)據(jù)。即在目標(biāo)應(yīng)用創(chuàng)建時(shí)需要調(diào)用目標(biāo)對(duì)應(yīng)的一系列接口獲取數(shù)據(jù),并創(chuàng)建所需的函數(shù)對(duì)象等,通過該接口調(diào)用和函數(shù)對(duì)象可以確定出該目標(biāo)應(yīng)用的應(yīng)用源架構(gòu)數(shù)據(jù),從而啟動(dòng)并運(yùn)行該目標(biāo)應(yīng)用。
因此本實(shí)施例先采用應(yīng)用信息搭建該目標(biāo)應(yīng)用的應(yīng)用映射架構(gòu)數(shù)據(jù),再搭建應(yīng)用源架構(gòu)數(shù)據(jù),即依據(jù)該應(yīng)用信息確定所需操作,先創(chuàng)建一個(gè)映射信息再創(chuàng)建源信息,且該映射信息與源信息指向相同的內(nèi)容地址,即采用映射架構(gòu)數(shù)據(jù)搭建一個(gè)與應(yīng)用源架構(gòu)數(shù)據(jù)相同的外殼,但其實(shí)質(zhì)內(nèi)容仍然由應(yīng)用源架構(gòu)數(shù)據(jù)提供,從而極少量的消耗內(nèi)存信息,且能夠獲知該目標(biāo)應(yīng)用的架構(gòu),并控制應(yīng)用所需數(shù)據(jù)的返回。
本發(fā)明實(shí)施例中,可以在各種系統(tǒng)的各種目標(biāo)對(duì)象設(shè)置鉤子程序,本實(shí)施例中以組件對(duì)象模型(Component Object Model,COM)作為目標(biāo)對(duì)象為例,可以在創(chuàng)建函數(shù)初始化COM組件時(shí),為COM組件設(shè)置第一鉤子程序,從而在COM組件的源頭設(shè)置鉤子,實(shí)現(xiàn)對(duì)COM組件的接管。其中,COM組件是微軟對(duì)于網(wǎng)頁服務(wù)器與客戶端之間交互的一項(xiàng)軟件組件技術(shù),是一種面向?qū)ο蟮木幊棠J?,它定義了對(duì)象在單個(gè)應(yīng)用程序內(nèi)部或多個(gè)應(yīng)用程序之間的行為方式。并且COM被實(shí)現(xiàn)于多個(gè)平臺(tái)之上,并不限于Windows操作系統(tǒng)。例如,游戲客戶端采用DirectX(Direct eXtension,DX)的3D引擎,該DirectX是由微軟公司創(chuàng)建的多媒體編程接口,由C++編程語言實(shí)現(xiàn),遵循COM組件。因此在啟動(dòng)運(yùn)行該游戲客戶端,涉及到3D引擎操作時(shí),需要調(diào)用COM組件,通過在COM組件設(shè)置的第一鉤子引擎,可以獲取調(diào)用COM組件的應(yīng)用信息,從而確定出該游戲客戶端的3D引擎的源架構(gòu)數(shù)據(jù),即獲知3D引擎運(yùn)行所需的各種接口以及函數(shù)對(duì)象等。
步驟404,依據(jù)所述應(yīng)用映射架構(gòu)數(shù)據(jù)確定至少一個(gè)目標(biāo)接口。
在搭建應(yīng)用映射架構(gòu)數(shù)據(jù)時(shí)可以確定該目標(biāo)應(yīng)用所需調(diào)用的各種接口,以及各接口的功能等信息,因此可以確定出所需的至少一個(gè)目標(biāo)接口,該目標(biāo)接口包括用于繪制、渲染、顯示圖像的各種接口。
步驟406,基于目標(biāo)應(yīng)用進(jìn)行直播,及獲取直播返回信息。
步驟408,依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像。
步驟410,獲取基于應(yīng)用源框架數(shù)據(jù)創(chuàng)建的第二顯示圖像,將所述第一顯示圖像和第二顯示圖像進(jìn)行疊加顯示。
目標(biāo)應(yīng)用運(yùn)行后可以采用全屏模式,全屏模式下該目標(biāo)應(yīng)用的顯示界面即界面圖像會(huì)鋪滿整個(gè)窗口,且焦點(diǎn)位于該目標(biāo)應(yīng)用中。其中,在系統(tǒng)底層以及屏幕顯示的角度,在系統(tǒng)中顯示的界面、窗口都可以看作是一幀圖像。本實(shí)施例依據(jù)上述應(yīng)用映射架構(gòu)數(shù)據(jù),基于該目標(biāo)應(yīng)用的開發(fā)技術(shù)原理來執(zhí)行第一顯示圖像的繪制。
因此可以基于應(yīng)用源框架數(shù)據(jù)繪制的第二顯示圖像生成直播數(shù)據(jù),以及獲取直播返回信息后,可以采用預(yù)先注入的鉤子程序調(diào)用目標(biāo)接口依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)對(duì)應(yīng)圖像繪制、渲染、顯示等方式,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,獲取基于應(yīng)用源框架數(shù)據(jù)創(chuàng)建的第二顯示圖像,將該第一顯示圖像疊加到第二顯示圖像上顯示,即在顯示目標(biāo)應(yīng)用的第二顯示圖像的基礎(chǔ)上,疊加第一顯示圖像進(jìn)行顯示。
例如針對(duì)游戲客戶端,用戶在玩客戶端游戲時(shí)通常是采用全屏模式并進(jìn)行游戲直播,則可以采用應(yīng)用源框架數(shù)據(jù)創(chuàng)建的游戲客戶端的第二顯示圖像,基于第二顯示圖像生成直播數(shù)據(jù);依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,將第一顯示圖像和第二顯示圖像進(jìn)行疊加顯示,從而用戶看起來就是在全屏游戲下,顯示了直播彈幕、禮物以及私信等數(shù)據(jù),提高用戶體驗(yàn)以及直播的靈活性。
步驟412,依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像和所述直播返回信息對(duì)應(yīng)第一顯示圖像的疊加圖像數(shù)據(jù)。
上述采用分別繪制第二顯示圖像和第一顯示圖像后疊加顯示的方式,實(shí)際處理中,還可以依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,直接繪制疊加圖像數(shù)據(jù),即直接繪制第二顯示圖像和第一顯示圖像已疊加的疊加圖像數(shù)據(jù)。從而后續(xù)直播過程中基于疊加圖像數(shù)據(jù)進(jìn)行直播,可以直接返回已添加彈幕、禮物等數(shù)據(jù)的直播數(shù)據(jù),不用在服務(wù)側(cè)為直播數(shù)據(jù)疊加彈幕等數(shù)據(jù)。
綜上,通過在初始化時(shí)創(chuàng)建應(yīng)用映射架構(gòu)數(shù)據(jù)和應(yīng)用源架構(gòu)數(shù)據(jù)確定目標(biāo)應(yīng)用的架構(gòu),從而可以確定出至少一個(gè)目標(biāo)接口,基于應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口繪制圖像數(shù)據(jù),能夠基于目標(biāo)應(yīng)用的架構(gòu)原理執(zhí)行,更加貼合應(yīng)用,減少對(duì)直播以及應(yīng)用操作的影響,提高用戶體驗(yàn)。
本實(shí)施例中,上述圖像繪制是基于目標(biāo)應(yīng)用的架構(gòu)原理執(zhí)行的,因此,可以預(yù)先確定目標(biāo)應(yīng)用的架構(gòu)以及在架構(gòu)下的接口、函數(shù)等信息,然后再全屏模式下提供圖像繪制。
一個(gè)可選實(shí)施例中,可以確定目標(biāo)應(yīng)用的架構(gòu)。
本實(shí)施例以游戲客戶端作為目標(biāo)應(yīng)用為例,該游戲客戶端可以采用DX的3D引擎,該3D引擎在Windows操作系統(tǒng)中是基于硬件圖形處理器(Graphics Processing Unit,GPU)加速,直接從內(nèi)存讀寫,可以規(guī)避消息機(jī)制。
參照?qǐng)D5,示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例提供的基于應(yīng)用映射架構(gòu)的繪制顯示方法實(shí)施例的步驟流程圖,具體可以包括如下步驟:
步驟502,對(duì)系統(tǒng)中創(chuàng)建函數(shù)進(jìn)行監(jiān)控,在所述創(chuàng)建函數(shù)創(chuàng)建目標(biāo)對(duì)象時(shí)掛起所述目標(biāo)對(duì)象。
預(yù)先對(duì)系統(tǒng)進(jìn)行監(jiān)控,監(jiān)控系統(tǒng)的創(chuàng)建函數(shù)如crate函數(shù),當(dāng)調(diào)用該創(chuàng)建函數(shù)創(chuàng)建目標(biāo)對(duì)象時(shí),可以掛起該目標(biāo)對(duì)象,即在初始化目標(biāo)對(duì)象時(shí)設(shè)置第一鉤子程序,從而在目標(biāo)對(duì)象的源頭設(shè)置鉤子程序。該目標(biāo)對(duì)象為系統(tǒng)的重要組件對(duì)象,用于執(zhí)行各種應(yīng)用所需的操作。
本發(fā)明實(shí)施例中,可以在各種系統(tǒng)的各種目標(biāo)對(duì)象設(shè)置鉤子程序,本實(shí)施例中以組件對(duì)象模型(Component Object Model,COM)作為目標(biāo)對(duì)象為例,可以在創(chuàng)建函數(shù)初始化COM組件時(shí),為COM組件設(shè)置第一鉤子程序,從而在COM組件的源頭設(shè)置鉤子,實(shí)現(xiàn)對(duì)COM組件的接管。
步驟504,在調(diào)用所述目標(biāo)對(duì)象創(chuàng)建目標(biāo)應(yīng)用時(shí)截獲應(yīng)用信息。
系統(tǒng)中部分應(yīng)用的創(chuàng)建、運(yùn)行等均需要目標(biāo)對(duì)象的參與,因此在目標(biāo)對(duì)象的源頭設(shè)置鉤子,就可以截獲各個(gè)針對(duì)目標(biāo)對(duì)象的調(diào)用,從而確定所需的信息。本實(shí)施例中,應(yīng)用在創(chuàng)建需要調(diào)用目標(biāo)對(duì)象執(zhí)行操作,因此可以通過第一鉤子程序截獲調(diào)用所述目標(biāo)對(duì)象時(shí)的應(yīng)用信息,該應(yīng)用信息用于指示創(chuàng)建該目標(biāo)應(yīng)用的應(yīng)用源架構(gòu)數(shù)據(jù)。即在目標(biāo)應(yīng)用創(chuàng)建時(shí)需要調(diào)用目標(biāo)對(duì)應(yīng)的一系列接口獲取數(shù)據(jù),并創(chuàng)建所需的函數(shù)對(duì)象等,通過該接口調(diào)用和函數(shù)對(duì)象可以確定出該目標(biāo)應(yīng)用的應(yīng)用源架構(gòu)數(shù)據(jù),從而啟動(dòng)并運(yùn)行該目標(biāo)應(yīng)用。
例如,游戲客戶端采用DirectX(Direct eXtension,DX)的3D引擎,該DirectX是由微軟公司創(chuàng)建的多媒體編程接口,由C++編程語言實(shí)現(xiàn),遵循COM組件。因此在啟動(dòng)運(yùn)行該游戲客戶端,涉及到3D引擎操作時(shí),需要調(diào)用COM組件,通過在COM組件設(shè)置的第一鉤子引擎,可以獲取調(diào)用COM組件的應(yīng)用信息,從而確定出該游戲客戶端的3D引擎的源架構(gòu)數(shù)據(jù),即獲知3D引擎運(yùn)行所需的各種接口以及函數(shù)對(duì)象等。
步驟506,在創(chuàng)建對(duì)象時(shí),依據(jù)所述應(yīng)用信息創(chuàng)建映射對(duì)象并指向源內(nèi)存地址,再創(chuàng)建源對(duì)象并指向所述源內(nèi)存地址。
步驟508,在各源對(duì)象對(duì)應(yīng)的各接口分別設(shè)置鉤子程序。
步驟510,依據(jù)映射對(duì)象和接口調(diào)用,搭建應(yīng)用映射架構(gòu)數(shù)據(jù)。
步驟512,依據(jù)源對(duì)象和接口調(diào)用,搭建應(yīng)用源架構(gòu)數(shù)據(jù)。
本實(shí)施例中,目標(biāo)對(duì)象創(chuàng)建目標(biāo)應(yīng)用相關(guān)內(nèi)容時(shí),可以創(chuàng)建所需對(duì)象依據(jù)確定需要調(diào)用的接口等信息,本實(shí)施例中,采用映射架構(gòu)數(shù)據(jù)搭建一個(gè)與應(yīng)用源架構(gòu)數(shù)據(jù)相同的外殼,但其實(shí)質(zhì)內(nèi)容仍然由應(yīng)用源架構(gòu)數(shù)據(jù)提供。因此,可以在該應(yīng)用信息需要?jiǎng)?chuàng)建對(duì)象時(shí),確定所需創(chuàng)建對(duì)象的相關(guān)信息,創(chuàng)建一個(gè)映射對(duì)象指向?qū)?yīng)的源內(nèi)存地址,然后創(chuàng)建源對(duì)象并指向所述源內(nèi)存地址。即依據(jù)該應(yīng)用信息確定所需定義的內(nèi)容,定義一個(gè)具有含義的映射對(duì)象,再定義原本需要定義的源對(duì)象,并且在各源對(duì)象所需的接口處分別設(shè)置鉤子程序,從而針對(duì)該目標(biāo)應(yīng)用可以設(shè)置一組鉤子程序,實(shí)現(xiàn)在入口級(jí)掛鉤子的調(diào)用方式。從而采用映射對(duì)象和接口調(diào)用搭建應(yīng)用映射架構(gòu)數(shù)據(jù),采用源對(duì)象和接口調(diào)用搭建應(yīng)用源架構(gòu)數(shù)據(jù),從而得到與該應(yīng)用源架構(gòu)數(shù)據(jù)相同的外殼即應(yīng)用映射架構(gòu)數(shù)據(jù),而該應(yīng)用映射架構(gòu)數(shù)據(jù)實(shí)際定義、調(diào)用的內(nèi)容可以與應(yīng)用源架構(gòu)數(shù)據(jù)對(duì)應(yīng),還可以映射到應(yīng)用源架構(gòu)數(shù)據(jù)中處理。
例如,游戲客戶端的3D引擎調(diào)用COM組件時(shí),截獲調(diào)用信息,例如調(diào)用信息指示創(chuàng)建函數(shù)A,該函數(shù)A調(diào)用接口B和函數(shù)C,函數(shù)C調(diào)用接口D、E,可以向創(chuàng)建映射函數(shù)A'和C',并且在接口B、D、E處分別設(shè)置鉤子程序以及建立映射函數(shù)的對(duì)應(yīng)關(guān)系,再創(chuàng)建源函數(shù)A和C以及與接口B、D、E的對(duì)應(yīng)關(guān)系,從而搭建一個(gè)與游戲客戶端的源架構(gòu)數(shù)據(jù)相同的外殼即映射架構(gòu)數(shù)據(jù),通過該映射架構(gòu)數(shù)據(jù)可以映射到源架構(gòu)數(shù)據(jù)。
步驟514,基于所述應(yīng)用映射架構(gòu)數(shù)據(jù),依據(jù)所述接口信息確定用于繪制顯示圖像的至少一個(gè)目標(biāo)接口。
在搭建應(yīng)用映射架構(gòu)數(shù)據(jù)時(shí)可以確定該目標(biāo)應(yīng)用所需調(diào)用的各種接口,以及各接口的功能等信息,因此可以確定出所需的至少一個(gè)目標(biāo)接口,該目標(biāo)接口包括用于繪制、渲染、顯示圖像的各種接口。即可以確定出與圖像相關(guān)的一系列目標(biāo)接口,且各目標(biāo)接口均注入了鉤子程序,從而后續(xù)可以直接通過鉤子程序調(diào)用目標(biāo)接口。
從而能夠在初始化時(shí)目標(biāo)應(yīng)用時(shí)截獲應(yīng)用信息,搭建所述目標(biāo)應(yīng)用的應(yīng)用映射架構(gòu)數(shù)據(jù)和應(yīng)用源架構(gòu)數(shù)據(jù),即分析出了目標(biāo)應(yīng)用的架構(gòu),便于后續(xù)基于該架構(gòu)執(zhí)行所需操作。
步驟516,基于目標(biāo)應(yīng)用進(jìn)行直播,獲取直播返回信息。
步驟518,依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像。
步驟520,獲取基于應(yīng)用源框架數(shù)據(jù)創(chuàng)建的第二顯示圖像,將所述第一顯示圖像和第二顯示圖像進(jìn)行疊加顯示。
步驟522,依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像和所述直播返回信息對(duì)應(yīng)第一顯示圖像的疊加圖像數(shù)據(jù)。
在終端中初始化目標(biāo)應(yīng)用時(shí)搭建應(yīng)用映射架構(gòu)數(shù)據(jù)和應(yīng)用源架構(gòu)數(shù)據(jù),并確定至少一個(gè)目標(biāo)接口。然后完成初始化可以啟動(dòng)該目標(biāo)應(yīng)用,目標(biāo)應(yīng)用在啟動(dòng)后進(jìn)入全屏模式。在該模式下可以采用應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用應(yīng)用源架構(gòu)數(shù)據(jù)進(jìn)行響應(yīng)?;谠撃繕?biāo)應(yīng)用的第二顯示圖像生成直播數(shù)據(jù),直播過程中可接收直播返回信息,然后基于應(yīng)用映射架構(gòu)數(shù)據(jù)所確定的架構(gòu)原理,基于直播返回信息調(diào)用目標(biāo)接口繪制、渲染第一顯示圖像。并且可以確定出該第一圖像的顯示位置,在目標(biāo)應(yīng)用的第二顯示圖像對(duì)應(yīng)位置疊加該第一圖像,從而實(shí)現(xiàn)在第二顯示圖像上疊加第一顯示圖像的顯示。還可以基于直播返回信息和目標(biāo)應(yīng)用的數(shù)據(jù)確定繪制數(shù)據(jù),基于該繪制數(shù)據(jù)調(diào)用目標(biāo)接口繪制、渲染第一顯示圖像和第二顯示圖像的疊加圖像數(shù)據(jù)。
例如通過COM組件初始化游戲客戶端時(shí),確定對(duì)應(yīng)源架構(gòu)數(shù)據(jù)和映射架構(gòu)數(shù)據(jù),依據(jù)該游戲客戶端在繪制、渲染、顯示圖像所需的目標(biāo)接口。初始化完成后可以運(yùn)行游戲客戶端并進(jìn)入全屏模式。用戶在玩游戲的過程中進(jìn)行游戲直播,對(duì)于直播的彈幕等數(shù)據(jù),可以基于3D引擎的圖像繪制原理、調(diào)用目標(biāo)接口繪制相應(yīng)的第一顯示圖像,將該第一圖像疊加到游戲客戶端顯示界面圖像上顯示,或者直接繪制疊加的圖像替代游戲客戶端顯示界面圖像。
實(shí)際上在目標(biāo)應(yīng)用運(yùn)行過程中,目標(biāo)應(yīng)用的界面圖像即第二顯示圖像可以是每幀都繪制顯示,響應(yīng)直播返回信息的第二顯示圖像也是每幀繪制后疊加顯示在第二顯示圖像上的,因此即使用戶角度圖像是靜止的,而在系統(tǒng)角度是每幀均繪制相應(yīng)的圖像。以游戲客戶端為例,所顯示的游戲界面圖像是每幀繪制、渲染顯示的,因此該游戲界面圖像上顯示的第一顯示圖像也是每幀繪制渲染后,疊加到相應(yīng)位置的游戲界面圖像上顯示的。
從而通過調(diào)用底層窗口直接繪制圖像并顯示的方式,可以繞過系統(tǒng)的通信機(jī)制(如Windows的消息機(jī)制),從而對(duì)于直播返回信息的顯示以及操縱也可以正常執(zhí)行且不會(huì)退出全屏,在保證用戶正常操作的基礎(chǔ)上,提高了用戶體驗(yàn)。
對(duì)于方法實(shí)施例,為了簡(jiǎn)單描述,故將其都表述為一系列的動(dòng)作組合,但是本領(lǐng)域技術(shù)人員應(yīng)該知悉,本發(fā)明實(shí)施例并不受所描述的動(dòng)作順序的限制,因?yàn)橐罁?jù)本發(fā)明實(shí)施例,某些步驟可以采用其他順序或者同時(shí)進(jìn)行。其次,本領(lǐng)域技術(shù)人員也應(yīng)該知悉,說明書中所描述的實(shí)施例均屬于優(yōu)選實(shí)施例,所涉及的動(dòng)作并不一定是本發(fā)明實(shí)施例所必須的。
在上述實(shí)施例的基礎(chǔ)上,本發(fā)明實(shí)施例還提供了一種直播數(shù)據(jù)顯示裝置。
參照?qǐng)D6,示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的一種直播數(shù)據(jù)顯示裝置實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:
獲取模塊602,用于在基于目標(biāo)應(yīng)用進(jìn)行直播的過程中,獲取直播返回信息,其中,所述直播返回信息用于反饋除視頻數(shù)據(jù)之外的信息,所述直播返回信息包括彈幕數(shù)據(jù)。
繪制顯示模塊604,用于繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,其中,所述第二顯示圖像用于生成直播視頻數(shù)據(jù)。
綜上,在采用目標(biāo)應(yīng)用的第二顯示圖像生成直播視頻數(shù)據(jù)進(jìn)行直播時(shí),可以獲取不攜帶視頻數(shù)據(jù)的直播返回信息,該直播返回信息包括彈幕數(shù)據(jù),繪制該直播返回信息對(duì)應(yīng)的第一顯示圖像,將第一顯示圖像疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,從而便于主播獲取返回的互動(dòng)消息與觀看用戶進(jìn)行互動(dòng),并且直播返回信息不攜帶直播視頻數(shù)據(jù),能夠有效減少對(duì)帶寬資源的占用,保證直播的穩(wěn)定性。
參照?qǐng)D7,示出了根據(jù)本發(fā)明另一個(gè)實(shí)施例的一種直播數(shù)據(jù)顯示裝置實(shí)施例的結(jié)構(gòu)框圖,具體可以包括如下模塊:
初始化模塊606,用于預(yù)先通過掛起的目標(biāo)對(duì)象,在初始化目標(biāo)應(yīng)用創(chuàng)建應(yīng)用映射架構(gòu)數(shù)據(jù)和應(yīng)用源架構(gòu)數(shù)據(jù);依據(jù)所述應(yīng)用映射架構(gòu)數(shù)據(jù)確定至少一個(gè)目標(biāo)接口。
獲取模塊602,用于在基于目標(biāo)應(yīng)用進(jìn)行直播的過程中,獲取直播返回信息,其中,所述直播返回信息用于反饋除視頻數(shù)據(jù)之外的信息,所述直播返回信息包括彈幕數(shù)據(jù)。
繪制顯示模塊604,用于繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,其中,所述第二顯示圖像用于生成直播視頻數(shù)據(jù)。
直播模塊608,用于依據(jù)所述第二顯示圖像生成直播視頻數(shù)據(jù),上傳所述直播視頻數(shù)據(jù)。所述直播返回信息還包括:業(yè)務(wù)數(shù)據(jù)和/或非公開信息。
其中,繪制顯示模塊604包括:繪制子模塊6042和顯示子模塊6044。
一個(gè)可選實(shí)施例中,繪制子模塊6042用于生成子窗口并在所述子窗口繪制順序展示所述直播返回信息的第一顯示圖像;顯示子模塊6044,用于將所述子窗口設(shè)置在所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示。
另一個(gè)可選實(shí)施例中,繪制子模塊6042,用于生成透明窗口并在所述透明窗口上繪制動(dòng)態(tài)展示直播返回信息的第一顯示圖像;顯示子模塊6044,用于將所述透明窗口疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示。
又一個(gè)可選實(shí)施例中,繪制子模塊6042,用于依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,其中,所述應(yīng)用映射架構(gòu)數(shù)據(jù)是依據(jù)所述目標(biāo)應(yīng)用的應(yīng)用源框架數(shù)據(jù)確定的。顯示子模塊6044,用于獲取基于應(yīng)用源框架數(shù)據(jù)創(chuàng)建的第二顯示圖像,將所述第一顯示圖像和第二顯示圖像進(jìn)行疊加顯示。
其中,繪制顯示模塊604,用于依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像和所述直播返回信息對(duì)應(yīng)第一顯示圖像的疊加圖像數(shù)據(jù)。
其中,其中,初始化模塊606,包括:
掛起子模塊6062,用于對(duì)系統(tǒng)中創(chuàng)建函數(shù)進(jìn)行監(jiān)控,在所述創(chuàng)建函數(shù)創(chuàng)建目標(biāo)對(duì)象時(shí)掛起所述目標(biāo)對(duì)象。
架構(gòu)搭建子模塊6064,用于在所述目標(biāo)對(duì)象初始化目標(biāo)應(yīng)用創(chuàng)建應(yīng)用,依據(jù)所述應(yīng)用信息確定映射對(duì)象和接口調(diào)用,搭建應(yīng)用映射架構(gòu)數(shù)據(jù),再依據(jù)所述應(yīng)用信息確定源對(duì)象和接口調(diào)用,搭建應(yīng)用源架構(gòu)數(shù)據(jù)。
其中,架構(gòu)搭建子模塊6064,還用于在創(chuàng)建對(duì)象時(shí),依據(jù)所述應(yīng)用信息創(chuàng)建映射對(duì)象并指向源內(nèi)存地址,再創(chuàng)建源對(duì)象并指向所述源內(nèi)存地址;在調(diào)用接口時(shí),依據(jù)所述應(yīng)用信息在對(duì)應(yīng)各接口處設(shè)置一組鉤子程序,并確定各接口的接口信息。
初始化模塊606,還包括:接口分析子模塊6066,用于基于所述應(yīng)用映射架構(gòu)數(shù)據(jù),依據(jù)所述接口信息確定用于繪制顯示圖像的至少一個(gè)目標(biāo)接口。
從而通過調(diào)用底層窗口直接繪制圖像并顯示的方式,可以繞過系統(tǒng)的通信機(jī)制(如Windows的消息機(jī)制),從而對(duì)于直播返回信息的顯示以及操縱也可以正常執(zhí)行且不會(huì)退出全屏,在保證用戶正常操作的基礎(chǔ)上,提高了用戶體驗(yàn)。
對(duì)于裝置實(shí)施例而言,由于其與方法實(shí)施例基本相似,所以描述的比較簡(jiǎn)單,相關(guān)之處參見方法實(shí)施例的部分說明即可。
在此提供的算法和顯示不與任何特定計(jì)算機(jī)、虛擬系統(tǒng)或者其它設(shè)備固有相關(guān)。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構(gòu)造這類系統(tǒng)所要求的結(jié)構(gòu)是顯而易見的。此外,本發(fā)明也不針對(duì)任何特定編程語言。應(yīng)當(dāng)明白,可以利用各種編程語言實(shí)現(xiàn)在此描述的本發(fā)明的內(nèi)容,并且上面對(duì)特定語言所做的描述是為了披露本發(fā)明的最佳實(shí)施方式。
在此處所提供的說明書中,說明了大量具體細(xì)節(jié)。然而,能夠理解,本發(fā)明的實(shí)施例可以在沒有這些具體細(xì)節(jié)的情況下實(shí)踐。在一些實(shí)例中,并未詳細(xì)示出公知的方法、結(jié)構(gòu)和技術(shù),以便不模糊對(duì)本說明書的理解。
類似地,應(yīng)當(dāng)理解,為了精簡(jiǎn)本公開并幫助理解各個(gè)發(fā)明方面中的一個(gè)或多個(gè),在上面對(duì)本發(fā)明的示例性實(shí)施例的描述中,本發(fā)明的各個(gè)特征有時(shí)被一起分組到單個(gè)實(shí)施例、圖、或者對(duì)其的描述中。然而,并不應(yīng)將該公開的方法解釋成反映如下意圖:即所要求保護(hù)的本發(fā)明要求比在每個(gè)權(quán)利要求中所明確記載的特征更多的特征。更確切地說,如下面的權(quán)利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個(gè)實(shí)施例的所有特征。因此,遵循具體實(shí)施方式的權(quán)利要求書由此明確地并入該具體實(shí)施方式,其中每個(gè)權(quán)利要求本身都作為本發(fā)明的單獨(dú)實(shí)施例。
本領(lǐng)域那些技術(shù)人員可以理解,可以對(duì)實(shí)施例中的設(shè)備中的模塊進(jìn)行自適應(yīng)性地改變并且把它們?cè)O(shè)置在與該實(shí)施例不同的一個(gè)或多個(gè)設(shè)備中??梢园褜?shí)施例中的模塊或單元或組件組合成一個(gè)模塊或單元或組件,以及此外可以把它們分成多個(gè)子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對(duì)本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設(shè)備的所有過程或單元進(jìn)行組合。除非另外明確陳述,本說明書(包括伴隨的權(quán)利要求、摘要和附圖)中公開的每個(gè)特征可以由提供相同、等同或相似目的的替代特征來代替。
此外,本領(lǐng)域的技術(shù)人員能夠理解,盡管在此所述的一些實(shí)施例包括其它實(shí)施例中所包括的某些特征而不是其它特征,但是不同實(shí)施例的特征的組合意味著處于本發(fā)明的范圍之內(nèi)并且形成不同的實(shí)施例。例如,在下面的權(quán)利要求書中,所要求保護(hù)的實(shí)施例的任意之一都可以以任意的組合方式來使用。
本發(fā)明的各個(gè)部件實(shí)施例可以以硬件實(shí)現(xiàn),或者以在一個(gè)或者多個(gè)處理器上運(yùn)行的軟件模塊實(shí)現(xiàn),或者以它們的組合實(shí)現(xiàn)。本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)理解,可以在實(shí)踐中使用微處理器或者數(shù)字信號(hào)處理器(DSP)來實(shí)現(xiàn)根據(jù)本發(fā)明實(shí)施例的一種直播數(shù)據(jù)顯示方法和一種直播數(shù)據(jù)顯示裝置設(shè)備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實(shí)現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設(shè)備或者裝置程序(例如,計(jì)算機(jī)程序和計(jì)算機(jī)程序產(chǎn)品)。這樣的實(shí)現(xiàn)本發(fā)明的程序可以存儲(chǔ)在計(jì)算機(jī)可讀介質(zhì)上,或者可以具有一個(gè)或者多個(gè)信號(hào)的形式。這樣的信號(hào)可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號(hào)上提供,或者以任何其他形式提供。
應(yīng)該注意的是上述實(shí)施例對(duì)本發(fā)明進(jìn)行說明而不是對(duì)本發(fā)明進(jìn)行限制,并且本領(lǐng)域技術(shù)人員在不脫離所附權(quán)利要求的范圍的情況下可設(shè)計(jì)出替換實(shí)施例。在權(quán)利要求中,不應(yīng)將位于括號(hào)之間的任何參考符號(hào)構(gòu)造成對(duì)權(quán)利要求的限制。單詞“包含”不排除存在未列在權(quán)利要求中的元件或步驟。位于元件之前的單詞“一”或“一個(gè)”不排除存在多個(gè)這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當(dāng)編程的計(jì)算機(jī)來實(shí)現(xiàn)。在列舉了若干裝置的單元權(quán)利要求中,這些裝置中的若干個(gè)可以是通過同一個(gè)硬件項(xiàng)來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
本發(fā)明公開了A1、一種直播數(shù)據(jù)顯示方法,包括:在基于目標(biāo)應(yīng)用進(jìn)行直播的過程中,獲取直播返回信息,其中,所述直播返回信息用于反饋除視頻數(shù)據(jù)之外的信息,所述直播返回信息包括彈幕數(shù)據(jù);繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,其中,所述第二顯示圖像用于生成直播視頻數(shù)據(jù)。
A2、如A1所述的方法,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,包括:生成子窗口并在所述子窗口繪制順序展示所述直播返回信息的第一顯示圖像;將所述子窗口設(shè)置在所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示。
A3、如A1所述的方法,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,包括:生成透明窗口并在所述透明窗口上繪制動(dòng)態(tài)展示直播返回信息的第一顯示圖像;將所述透明窗口疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示。
A4、如A1所述的方法,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,包括:依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,其中,所述應(yīng)用映射架構(gòu)數(shù)據(jù)是依據(jù)所述目標(biāo)應(yīng)用的應(yīng)用源框架數(shù)據(jù)確定的。
A5、如A4所述的方法,疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,包括:獲取基于應(yīng)用源框架數(shù)據(jù)創(chuàng)建的第二顯示圖像,將所述第一顯示圖像和第二顯示圖像進(jìn)行疊加顯示。
A6、如A1所述的方法,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,包括:依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像和所述直播返回信息對(duì)應(yīng)第一顯示圖像的疊加圖像數(shù)據(jù)。
A7、如A4-A6任一所述的方法,還包括:預(yù)先通過掛起的目標(biāo)對(duì)象,在初始化所述目標(biāo)應(yīng)用創(chuàng)建應(yīng)用映射架構(gòu)數(shù)據(jù)和應(yīng)用源架構(gòu)數(shù)據(jù);依據(jù)所述應(yīng)用映射架構(gòu)數(shù)據(jù)確定至少一個(gè)目標(biāo)接口。
A8、如A7所述的方法,所述預(yù)先通過掛起的目標(biāo)對(duì)象,在初始化目標(biāo)應(yīng)用創(chuàng)建應(yīng)用映射架構(gòu)數(shù)據(jù)和應(yīng)用源架構(gòu)數(shù)據(jù),包括:對(duì)系統(tǒng)中創(chuàng)建函數(shù)進(jìn)行監(jiān)控,在所述創(chuàng)建函數(shù)創(chuàng)建目標(biāo)對(duì)象時(shí)掛起所述目標(biāo)對(duì)象;在所述目標(biāo)對(duì)象初始化目標(biāo)應(yīng)用時(shí),依據(jù)所述應(yīng)用信息確定映射對(duì)象和接口調(diào)用,搭建應(yīng)用映射架構(gòu)數(shù)據(jù),再依據(jù)所述應(yīng)用信息確定源對(duì)象和接口調(diào)用,搭建應(yīng)用源架構(gòu)數(shù)據(jù)。
A9、如A8所述的方法還包括:在創(chuàng)建對(duì)象時(shí),依據(jù)所述應(yīng)用信息創(chuàng)建映射對(duì)象并指向源內(nèi)存地址,再創(chuàng)建源對(duì)象并指向所述源內(nèi)存地址;在調(diào)用接口時(shí),依據(jù)所述應(yīng)用信息在對(duì)應(yīng)各接口處設(shè)置一組鉤子程序,并確定各接口的接口信息。
A10、如A9所述的方法,依據(jù)所述應(yīng)用映射架構(gòu)數(shù)據(jù)確定至少一個(gè)目標(biāo)接口,包括:基于所述應(yīng)用映射架構(gòu)數(shù)據(jù),依據(jù)所述接口信息確定用于繪制顯示圖像的至少一個(gè)目標(biāo)接口。
A11、如A1所述的方法,還包括:依據(jù)所述第二顯示圖像生成直播視頻數(shù)據(jù),上傳所述直播視頻數(shù)據(jù)。
A12、如A1-A6任一所述的方法,所述直播返回信息還包括:業(yè)務(wù)數(shù)據(jù)和/或非公開信息。
本發(fā)明還提供了B13、一種直播數(shù)據(jù)顯示裝置,包括:獲取模塊,用于在基于目標(biāo)應(yīng)用進(jìn)行直播的過程中,獲取直播返回信息,其中,所述直播返回信息用于反饋除視頻數(shù)據(jù)之外的信息,所述直播返回信息包括彈幕數(shù)據(jù);繪制顯示模塊,用于繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,并疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示,其中,所述第二顯示圖像用于生成直播視頻數(shù)據(jù)。
B14、如B13所述的裝置,所述繪制顯示模塊,包括:繪制子模塊,用于生成子窗口并在所述子窗口繪制順序展示所述直播返回信息的第一顯示圖像;顯示子模塊,用于將所述子窗口設(shè)置在所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示。
B15、如B13所述的裝置,所述繪制顯示模塊,包括:繪制子模塊,用于生成透明窗口并在所述透明窗口上繪制動(dòng)態(tài)展示直播返回信息的第一顯示圖像;顯示子模塊,用于將所述透明窗口疊加到所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像上進(jìn)行顯示。
B16、如B13所述的裝置,所述繪制顯示模塊,包括:繪制子模塊,用于依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述直播返回信息對(duì)應(yīng)的第一顯示圖像,其中,所述應(yīng)用映射架構(gòu)數(shù)據(jù)是依據(jù)所述目標(biāo)應(yīng)用的應(yīng)用源框架數(shù)據(jù)確定的。
B17、如B16所述的裝置,所述繪制顯示模塊,還包括:顯示子模塊,用于獲取基于應(yīng)用源框架數(shù)據(jù)創(chuàng)建的第二顯示圖像,將所述第一顯示圖像和第二顯示圖像進(jìn)行疊加顯示。
B18、如B13所述的裝置,所述繪制顯示模塊,用于依據(jù)應(yīng)用映射架構(gòu)數(shù)據(jù)調(diào)用所述目標(biāo)接口,繪制所述目標(biāo)應(yīng)用對(duì)應(yīng)第二顯示圖像和所述直播返回信息對(duì)應(yīng)第一顯示圖像的疊加圖像數(shù)據(jù)。
B19、如B16-B18任一所述的裝置,還包括:初始化模塊,用于預(yù)先通過掛起的目標(biāo)對(duì)象,在初始化目標(biāo)應(yīng)用創(chuàng)建應(yīng)用映射架構(gòu)數(shù)據(jù)和應(yīng)用源架構(gòu)數(shù)據(jù);依據(jù)所述應(yīng)用映射架構(gòu)數(shù)據(jù)確定至少一個(gè)目標(biāo)接口。
B20、如B19所述的裝置,初始化模塊,包括:掛起子模塊,用于對(duì)系統(tǒng)中創(chuàng)建函數(shù)進(jìn)行監(jiān)控,在所述創(chuàng)建函數(shù)創(chuàng)建目標(biāo)對(duì)象時(shí)掛起所述目標(biāo)對(duì)象;架構(gòu)搭建子模塊,用于在所述目標(biāo)對(duì)象初始化目標(biāo)應(yīng)用創(chuàng)建應(yīng)用,依據(jù)所述應(yīng)用信息確定映射對(duì)象和接口調(diào)用,搭建應(yīng)用映射架構(gòu)數(shù)據(jù),再依據(jù)所述應(yīng)用信息確定源對(duì)象和接口調(diào)用,搭建應(yīng)用源架構(gòu)數(shù)據(jù)。
B21、如B20所述的裝置,架構(gòu)搭建子模塊,還用于在創(chuàng)建對(duì)象時(shí),依據(jù)所述應(yīng)用信息創(chuàng)建映射對(duì)象并指向源內(nèi)存地址,再創(chuàng)建源對(duì)象并指向所述源內(nèi)存地址;在調(diào)用接口時(shí),依據(jù)所述應(yīng)用信息在對(duì)應(yīng)各接口處設(shè)置一組鉤子程序,并確定各接口的接口信息。
B22、如B13所述的裝置,初始化模塊,還包括:接口分析子模塊,用于基于所述應(yīng)用映射架構(gòu)數(shù)據(jù),依據(jù)所述接口信息確定用于繪制顯示圖像的至少一個(gè)目標(biāo)接口。
B23、如B13所述的裝置,還包括:直播模塊,用于依據(jù)所述第二顯示圖像生成直播視頻數(shù)據(jù),上傳所述直播視頻數(shù)據(jù)。
B24、如B13-B18任一所述的裝置,所述直播返回信息還包括:業(yè)務(wù)數(shù)據(jù)和/或非公開信息。