本發(fā)明涉及視頻直播技術(shù)領(lǐng)域,具體而言,涉及一種視頻直播方法、裝置及用戶終端。
背景技術(shù):
現(xiàn)在直播行業(yè)十分火爆,有大量的直播內(nèi)容,視頻直播是指利用互聯(lián)網(wǎng)及流媒體技術(shù)進(jìn)行直播,視頻因融合了圖像、文字、聲音等豐富元素,聲形并茂,效果極佳,逐漸成為互聯(lián)網(wǎng)的主流表達(dá)方式,視頻直播通過真實(shí)、生動的傳播可以營造出強(qiáng)烈的現(xiàn)場感。但現(xiàn)有的直播內(nèi)容中有的沒有主播實(shí)況內(nèi)容,以唯一可視化窗口向用戶呈現(xiàn)視頻;有的主播實(shí)況內(nèi)容與直播內(nèi)容一起呈現(xiàn)給用戶觀看,主播實(shí)況內(nèi)容可能會遮擋直播內(nèi)容的一些重要場景,這樣降低了用戶體驗(yàn)感。比如在游戲直播中有些用戶希望能看到主播打游戲時的神情,進(jìn)行第一視角交互而不是只觀看到游戲界面,這個時候需要呈現(xiàn)主播實(shí)況的畫面,但是主播實(shí)況畫面會遮擋住部分游戲界面的內(nèi)容,但由于加載的是一個視頻流,用戶無法對該主播實(shí)況畫面進(jìn)行調(diào)整和處理,導(dǎo)致用戶會錯過一些關(guān)鍵精彩的直播內(nèi)容。
因此,如何解決上述問題,一直以來都是本領(lǐng)域技術(shù)人員關(guān)注的重點(diǎn)。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的目的在于提供一種視頻直播方法、裝置,以改善上述問題。
本發(fā)明的目的還在于提供一種用戶終端,以改善上述問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明實(shí)施例采用的技術(shù)方案如下:
第一方面,本發(fā)明實(shí)施例提出一種視頻直播方法,所述視頻直播方法包括:獲取直播流地址和主播實(shí)況流地址;初始化直播播放器以在預(yù)設(shè)的直播視頻層播放通過所述直播流地址獲取的直播畫面;以及初始化主播實(shí)況播放器以在預(yù)設(shè)的主播實(shí)況層播放通過所述主播實(shí)況流地址獲取的主播實(shí)況畫面。
第二方面,本發(fā)明實(shí)施例還提出一種視頻直播裝置,所述視頻直播裝置包括:地址獲取模塊,用于獲取直播流地址和主播實(shí)況流地址;直播播放器初始化模塊,用于初始化直播播放器以在預(yù)設(shè)的直播視頻層播放通過所述直播流地址獲取的直播畫面;以及主播實(shí)況播放器初始化模塊,用于初始化主播實(shí)況播放器以在預(yù)設(shè)的主播實(shí)況層播放通過所述主播實(shí)況流地址獲取的主播實(shí)況畫面。
第三方面,本發(fā)明實(shí)施例還提出一種用戶終端,所述用戶終端包括:存儲器;處理器;及
視頻直播裝置,所述視頻直播裝置存儲在所述存儲器中并包括一個或多個由所述處理器執(zhí)行的軟件功能模塊,所述視頻直播裝置包括:地址獲取模塊,用于獲取直播流地址和主播實(shí)況流地址;直播播放器初始化模塊,用于初始化直播播放器以在預(yù)設(shè)的直播視頻層播放通過所述直播流地址獲取的直播畫面;以及主播實(shí)況播放器初始化模塊,用于初始化主播實(shí)況播放器以在預(yù)設(shè)的主播實(shí)況層播放通過所述主播實(shí)況流地址獲取的主播實(shí)況畫面。
相對現(xiàn)有技術(shù),本發(fā)明具有以下有益效果:本發(fā)明實(shí)施例提供的視頻直播方法、裝置及用戶終端,通過獲取直播流地址和主播實(shí)況流地址,初始化直播播放器以在預(yù)設(shè)的直播視頻層播放通過所述直播流地址獲取的直播畫面,以及初始化主播實(shí)況播放器以在預(yù)設(shè)的主播實(shí)況層播放通過所述主播實(shí)況流地址獲取的主播實(shí)況畫面。本發(fā)明實(shí)施例通過加載兩個視頻流使用戶可同時觀看直播畫面和主播實(shí)況畫面,提升了用戶的觀看體驗(yàn)。
為使本發(fā)明的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例的技術(shù)方案,下面將對實(shí)施例中所需要使用的附圖作簡單地介紹,應(yīng)當(dāng)理解,以下附圖僅示出了本發(fā)明的某些實(shí)施例,因此不應(yīng)被看作是對范圍的限定,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他相關(guān)的附圖。
圖1示出了本發(fā)明實(shí)施例所提供的視頻直播方法、裝置及用戶終端的應(yīng)用環(huán)境示意圖。
圖2示出了本發(fā)明實(shí)施例所提供的用戶終端的結(jié)構(gòu)框圖。
圖3示出了本發(fā)明第一實(shí)施例所提供的視頻直播裝置的功能模塊圖。
圖4示出了本發(fā)明第二實(shí)施例所提供的視頻直播方法的流程示意圖。
圖標(biāo):100-用戶終端;200-服務(wù)器;300-網(wǎng)絡(luò);110-存儲器;120-存儲控制器;130-處理器;140-外設(shè)接口;150-射頻單元;160-音頻單元;170-顯示單元;180-輸入輸出單元;400-視頻直播裝置;410-直播視頻層設(shè)置模塊;420-主播實(shí)況層設(shè)置模塊;430-地址獲取模塊;440-直播播放器初始化模塊;450-主播實(shí)況播放器初始化模塊;460-指令響應(yīng)模塊。
具體實(shí)施方式
下面將結(jié)合本發(fā)明實(shí)施例中附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。通常在此處附圖中描述和示出的本發(fā)明實(shí)施例的組件可以以各種不同的配置來布置和設(shè)計。因此,以下對在附圖中提供的本發(fā)明的實(shí)施例的詳細(xì)描述并非旨在限制要求保護(hù)的本發(fā)明的范圍,而是僅僅表示本發(fā)明的選定實(shí)施例。基于本發(fā)明的實(shí)施例,本領(lǐng)域技術(shù)人員在沒有做出創(chuàng)造性勞動的前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步定義和解釋。同時,在本發(fā)明的描述中,術(shù)語“第一”、“第二”等僅用于區(qū)分描述,而不能理解為指示或暗示相對重要性。
本發(fā)明的一個實(shí)施例所提供的視頻直播方法、裝置及用戶終端可應(yīng)用于如圖1所示的應(yīng)用環(huán)境中。如圖1所示,用戶終端100、服務(wù)器200位于網(wǎng)絡(luò)300中,所述用戶終端100與服務(wù)器200通過網(wǎng)絡(luò)300進(jìn)行數(shù)據(jù)交互。在本發(fā)明實(shí)施例中,所述用戶終端100可以是,但不限于,智能手機(jī)、平板電腦、個人電腦(personalcomputer,pc)、移動上網(wǎng)設(shè)備(mobileinternetdevice,mid)、個人數(shù)字助理(personaldigitalassistant,pda)等電子設(shè)備。所述用戶終端100中安裝有至少一個應(yīng)用程序(application,app),例如斗魚,與服務(wù)器200相對應(yīng),為用戶提供服務(wù)。
圖2示出了一種可應(yīng)用于本發(fā)明實(shí)施例的視頻直播方法及裝置的用戶終端100的結(jié)構(gòu)框圖。如圖2所示,用戶終端100可以包括存儲器110、存儲控制器120、處理器130、外設(shè)接口140、射頻單元150、音頻單元160、顯示單元170及輸入輸出單元180。所述存儲器110、存儲控制器120、處理器130、外設(shè)接口140、射頻單元150、音頻單元160、顯示單元170及輸入輸出單元180,各元件之間直接或間接地電性連接,以實(shí)現(xiàn)數(shù)據(jù)的傳輸或者交互。例如,這些元件相互之間可通過一條或多條通訊總線或信號線實(shí)現(xiàn)典型連接。在本實(shí)施例中,視頻直播裝置400包括至少一個可以軟件或固件(firmware)的形式存儲于所述存儲器110中或固化在所述用戶終端100的操作系統(tǒng)(operatingsystem,os)中的軟件功能模塊。該處理器130用于執(zhí)行所述存儲器110中存儲的可執(zhí)行模塊,例如該視頻直播裝置400所包括的軟件功能模塊及計算機(jī)程序等。
其中,所述存儲器110可以是但不限于,隨機(jī)存取存儲器(randomaccessmemory,ram),只讀存儲器(readonlymemory,rom),可編程只讀存儲器(programmableread-onlymemory,prom),可擦除只讀存儲器(erasableprogrammableread-onlymemory,eprom),電可擦除只讀存儲器(electricerasableprogrammableread-onlymemory,eeprom)等。存儲器110可用于存儲軟件程序以及模塊,如本發(fā)明實(shí)施例中的視頻直播方法,處理器130用于在接收到執(zhí)行指令后,執(zhí)行該程序。該處理器130以及其他可能的組件對存儲器110的訪問可在存儲控制器120的控制下進(jìn)行。
所述處理器130可能是一種集成電路芯片,具有信號處理能力。該處理器130可以是通用處理器,包括中央處理器(centralprocessingunit,cpu)、網(wǎng)絡(luò)處理器(networkprocessor,np)等;還可以是數(shù)字信號處理器(dsp))、專用集成電路(asic)、現(xiàn)成可編程門陣列(fpga)或者其他可編程邏輯器件、分立門或者晶體管邏輯器件、分立硬件組件。
所述外設(shè)接口140將各種輸入/輸出裝置(例如射頻單元150、音頻單元160、顯示單元170及輸入輸出單元180)耦合至該處理器130以及該存儲器110。在一些實(shí)施例中,外設(shè)接口140、處理器130以及存儲控制器120可以在單個芯片中實(shí)現(xiàn)。在其他一些實(shí)例中,它們可以分別由獨(dú)立的芯片實(shí)現(xiàn)。
所述射頻單元150用于接收以及發(fā)送電磁波,實(shí)現(xiàn)電磁波與電信號的相互轉(zhuǎn)換,從而實(shí)現(xiàn)所述用戶終端100與網(wǎng)絡(luò)300或者其他通信設(shè)備進(jìn)行通訊。
所述音頻單元160用于向用戶提供音頻接口,其可包括一個或多個麥克風(fēng)、一個或者多個揚(yáng)聲器以及音頻電路。
所述顯示單元170在用戶終端100與用戶之間同時提供一個交互界面(例如用戶操作界面)。在本實(shí)施例中,所述顯示單元170可以是液晶顯示器或觸控顯示器,其可為支持單點(diǎn)和多點(diǎn)觸控操作的電容式觸控屏或電阻式觸控屏等。支持單點(diǎn)和多點(diǎn)觸控操作是指觸控顯示器能感應(yīng)到來自該觸控顯示器上一個或多個位置處產(chǎn)生的觸控操作,并將該感應(yīng)到的觸控操作交由處理器130進(jìn)行計算和處理。
所述輸入輸出單元180用于提供用戶輸入數(shù)據(jù)實(shí)現(xiàn)用戶與所述用戶終端100的交互。所述輸入輸出單元180可以是,但不限于,鼠標(biāo)、鍵盤等。
可以理解,圖2所示的結(jié)構(gòu)僅為示意,所述用戶終端100還可包括比圖2中所示更多或者更少的組件,或者具有與圖2所示不同的配置。圖2中所示的各組件可以采用硬件、軟件或其組合實(shí)現(xiàn)。
第一實(shí)施例
請參照圖3,為本發(fā)明第一實(shí)施例所提供的視頻直播裝置400的結(jié)構(gòu)框圖。所述視頻直播裝置400包括直播視頻層設(shè)置模塊410、主播實(shí)況層設(shè)置模塊420、地址獲取模塊430、直播播放器初始化模塊440、主播實(shí)況播放器初始化模塊450及指令響應(yīng)模塊460。
所述直播視頻層設(shè)置模塊410用于預(yù)設(shè)所述直播視頻層的寬度和高度。
所述主播實(shí)況層設(shè)置模塊420用于預(yù)設(shè)所述主播實(shí)況層的寬度和高度。
例如,在本實(shí)施例中,應(yīng)用程序(例如斗魚)打開后,根據(jù)網(wǎng)頁數(shù)據(jù)初始化flash播放器,可依據(jù)顯示屏幕的尺寸、大小等設(shè)置flash播放器的寬度stageweight和高度stageheight,并在flash播放器內(nèi)設(shè)置直播視頻層和主播實(shí)況層,且所述主播實(shí)況層的層級高于所述直播視頻層的層級,使主播實(shí)況畫面在直播畫面之上。優(yōu)選地,可設(shè)置直播視頻層的寬度為所述flash播放器的寬度stageweight,設(shè)置直播視頻層的高度為所述flash播放器的高度stageheight。設(shè)置所述主播實(shí)況層的寬度為第一初始值w1,所述主播實(shí)況層的高度為第二初始值h1,在本實(shí)施例中,可以預(yù)設(shè)所述第一初始值w1和第二初始值h1為200,但不限于此。
在本發(fā)明實(shí)施例中,當(dāng)所述主播實(shí)況層的寬度與所述直播視頻層的寬度符合第一預(yù)設(shè)條件時,或當(dāng)所述主播實(shí)況層的高度與所述直播視頻層的高度符合第二預(yù)設(shè)條件時,所述主播實(shí)況層設(shè)置模塊420用于對所述主播實(shí)況層的寬度和高度進(jìn)行等比縮放,控制所述主播實(shí)況層的寬度與所述直播視頻層的寬度的比值低于第一預(yù)設(shè)值,以及控制所述主播實(shí)況層的高度與直播視頻層的高度的比值低于第二預(yù)設(shè)值,以使所述主播實(shí)況層播放的畫面不扭曲,有利于用戶觀看直播時的操作(比如拖拽主播實(shí)況畫面)。需要說明的是,在本實(shí)施例中,所述第一預(yù)設(shè)條件可以是所述主播實(shí)況層的寬度大于所述直播視頻層寬度的一半,所述第二預(yù)設(shè)條件可以是所述主播實(shí)況層的高度大于所述直播視頻層高度的一半,但不限定于此。同時,在本實(shí)施例中,可以設(shè)定第一預(yù)設(shè)值及第二預(yù)設(shè)值為50%,但是也不限定于此。
需要說明的是,對所述主播實(shí)況層的寬度和高度進(jìn)行等比縮放時的等比縮放值可依據(jù)所述主播實(shí)況層的寬度縮放至直播視頻層寬度的一半時的第一縮放值以及所述主播實(shí)況層的高度縮放至直播視頻層高度的一半時的第二縮放值得到。例如,依據(jù)公式scaw=(stageweight×0.5)/w1計算第一縮放值scaw,依據(jù)公式scah=(stageheight×0.5)/h1計算第二縮放值scah,然后將第一縮放值scaw和第二縮放值scah兩者中的最小值作為等比縮放值sca(例如,sca=scah<scaw?scah:scaw),依據(jù)該等比縮放值sca對所述主播實(shí)況層的寬度和高度進(jìn)行等比縮放。
所述地址獲取模塊430用于獲取直播流地址和主播實(shí)況流地址。
在本實(shí)施例中,通過向服務(wù)器200發(fā)送http請求以獲取直播流地址url1和主播實(shí)況流地址url2。需要說明的是,在本實(shí)施例中,所述直播流地址url1不為空,因?yàn)樵谥辈ミ^程中直播畫面是一定存在的,主播實(shí)況流地址url2可以為空,在部分直播中可以不提供主播實(shí)況畫面或者主播已經(jīng)出現(xiàn)在直播畫面中。
所述直播播放器初始化模塊440用于初始化直播播放器以在預(yù)設(shè)的直播視頻層播放通過直播流地址獲取的直播畫面。
在本實(shí)施例中,通過分析獲取的直播流地址url1中是基于http還是rtmp的視頻流,相應(yīng)地播放http流或者rtmp流到所述直播播放器中,所述直播播放器初始化模塊440用于將所述直播播放器添加至所述直播視頻層,并依據(jù)所述直播視頻層的寬度和高度設(shè)置所述直播播放器的寬度和高度,此時直播畫面由所述直播播放器在所述直播視頻層播放,用戶可以觀看到直播畫面。優(yōu)選地,可設(shè)置直播播放器的寬度和高度分別與所述直播視頻層的寬度和高度一致。
所述主播實(shí)況播放器初始化模塊450用于初始化主播實(shí)況播放器以在預(yù)設(shè)的主播實(shí)況層播放通過主播實(shí)況流地址獲取的主播實(shí)況畫面。
在本實(shí)施例中,當(dāng)主播實(shí)況流地址url2不為空時,通過分析獲取的主播實(shí)況流地址url2中是基于http或rtmp的視頻流,相應(yīng)地播放http流或者rtmp流到所述主播實(shí)況播放器中,所述主播實(shí)況播放器初始化模塊450用于將所述主播實(shí)況播放器添加至所述主播實(shí)況層,依據(jù)所述主播實(shí)況層的寬度和高度設(shè)置所述主播實(shí)況播放器的寬度和高度,此時主播實(shí)況畫面由所述主播實(shí)況播放器在所述主播實(shí)況層播放,用戶可以觀看到主播實(shí)況畫面。優(yōu)選地,可設(shè)置主播實(shí)況播放器的寬度和高度分別與所述主播實(shí)況層的寬度和高度一致。
所述指令響應(yīng)模塊460用于響應(yīng)用戶的操作指令,控制所述主播實(shí)況播放器顯示、隱藏或移動。
在本實(shí)施例中,可通過設(shè)定按鈕、指令等交互方式控制主播實(shí)況播放器的顯示、隱藏及移動。例如,用戶在觀看游戲直播時,可以同時看到直播畫面(即游戲界面)和主播實(shí)況畫面(主播打游戲的神情、操作等),倘若此時的主播實(shí)況畫面擋住了游戲界面的一些精彩部分,用戶可通過雙擊直播視頻層就可以控制主播實(shí)況播放器隱藏(此時用戶只能看見直播畫面,主播實(shí)況畫面已經(jīng)隱藏),再次雙擊直播視頻層就可以控制主播實(shí)況畫面顯示在直播畫面上。同時,在初始化所述主播實(shí)況播放器時可以設(shè)置其可拖拽移動的區(qū)域,在主播實(shí)況畫面影響到用戶的觀看時,用戶可以根據(jù)自己的個人喜好習(xí)慣對主播實(shí)況播放器進(jìn)行拖拽操作,以將主播實(shí)況播放器移動至其他不影響觀看直播畫面的區(qū)域,或者自己喜好的區(qū)域,用戶觀看體驗(yàn)較好。
第二實(shí)施例
請參照圖4,為本發(fā)明第二實(shí)施例所提供的視頻直播方法的流程示意圖。需要說明的是,本發(fā)明實(shí)施例所述的視頻直播方法并不以圖4以及以下所述的具體順序?yàn)橄拗?,其基本原理及產(chǎn)生的技術(shù)效果與第一實(shí)施例相同,為簡要描述,本實(shí)施例中未提及部分,可參考第一實(shí)施例中的相應(yīng)內(nèi)容。應(yīng)當(dāng)理解,在其它實(shí)施例中,本發(fā)明所述的視頻直播方法其中部分步驟的順序可以根據(jù)實(shí)際需要相互交換,或者其中的部分步驟也可以省略或刪除。下面將對圖4所示的具體流程進(jìn)行詳細(xì)闡述。
步驟s101,預(yù)設(shè)所述直播視頻層的寬度和高度。
可以理解,該步驟s101可以由上述的直播視頻層設(shè)置模塊410執(zhí)行。
步驟s102,預(yù)設(shè)所述主播實(shí)況層的寬度和高度。
可以理解,該步驟s102可以由上述的主播實(shí)況層設(shè)置模塊420執(zhí)行。
例如,在本實(shí)施例中,應(yīng)用程序(例如斗魚)打開后,根據(jù)網(wǎng)頁數(shù)據(jù)初始化flash播放器,可依據(jù)顯示屏幕的尺寸、大小等設(shè)置flash播放器的寬度stageweight和高度stageheight,并在flash播放器內(nèi)設(shè)置直播視頻層和主播實(shí)況層,且所述主播實(shí)況層的層級高于所述直播視頻層的層級,使主播實(shí)況畫面在直播畫面之上。優(yōu)選地,可設(shè)置直播視頻層的寬度為所述flash播放器的寬度stageweight,設(shè)置直播視頻層的高度為所述flash播放器的高度stageheight。設(shè)置所述主播實(shí)況層的寬度為第一初始值w1,所述主播實(shí)況層的高度為第二初始值h1,在本實(shí)施例中,可以預(yù)設(shè)所述第一初始值w1和第二初始值h1為200,但不限于此。
在本發(fā)明實(shí)施例中,當(dāng)所述主播實(shí)況層的寬度與所述直播視頻層的寬度符合第一預(yù)設(shè)條件時,或當(dāng)所述主播實(shí)況層的高度與所述直播視頻層的高度符合第二預(yù)設(shè)條件時,依據(jù)計算得到的等比縮放值對所述主播實(shí)況層的寬度和高度進(jìn)行等比縮放,控制所述主播實(shí)況層的寬度與所述直播視頻層的寬度的比值低于第一預(yù)設(shè)值,以及控制所述主播實(shí)況層的高度與直播視頻層的高度的比值低于第二預(yù)設(shè)值,以使所述主播實(shí)況層播放的畫面不扭曲,有利于用戶觀看直播時的操作(比如拖拽主播實(shí)況畫面)。需要說明的是,在本實(shí)施例中,所述第一預(yù)設(shè)條件可以是所述主播實(shí)況層的寬度大于所述直播視頻層寬度的一半,所述第二預(yù)設(shè)條件可以是所述主播實(shí)況層的高度大于所述直播視頻層高度的一半,但不限定于此。同時,在本實(shí)施例中,可以設(shè)定第一預(yù)設(shè)值及第二預(yù)設(shè)值為50%,但是也不限定于此。
步驟s103,獲取直播流地址和主播實(shí)況流地址。
在本實(shí)施例中,通過向服務(wù)器200發(fā)送http請求以獲取直播流地址url1和主播實(shí)況流地址url2。需要說明的是,在本實(shí)施例中,所述直播流地址url1不為空,因?yàn)樵谥辈ミ^程中直播畫面是一定存在的,主播實(shí)況流地址url2可以為空,在部分直播中可以不提供主播實(shí)況畫面或者主播已經(jīng)出現(xiàn)在直播畫面中。
可以理解,該步驟s103可以由上述的地址獲取模塊430執(zhí)行。
步驟s104,初始化直播播放器以在預(yù)設(shè)的直播視頻層播放通過直播流地址獲取的直播畫面。
在本實(shí)施例中,通過分析獲取的直播流地址url1中是基于http還是rtmp的視頻流,相應(yīng)地播放http流或者rtmp流到所述直播播放器中。優(yōu)選地,將所述直播播放器添加至所述直播視頻層,并依據(jù)所述直播視頻層的寬度和高度設(shè)置所述直播播放器的寬度和高度,此時直播畫面由所述直播播放器在所述直播視頻層播放,用戶可以觀看到直播畫面。優(yōu)選地,可設(shè)置直播播放器的寬度和高度分別與所述直播視頻層的寬度和高度一致。
可以理解,該步驟s104可以由上述的直播播放器初始化模塊440執(zhí)行。
步驟s105,初始化主播實(shí)況播放器以在預(yù)設(shè)的主播實(shí)況層播放通過主播實(shí)況流地址獲取的主播實(shí)況畫面。
在本實(shí)施例中,當(dāng)主播實(shí)況流地址url2不為空時,通過分析獲取的主播實(shí)況流地址url2中是基于http或rtmp的視頻流,相應(yīng)地播放http流或者rtmp流到所述主播實(shí)況播放器中。優(yōu)選地,將所述主播實(shí)況播放器添加至所述主播實(shí)況層,依據(jù)所述主播實(shí)況層的寬度和高度設(shè)置所述主播實(shí)況播放器的寬度和高度,此時主播實(shí)況畫面由所述主播實(shí)況播放器在所述主播實(shí)況層播放,用戶可以觀看到主播實(shí)況畫面。優(yōu)選地,可設(shè)置主播實(shí)況播放器的寬度和高度分別與所述主播實(shí)況層的寬度和高度一致。
可以理解,該步驟s105可以由上述的主播實(shí)況播放器初始化模塊450執(zhí)行。
步驟s106,響應(yīng)用戶的操作指令,控制所述主播實(shí)況播放器顯示、隱藏或移動。
在本實(shí)施例中,可通過設(shè)定按鈕、指令等交互方式控制主播實(shí)況播放器的顯示、隱藏及移動。例如,用戶在觀看游戲直播時,可以同時看到直播畫面(即游戲界面)和主播實(shí)況畫面(主播打游戲的神情、操作等),倘若此時的主播實(shí)況畫面擋住了游戲界面的一些精彩部分,用戶可通過雙擊直播視頻層就可以控制主播實(shí)況播放器隱藏(此時用戶只能看見直播畫面,主播實(shí)況畫面已經(jīng)隱藏),再次雙擊直播視頻層就可以控制主播實(shí)況畫面顯示在直播畫面上。同時,在初始化所述主播實(shí)況播放器時可以設(shè)置其可拖拽移動的區(qū)域,在主播實(shí)況畫面影響到用戶的觀看時,用戶可以根據(jù)自己的個人喜好習(xí)慣對主播實(shí)況播放器進(jìn)行拖拽操作,以將主播實(shí)況播放器移動至其他不影響觀看直播畫面的區(qū)域,或者自己喜好的區(qū)域,用戶觀看體驗(yàn)較好。
可以理解,該步驟s106可以由上述的指令響應(yīng)模塊460執(zhí)行。
綜上所述,本發(fā)明實(shí)施例所提供的視頻直播方法、裝置及用戶終端,通過預(yù)設(shè)直播視頻層的寬度以及主播實(shí)況層的寬度,當(dāng)主播實(shí)況層的寬度與直播視頻層的寬度符合第一預(yù)設(shè)條件時,或當(dāng)主播實(shí)況層的高度與直播視頻層的高度符合第二預(yù)設(shè)條件時,對主播實(shí)況層的高度和寬度進(jìn)行等比縮放,控制所述主播實(shí)況層的寬度與所述直播視頻層的寬度的比值低于第一預(yù)設(shè)值,以及控制所述主播實(shí)況層的高度與直播視頻層的高度的比值低于第二預(yù)設(shè)值,以使所述主播實(shí)況層播放的畫面不扭曲,有利于用戶觀看直播時的操作;獲取直播流地址和主播實(shí)況流地址,初始化直播播放器以在預(yù)設(shè)的直播視頻層播放通過所述直播流地址獲取的直播畫面,以及初始化主播實(shí)況播放器以在預(yù)設(shè)的主播實(shí)況層播放通過所述主播實(shí)況流地址獲取的主播實(shí)況畫面,可通過響應(yīng)用戶觀看直播畫面與主播實(shí)況畫面的過程中的操作指令控制所述主播實(shí)況播放器顯示、隱藏或者移動。本發(fā)明實(shí)施例通過加載兩個視頻流使用戶可同時觀看直播畫面和主播實(shí)況畫面,并且用戶可以根據(jù)自己的喜好和觀看習(xí)慣控制主播實(shí)況畫面顯示、隱藏或者移動,提升了用戶的觀看體驗(yàn)。
需要說明的是,在本文中,諸如“第一”和“第二”等之類的關(guān)系術(shù)語僅僅用來將一個實(shí)體或者操作與另一個實(shí)體或操作區(qū)分開來,而不一定要求或者暗示這些實(shí)體或操作之間存在任何這種實(shí)際的關(guān)系或者順序。而且,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設(shè)備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設(shè)備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設(shè)備中還存在另外的相同要素。
以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。應(yīng)注意到:相似的標(biāo)號和字母在下面的附圖中表示類似項(xiàng),因此,一旦某一項(xiàng)在一個附圖中被定義,則在隨后的附圖中不需要對其進(jìn)行進(jìn)一步定義和解釋。