基于終端屏幕內容的直播方法及裝置的制造方法
【專利摘要】本發(fā)明公開了一種基于終端屏幕內容的直播方法及裝置。其中,方法包括:接收用戶輸入的屏幕內容直播請求;根據(jù)屏幕內容直播請求,創(chuàng)建虛擬屏幕;在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上;依據(jù)虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù);將視頻數(shù)據(jù)傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端。根據(jù)本發(fā)明提供的方案,可以將用戶的終端的屏幕內容直播給其他用戶的終端,使其他用戶能夠觀看到該用戶的終端所播放的內容,解決了現(xiàn)有技術通過截屏方式獲取終端屏幕內容而導致的效率低,且影響用戶正常使用的缺陷,進一步提升了性能。
【專利說明】
基于終端屏幕內容的直播方法及裝置
技術領域
[0001]本發(fā)明涉及終端應用技術領域,具體涉及一種基于終端屏幕內容的直播方法及裝置。
【背景技術】
[0002]在互聯(lián)網(wǎng)越來越高速發(fā)展的今天,用戶對于互聯(lián)網(wǎng)的應用也越來越廣泛,用戶可以通過互聯(lián)網(wǎng)觀看視頻直播或者聯(lián)網(wǎng)玩游戲等等?,F(xiàn)在很多用戶都希望可以通過直播方式將自己正在觀看的視頻直播給其他用戶觀看,或者將自己玩游戲的過程直播給其他用戶觀看。
[0003]在現(xiàn)有的技術方案中,一般是采用0penGL(0pen Graphics Library,開放圖形庫)技術對終端的屏幕進行抓屏,OpenGL技術需要重計算和重繪,而且,每秒鐘僅能抓取2_3幀的圖像,效率很低且影響要求直播的用戶的正常使用,且不能將用戶的終端屏幕的所有屏幕內容全部展示給其他用戶。
【發(fā)明內容】
[0004]鑒于上述問題,提出了本發(fā)明以便提供一種克服上述問題或者至少部分地解決上述問題的基于終端屏幕內容的直播方法和相應的基于終端屏幕內容的直播裝置。
[0005]根據(jù)本發(fā)明的一個方面,提供了一種基于終端屏幕內容的直播方法,其包括:
[0006]接收用戶輸入的屏幕內容直播請求;
[0007]根據(jù)屏幕內容直播請求,創(chuàng)建虛擬屏幕;
[0008]在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上;
[0009]依據(jù)虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù);
[0010]將視頻數(shù)據(jù)傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端。
[0011]根據(jù)本發(fā)明的另一方面,提供了一種基于終端屏幕內容的直播裝置,其包括:
[0012]接收模塊,適于接收用戶輸入的屏幕內容直播請求;
[0013 ]第一創(chuàng)建模塊,適于根據(jù)屏幕內容直播請求,創(chuàng)建虛擬屏幕;
[0014]繪制模塊,適于在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上;
[0015]生成模塊,適于依據(jù)虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù);
[0016]傳輸模塊,適于將視頻數(shù)據(jù)傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端。
[0017]根據(jù)本發(fā)明提供的方案,根據(jù)用戶輸入的屏幕內容直播請求創(chuàng)建虛擬屏幕,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上,依據(jù)虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù),將視頻數(shù)據(jù)傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端?;诒景l(fā)明提供的方案,可以將用戶的終端的屏幕內容直播給其他用戶的終端,使其他用戶能夠觀看到該用戶的終端所播放的內容,解決了現(xiàn)有技術通過截屏方式獲取終端屏幕內容而導致的效率低,且影響用戶正常使用的缺陷,使其他用戶能夠觀看到全部的屏幕內容,進一步提升了性能。
[0018]上述說明僅是本發(fā)明技術方案的概述,為了能夠更清楚了解本發(fā)明的技術手段,而可依照說明書的內容予以實施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點能夠更明顯易懂,以下特舉本發(fā)明的【具體實施方式】。
【附圖說明】
[0019]通過閱讀下文優(yōu)選實施方式的詳細描述,各種其他的優(yōu)點和益處對于本領域普通技術人員將變得清楚明了。附圖僅用于示出優(yōu)選實施方式的目的,而并不認為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0020]圖1示出了根據(jù)本發(fā)明一個實施例的基于終端屏幕內容的直播方法的流程圖;
[0021]圖2示出了根據(jù)本發(fā)明另一個實施例的基于終端屏幕內容的直播方法的流程圖;
[0022]圖3示出了根據(jù)本發(fā)明一個實施例的基于終端屏幕內容的直播裝置的結構框圖;
[0023]圖4示出了根據(jù)本發(fā)明另一個實施例的基于終端屏幕內容的直播裝置的結構框圖。
【具體實施方式】
[0024]下面將參照附圖更詳細地描述本公開的示例性實施例。雖然附圖中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現(xiàn)本公開而不應被這里闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,并且能夠將本公開的范圍完整的傳達給本領域的技術人員。
[0025]本發(fā)明以下實施例主要是對Android系統(tǒng)的移動終端的屏幕內容進行直播,用戶可以對其移動終端的屏幕上播放的內容進行直播,以使其他移動終端的用戶可以觀看該用戶的移動終端的屏幕上播放的內容。例如,可以對用戶正在觀看的視頻或者正在玩的游戲進行直播,使得其他用戶可以觀看到該用戶播放的視頻,或者玩游戲的過程。當然,并不限于視頻或游戲,用戶可以對其他內容進行直播,例如,用戶對移動終端的操作過程等,本發(fā)明實施例對此不作具體限定。
[0026]圖1示出了根據(jù)本發(fā)明一個實施例的基于終端屏幕內容的直播方法的流程圖。如圖1所示,該方法包括以下步驟:
[0027]步驟S100,接收用戶輸入的屏幕內容直播請求。
[0028]具體地,在利用應用播放視頻或游戲時,應用會提供直播按鈕,該直播按鈕用于將應用正在播放的視頻或游戲等進行直播。檢測到用戶點擊直播按鈕的操作,將檢測到的用戶點擊直播按鈕的操作作為接收到用戶輸入的屏幕內容直播請求。除了上述接收用戶輸入的屏幕內容直播請求的方式外,還可以采用其他方式,本實施例對此不作具體限定。
[0029]步驟SlOl,根據(jù)屏幕內容直播請求,創(chuàng)建虛擬屏幕。
[0030]其中,虛擬屏幕是根據(jù)直播需求而創(chuàng)建的,其并不是真正意義上的屏幕,用戶是無法觸摸感知的。具體地,在接收到用戶輸入的屏幕內容直播請求后,根據(jù)該屏幕內容直播請求,創(chuàng)建虛擬屏幕。
[0031]步驟S102,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上。
[0032]其中,主屏幕是移動終端自帶的屏幕,該屏幕是用戶與移動終端交互的窗口,用戶所有的操作均是通過主屏幕來呈現(xiàn)的,例如,播放視頻、游戲,以及用戶的其他操作。
[0033]在實際應用中,將屏幕內容繪制到終端主屏幕上之后,用戶才能夠觀看到相應的內容,例如視頻或游戲,以游戲為例,在屏幕內容繪制到終端主屏幕后,用戶才可以在游戲界面進行相應的操作。具體地,在根據(jù)步驟SlOl創(chuàng)建虛擬屏幕之后,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上,以使虛擬屏幕提供相應的屏幕內容,從而完成了對移動終端的屏幕內容抓屏。
[0034]步驟S103,依據(jù)虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù)。
[0035]在將屏幕內容繪制到虛擬屏幕之后,可以依據(jù)虛擬屏幕所提供的屏幕內容,生成視頻數(shù)據(jù),該視頻數(shù)據(jù)包含了在用戶輸入直播請求之后繪制到主屏幕的屏幕內容。
[0036]步驟S104,將視頻數(shù)據(jù)傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端。
[0037]將步驟S103中生成的視頻數(shù)據(jù)傳輸給服務器,服務器可以將視頻數(shù)據(jù)直播給其他終端,使擁有其他終端的用戶能夠觀看到該用戶的移動終端的屏幕所播放的內容。
[0038]根據(jù)本發(fā)明上述實施例提供的方法,根據(jù)用戶輸入的屏幕內容直播請求創(chuàng)建虛擬屏幕,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上,依據(jù)虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù),將視頻數(shù)據(jù)傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端。基于上述實施例的方案,可以將用戶的終端的屏幕內容直播給其他用戶的終端,使其他用戶能夠觀看到該用戶的終端所播放的內容,解決了現(xiàn)有技術通過截屏方式獲取終端屏幕內容而導致的效率低,且影響用戶正常使用的缺陷,進一步提升了性能。
[0039]圖2示出了根據(jù)本發(fā)明另一個實施例的基于終端屏幕內容的直播方法的流程圖。如圖2所示,該方法包括以下步驟:
[0040]步驟S200,接收用戶輸入的屏幕內容直播請求。
[0041]具體地,在利用應用播放視頻或游戲時,應用會提供直播按鈕,該直播按鈕用于將應用正在播放的視頻或游戲等進行直播。檢測到用戶點擊直播按鈕的操作,將檢測到的用戶點擊直播按鈕的操作作為接收到用戶輸入的屏幕內容直播請求。除了上述接收用戶輸入的屏幕內容直播請求的方式外,還可以采用其他方式,本實施例對此不作具體限定。
[0042]步驟S201,根據(jù)屏幕內容直播請求,創(chuàng)建媒體投影機管理員。
[0043]具體地,在接收到用戶輸入的屏幕內容直播請求后,根據(jù)該屏幕內容直播請求,創(chuàng)建媒體投影機管理員。
[0044]步驟S202,查詢是否具有錄制屏幕的權限,若是,則執(zhí)行步驟S203;若否,則返回至步驟S201。
[0045]錄制屏幕的權限標識了是否允許對移動終端的屏幕內容進行錄制并直播,若具有錄制屏幕的權限,說明允許對移動終端的屏幕內容進行錄制并直播,若不具有錄制屏幕的權限,說明不允許對移動終端的屏幕內容進行錄制并直播,需要重新創(chuàng)建投影機管理員。
[0046]步驟S203,構建媒體投影機。
[0047]其中,媒體投影機用于將屏幕內容投影到虛擬屏幕上。在查詢到具有錄制屏幕的權限后,構建媒體投影機,以將屏幕內容投影到虛擬屏幕上。
[0048]在構建媒體投影機之后,需要判斷是否成功構建媒體投影機,若成功構建媒體投影機,則執(zhí)行步驟S204;若否,則說明媒體投影機構建失敗,需要重新創(chuàng)建投影機管理員。
[0049]步驟S204,創(chuàng)建虛擬畫布。
[0050]在根據(jù)步驟S203構建媒體投影機之后,創(chuàng)建虛擬畫布,其中,屏幕內容被投影到虛擬畫布。
[0051 ] 在創(chuàng)建虛擬畫布之后,需要判斷是否成功創(chuàng)建虛擬畫布,若成功創(chuàng)建了虛擬畫布,則執(zhí)行步驟S205;若否,則說明虛擬畫布創(chuàng)建失敗,需要重新創(chuàng)建投影機管理員。
[0052]步驟S205,使用虛擬畫布作為參數(shù)構建虛擬屏幕。
[0053]在根據(jù)步驟S204創(chuàng)建虛擬畫布之后,利用該虛擬畫面作為參數(shù)構建虛擬屏幕,例如,可以依據(jù)虛擬畫布確定構建虛擬屏幕的尺寸大小。
[0054]在創(chuàng)建虛擬屏幕之后,需要判斷是否成功創(chuàng)建虛擬屏幕,若成功創(chuàng)建了虛擬屏幕,則執(zhí)行步驟S206;若否,則說明虛擬屏幕創(chuàng)建失敗,需要重新創(chuàng)建投影機管理員。
[0055]步驟S206,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上。
[0056]其中,主屏幕是移動終端自帶的屏幕,該屏幕是用戶與移動終端交互的窗口,用戶所有的操作均是通過主屏幕來呈現(xiàn)的,例如,播放視頻、游戲,以及用戶的其他操作。
[0057]在實際應用中,將屏幕內容繪制到終端主屏幕上之后,用戶才能夠觀看到相應的內容,例如視頻或游戲,以游戲為例,在屏幕內容繪制到終端主屏幕后,用戶才可以在游戲界面進行相應的操作。具體地,所述終端主屏幕和所述虛擬屏幕共用圖像緩存隊列,在根據(jù)步驟S205創(chuàng)建虛擬屏幕之后,從圖形緩存隊列中獲取圖像,即相應的屏幕內容,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上,以使虛擬屏幕提供相應的屏幕內容,從而完成了對移動終端的屏幕內容抓屏。
[0058]步驟S207,將虛擬屏幕提供的屏幕內容進行編碼處理,生成視頻數(shù)據(jù)。
[0059]在將屏幕內容繪制到虛擬屏幕之后,對虛擬屏幕所提供的屏幕內容進行編碼處理,生成視頻數(shù)據(jù),該視頻數(shù)據(jù)包含了在用戶輸入直播請求之后繪制到主屏幕的屏幕內容。
[0060]步驟S208,將視頻數(shù)據(jù)傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端。
[0061]將步驟S207中生成的視頻數(shù)據(jù)傳輸給服務器,服務器可以將視頻數(shù)據(jù)直播給其他終端,使擁有其他終端的用戶能夠觀看到該用戶的移動終端的屏幕所播放的內容。
[0062]在本實施例的一個可能的實現(xiàn)方式中,上述視頻數(shù)據(jù)為視頻文件,其中,視頻文件是一種可以線下播放的文件,可以根據(jù)需求隨時播放,且不可再編輯。在生成視頻文件后,該方法還包括:將所述視頻文件存儲到終端本地,視頻文件存儲到終端本地后,可以根據(jù)用戶的設置或請求將存儲到終端本地的視頻文件傳輸給服務器,而且還可以重復傳輸給服務器,以使服務器重復將視頻數(shù)據(jù)直播給其它終端。
[0063]具體地,可以定時將存儲到終端本地的視頻文件傳輸給服務器,例如,預先設定時間,到達定時時間后,將存儲到終端本地的視頻文件傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端。
[0064]或者,依據(jù)用戶輸入的上傳請求,將存儲到終端本地的視頻文件傳輸給服務器,例如,當用戶想要將存儲到終端本地的視頻文件提供給其他終端的用戶觀看時,可以點擊上傳按鈕,在接收到用戶輸入的上傳請求后,依據(jù)用戶輸入的上傳請求,將存儲到終端本地的視頻文件傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端。
[0065]在本實施例的一個可能的實現(xiàn)方式中,上述視頻數(shù)據(jù)為視頻數(shù)據(jù)流,其中,視頻數(shù)據(jù)流是一種線上播放的文件,在生成視頻數(shù)據(jù)流,將所述視頻數(shù)據(jù)流傳輸給服務器,以供所述服務器將所述視頻數(shù)據(jù)流同步直播給其它終端。
[0066]根據(jù)本發(fā)明上述實施例提供的方法,查詢是否具有錄制屏幕的權限,能夠保證用戶終端屏幕內容僅在具有權限的情況才直播給其他終端,提升了安全性,在具有錄制屏幕的權限的情況下,構建媒體投影機,創(chuàng)建虛擬畫布,使用虛擬畫布作為參數(shù)構建虛擬屏幕,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上,將虛擬屏幕提供的屏幕內容進行編碼處理,生成視頻數(shù)據(jù),將視頻數(shù)據(jù)傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端,從而將用戶的終端的屏幕內容直播給其他用戶的終端,使其他用戶能夠觀看到該用戶的終端所播放的內容,解決了現(xiàn)有技術通過截屏方式獲取終端屏幕內容而導致的效率低,且影響用戶正常使用的缺陷,進一步提升了對終端屏幕內容的抓取效率,f生會。
[0067]圖3示出了根據(jù)本發(fā)明一個實施例的基于終端屏幕內容的直播裝置的結構框圖。如圖3所示,該裝置包括:接收模塊300、第一創(chuàng)建模塊310、繪制模塊320、生成模塊330和傳輸模塊340。
[0068]接收模塊300,適于接收用戶輸入的屏幕內容直播請求。
[0069]具體地,在利用應用播放視頻或游戲時,應用會提供直播按鈕,該直播按鈕用于將應用正在播放的視頻或游戲等進行直播。檢測到用戶點擊直播按鈕的操作,將檢測到的用戶點擊直播按鈕的操作作為接收到用戶輸入的屏幕內容直播請求。除了上述接收用戶輸入的屏幕內容直播請求的方式外,還可以采用其他方式,本實施例對此不作具體限定。
[0070]第一創(chuàng)建模塊310,適于根據(jù)屏幕內容直播請求,創(chuàng)建虛擬屏幕。
[0071]其中,虛擬屏幕是根據(jù)直播需求而創(chuàng)建的,其并不是真正意義上的屏幕,用戶是無法觸摸感知的。具體地,在接收到用戶輸入的屏幕內容直播請求后,根據(jù)該屏幕內容直播請求,創(chuàng)建虛擬屏幕。
[0072]繪制模塊320,適于在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上。
[0073]其中,主屏幕是移動終端自帶的屏幕,該屏幕是用戶與移動終端交互的窗口,用戶所有的操作均是通過主屏幕來呈現(xiàn)的,例如,播放視頻、游戲,以及用戶的其他操作。
[0074]在實際應用中,將屏幕內容繪制到終端主屏幕上之后,用戶才能夠觀看到相應的內容,例如視頻或游戲,以游戲為例,在屏幕內容繪制到終端主屏幕后,用戶才可以在游戲界面進行相應的操作。具體地,在創(chuàng)建虛擬屏幕之后,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上,以使虛擬屏幕提供相應的屏幕內容,從而完成了對移動終端的屏幕內容抓屏。
[0075]生成模塊330,適于依據(jù)虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù)。
[0076]在將屏幕內容繪制到虛擬屏幕之后,可以依據(jù)虛擬屏幕所提供的屏幕內容,生成視頻數(shù)據(jù),該視頻數(shù)據(jù)包含了在用戶輸入直播請求之后繪制到主屏幕的屏幕內容。
[0077]傳輸模塊340,適于將視頻數(shù)據(jù)傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端。
[0078]將生成的視頻數(shù)據(jù)傳輸給服務器,服務器可以將視頻數(shù)據(jù)直播給其他終端,使擁有其他終端的用戶能夠觀看到該用戶的移動終端的屏幕所播放的內容。
[0079]根據(jù)本發(fā)明上述實施例提供的裝置,根據(jù)用戶輸入的屏幕內容直播請求創(chuàng)建虛擬屏幕,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上,依據(jù)虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù),將視頻數(shù)據(jù)傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端?;谏鲜鰧嵤├姆桨?,可以將用戶的終端的屏幕內容直播給其他用戶的終端,使其他用戶能夠觀看到該用戶的終端所播放的內容,解決了現(xiàn)有技術通過截屏方式獲取終端屏幕內容而導致的效率低,且影響用戶正常使用的缺陷,進一步提升了性能。
[0080]圖4示出了根據(jù)本發(fā)明另一個實施例的基于終端屏幕內容的直播裝置的結構框圖。如圖4所示,該裝置包括:接收模塊400、第一創(chuàng)建模塊410、繪制模塊420、生成模塊430和傳輸模塊440。
[0081 ]接收模塊400,適于接收用戶輸入的屏幕內容直播請求。
[0082]第一創(chuàng)建模塊410,適于根據(jù)屏幕內容直播請求,創(chuàng)建虛擬屏幕。
[0083]繪制模塊420,適于在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上。
[0084]生成模塊430,適于依據(jù)虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù)。
[0085]傳輸模塊440,適于將視頻數(shù)據(jù)傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端。
[0086]可選地,第一創(chuàng)建模塊410進一步包括:創(chuàng)建單元411,適于創(chuàng)建虛擬畫布。
[0087]構建單元412,適于使用虛擬畫布作為參數(shù)構建虛擬屏幕。
[0088]可選地,該裝置還包括:第二創(chuàng)建模塊450,適于創(chuàng)建媒體投影機管理員;
[0089]查詢模塊460,適于查詢是否具有錄制屏幕的權限;
[0090]構建模塊470,適于在查詢到具有錄制屏幕的權限的情況下,構建媒體投影機。
[0091]可選地,繪制模塊420進一步適于:終端主屏幕和虛擬屏幕共用圖像緩存隊列,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上。
[0092]可選地,生成模塊430進一步適于:將虛擬屏幕提供的屏幕內容進行編碼處理,生成視頻數(shù)據(jù)。
[0093]可選地,視頻數(shù)據(jù)為視頻文件;
[0094]該裝置還包括:存儲模塊480,適于將視頻文件存儲到終端本地;
[0095]傳輸模塊440進一步適于:定時將存儲到終端本地的視頻文件傳輸給服務器;或者,依據(jù)用戶輸入的上傳請求,將存儲到終端本地的視頻文件傳輸給服務器。
[0096]可選地,視頻數(shù)據(jù)為視頻數(shù)據(jù)流;
[0097]傳輸模塊440進一步適于:將視頻數(shù)據(jù)流傳輸給服務器,以供服務器將視頻數(shù)據(jù)流同步直播給其它終端。
[0098]根據(jù)本發(fā)明上述實施例提供的方法,查詢是否具有錄制屏幕的權限,能夠保證用戶終端屏幕內容僅在具有權限的情況才直播給其他終端,提升了安全性,在具有錄制屏幕的權限的情況下,構建媒體投影機,創(chuàng)建虛擬畫布,使用虛擬畫布作為參數(shù)構建虛擬屏幕,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到虛擬屏幕上,將虛擬屏幕提供的屏幕內容進行編碼處理,生成視頻數(shù)據(jù),將視頻數(shù)據(jù)傳輸給服務器,以供服務器將視頻數(shù)據(jù)直播給其它終端,從而將用戶的終端的屏幕內容直播給其他用戶的終端,使其他用戶能夠觀看到該用戶的終端所播放的內容,解決了現(xiàn)有技術通過截屏方式獲取終端屏幕內容而導致的效率低,且影響用戶正常使用的缺陷,進一步提升了對終端屏幕內容的抓取效率,f生會。
[0099]在此提供的算法和顯示不與任何特定計算機、虛擬系統(tǒng)或者其它設備固有相關。各種通用系統(tǒng)也可以與基于在此的示教一起使用。根據(jù)上面的描述,構造這類系統(tǒng)所要求的結構是顯而易見的。此外,本發(fā)明也不針對任何特定編程語言。應當明白,可以利用各種編程語言實現(xiàn)在此描述的本發(fā)明的內容,并且上面對特定語言所做的描述是為了披露本發(fā)明的最佳實施方式。
[0100]在此處所提供的說明書中,說明了大量具體細節(jié)。然而,能夠理解,本發(fā)明的實施例可以在沒有這些具體細節(jié)的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
[0101]類似地,應當理解,為了精簡本公開并幫助理解各個發(fā)明方面中的一個或多個,在上面對本發(fā)明的示例性實施例的描述中,本發(fā)明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發(fā)明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如下面的權利要求書所反映的那樣,發(fā)明方面在于少于前面公開的單個實施例的所有特征。因此,遵循【具體實施方式】的權利要求書由此明確地并入該【具體實施方式】,其中每個權利要求本身都作為本發(fā)明的單獨實施例。
[0102]本領域那些技術人員可以理解,可以對實施例中的設備中的模塊進行自適應性地改變并且把它們設置在與該實施例不同的一個或多個設備中??梢园褜嵤├械哪K或單元或組件組合成一個模塊或單元或組件,以及此外可以把它們分成多個子模塊或子單元或子組件。除了這樣的特征和/或過程或者單元中的至少一些是相互排斥之外,可以采用任何組合對本說明書(包括伴隨的權利要求、摘要和附圖)中公開的所有特征以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的權利要求、摘要和附圖)中公開的每個特征可以由提供相同、等同或相似目的的替代特征來代替。
[0103]此外,本領域的技術人員能夠理解,盡管在此所述的一些實施例包括其它實施例中所包括的某些特征而不是其它特征,但是不同實施例的特征的組合意味著處于本發(fā)明的范圍之內并且形成不同的實施例。例如,在下面的權利要求書中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
[0104]本發(fā)明的各個部件實施例可以以硬件實現(xiàn),或者以在一個或者多個處理器上運行的軟件模塊實現(xiàn),或者以它們的組合實現(xiàn)。本領域的技術人員應當理解,可以在實踐中使用微處理器或者數(shù)字信號處理器(DSP)來實現(xiàn)根據(jù)本發(fā)明實施例的基于終端屏幕內容的直播設備中的一些或者全部部件的一些或者全部功能。本發(fā)明還可以實現(xiàn)為用于執(zhí)行這里所描述的方法的一部分或者全部的設備或者裝置程序(例如,計算機程序和計算機程序產品)。這樣的實現(xiàn)本發(fā)明的程序可以存儲在計算機可讀介質上,或者可以具有一個或者多個信號的形式。這樣的信號可以從因特網(wǎng)網(wǎng)站上下載得到,或者在載體信號上提供,或者以任何其他形式提供。
[0105]應該注意的是上述實施例對本發(fā)明進行說明而不是對本發(fā)明進行限制,并且本領域技術人員在不脫離所附權利要求的范圍的情況下可設計出替換實施例。在權利要求中,不應將位于括號之間的任何參考符號構造成對權利要求的限制。單詞“包含”不排除存在未列在權利要求中的元件或步驟。位于元件之前的單詞“一”或“一個”不排除存在多個這樣的元件。本發(fā)明可以借助于包括有若干不同元件的硬件以及借助于適當編程的計算機來實現(xiàn)。在列舉了若干裝置的單元權利要求中,這些裝置中的若干個可以是通過同一個硬件項來具體體現(xiàn)。單詞第一、第二、以及第三等的使用不表示任何順序??蓪⑦@些單詞解釋為名稱。
[0106]本發(fā)明公開了:A1、一種基于終端屏幕內容的直播方法,其包括:
[0107]接收用戶輸入的屏幕內容直播請求;
[0108]根據(jù)所述屏幕內容直播請求,創(chuàng)建虛擬屏幕;
[0109]在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到所述虛擬屏幕上;
[0110]依據(jù)所述虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù);
[0111]將所述視頻數(shù)據(jù)傳輸給服務器,以供所述服務器將所述視頻數(shù)據(jù)直播給其它終端。
[0112]A2、根據(jù)Al所述的方法,其中,所述創(chuàng)建虛擬屏幕進一步包括:
[0113]創(chuàng)建虛擬畫布;
[0114]使用虛擬畫布作為參數(shù)構建虛擬屏幕。
[0115]A3、根據(jù)A2所述的方法,其中,在所述創(chuàng)建虛擬畫布之前,所述方法還包括:
[0116]創(chuàng)建媒體投影機管理員;
[0117]查詢是否具有錄制屏幕的權限,若是,則構建媒體投影機;若否,則創(chuàng)建虛擬屏幕失敗。
[0118]A4、根據(jù)A1-A3任一項所述的方法,其中,所述在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到所述虛擬屏幕上進一步包括:
[0119]所述終端主屏幕和所述虛擬屏幕共用圖像緩存隊列,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到所述虛擬屏幕上。
[0120]A5、根據(jù)A1-A4任一項所述的方法,其中,所述依據(jù)虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù)進一步包括:
[0121 ]將虛擬屏幕提供的屏幕內容進行編碼處理,生成視頻數(shù)據(jù)。
[0122]A6、根據(jù)A1-A5任一項所述的方法,其中,所述視頻數(shù)據(jù)為視頻文件;
[0123]所述方法還包括:將所述視頻文件存儲到終端本地;
[0124]所述將視頻數(shù)據(jù)傳輸給服務器進一步包括:定時將存儲到終端本地的視頻文件傳輸給服務器;或者,依據(jù)用戶輸入的上傳請求,將存儲到終端本地的視頻文件傳輸給服務器。
[0125]A7、根據(jù)A1-A5任一項所述的方法,其中,所述視頻數(shù)據(jù)為視頻數(shù)據(jù)流;
[0126]所述將所述視頻數(shù)據(jù)傳輸給服務器,以供所述服務器將所述視頻數(shù)據(jù)直播給其它終端進一步包括:將所述視頻數(shù)據(jù)流傳輸給服務器,以供所述服務器將所述視頻數(shù)據(jù)流同步直播給其它終端。
[0127]本發(fā)明還公開:B8、一種基于終端屏幕內容的直播裝置,其包括:
[0128]接收模塊,適于接收用戶輸入的屏幕內容直播請求;[0129 ]第一創(chuàng)建模塊,適于根據(jù)所述屏幕內容直播請求,創(chuàng)建虛擬屏幕;
[0130]繪制模塊,適于在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到所述虛擬屏幕上;
[0131 ]生成模塊,適于依據(jù)所述虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù);
[0132]傳輸模塊,適于將所述視頻數(shù)據(jù)傳輸給服務器,以供所述服務器將所述視頻數(shù)據(jù)直播給其它終端。
[0133]B9、根據(jù)B8所述的裝置,其中,所述第一創(chuàng)建模塊進一步包括:
[0134]創(chuàng)建單元,適于創(chuàng)建虛擬畫布;
[0135]構建單元,適于使用虛擬畫布作為參數(shù)構建虛擬屏幕。
[0136]B1、根據(jù)B9所述的裝置,其中,所述裝置還包括:
[0137]第二創(chuàng)建模塊,適于創(chuàng)建媒體投影機管理員;
[0138]查詢模塊,適于查詢是否具有錄制屏幕的權限;
[0139]構建模塊,適于在查詢到具有錄制屏幕的權限的情況下,構建媒體投影機。
[0140]B11、根據(jù)B8-B10任一項所述的裝置,其中,所述繪制模塊進一步適于:
[0141]所述終端主屏幕和所述虛擬屏幕共用圖像緩存隊列,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到所述虛擬屏幕上。
[0142]B12、根據(jù)B8-B11任一項所述的裝置,其中,所述生成模塊進一步適于:
[0143]將虛擬屏幕提供的屏幕內容進行編碼處理,生成視頻數(shù)據(jù)。
[0144]B13、根據(jù)B8-B12任一項所述的裝置,其中,所述視頻數(shù)據(jù)為視頻文件;
[0145]所述裝置還包括:存儲模塊,適于將所述視頻文件存儲到終端本地;
[0146]所述傳輸模塊進一步適于:定時將存儲到終端本地的視頻文件傳輸給服務器;或者,依據(jù)用戶輸入的上傳請求,將存儲到終端本地的視頻文件傳輸給服務器。
[0147]B14、根據(jù)B8-B12任一項所述的裝置,其中,所述視頻數(shù)據(jù)為視頻數(shù)據(jù)流;
[0148]所述傳輸模塊進一步適于:將所述視頻數(shù)據(jù)流傳輸給服務器,以供所述服務器將所述視頻數(shù)據(jù)流同步直播給其它終端。
【主權項】
1.一種基于終端屏幕內容的直播方法,其包括: 接收用戶輸入的屏幕內容直播請求; 根據(jù)所述屏幕內容直播請求,創(chuàng)建虛擬屏幕; 在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到所述虛擬屏幕上; 依據(jù)所述虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù); 將所述視頻數(shù)據(jù)傳輸給服務器,以供所述服務器將所述視頻數(shù)據(jù)直播給其它終端。2.根據(jù)權利要求1所述的方法,其中,所述創(chuàng)建虛擬屏幕進一步包括: 創(chuàng)建虛擬畫布; 使用虛擬畫布作為參數(shù)構建虛擬屏幕。3.根據(jù)權利要求2所述的方法,其中,在所述創(chuàng)建虛擬畫布之前,所述方法還包括: 創(chuàng)建媒體投影機管理員; 查詢是否具有錄制屏幕的權限,若是,則構建媒體投影機;若否,則創(chuàng)建虛擬屏幕失敗。4.根據(jù)權利要求1-3任一項所述的方法,其中,所述在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到所述虛擬屏幕上進一步包括: 所述終端主屏幕和所述虛擬屏幕共用圖像緩存隊列,在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到所述虛擬屏幕上。5.根據(jù)權利要求1-4任一項所述的方法,其中,所述依據(jù)虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù)進一步包括: 將虛擬屏幕提供的屏幕內容進行編碼處理,生成視頻數(shù)據(jù)。6.根據(jù)權利要求1-5任一項所述的方法,其中,所述視頻數(shù)據(jù)為視頻文件; 所述方法還包括:將所述視頻文件存儲到終端本地; 所述將視頻數(shù)據(jù)傳輸給服務器進一步包括:定時將存儲到終端本地的視頻文件傳輸給服務器;或者,依據(jù)用戶輸入的上傳請求,將存儲到終端本地的視頻文件傳輸給服務器。7.根據(jù)權利要求1-5任一項所述的方法,其中,所述視頻數(shù)據(jù)為視頻數(shù)據(jù)流; 所述將所述視頻數(shù)據(jù)傳輸給服務器,以供所述服務器將所述視頻數(shù)據(jù)直播給其它終端進一步包括:將所述視頻數(shù)據(jù)流傳輸給服務器,以供所述服務器將所述視頻數(shù)據(jù)流同步直播給其它終端。8.一種基于終端屏幕內容的直播裝置,其包括: 接收模塊,適于接收用戶輸入的屏幕內容直播請求; 第一創(chuàng)建模塊,適于根據(jù)所述屏幕內容直播請求,創(chuàng)建虛擬屏幕; 繪制模塊,適于在將屏幕內容繪制到終端主屏幕上的同時,將屏幕內容繪制到所述虛擬屏幕上; 生成模塊,適于依據(jù)所述虛擬屏幕提供的屏幕內容,生成視頻數(shù)據(jù); 傳輸模塊,適于將所述視頻數(shù)據(jù)傳輸給服務器,以供所述服務器將所述視頻數(shù)據(jù)直播給其它終端。9.根據(jù)權利要求8所述的裝置,其中,所述第一創(chuàng)建模塊進一步包括: 創(chuàng)建單元,適于創(chuàng)建虛擬畫布; 構建單元,適于使用虛擬畫布作為參數(shù)構建虛擬屏幕。10.根據(jù)權利要求9所述的裝置,其中,所述裝置還包括:第二創(chuàng)建模塊,適于創(chuàng)建媒體投影機管理員;查詢模塊,適于查詢是否具有錄制屏幕的權限;構建模塊,適于在查詢到具有錄制屏幕的權限的情況下,構建媒體投影機。
【文檔編號】H04N21/482GK105933778SQ201610440325
【公開日】2016年9月7日
【申請日】2016年6月17日
【發(fā)明人】吳征, 梁志輝, 劉燕青, 郭宇卓, 楊中意
【申請人】北京奇虎科技有限公司, 奇智軟件(北京)有限公司