本公開(kāi)是關(guān)于互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其是關(guān)于一種播放直播視頻的方法、裝置和系統(tǒng)。
背景技術(shù):
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,手機(jī)、計(jì)算機(jī)等終端得到了廣泛的應(yīng)用,相應(yīng)的終端上的應(yīng)用程序的種類(lèi)越來(lái)越多、功能越來(lái)越豐富。網(wǎng)絡(luò)直播應(yīng)用程序即是一種很常用的應(yīng)用程序。
觀眾可以通過(guò)網(wǎng)絡(luò)直播應(yīng)用程序觀看某直播間的直播視頻。觀眾可以通過(guò)點(diǎn)擊網(wǎng)絡(luò)直播應(yīng)用程序中的直播間標(biāo)識(shí)列表中的某直播間標(biāo)識(shí),觸發(fā)終端顯示某直播間的直播界面,并可以觸發(fā)終端向服務(wù)器獲取該直播間的直播視頻。其中,終端和服務(wù)器往往采用rtmp(realtimemessagingprotocol,實(shí)時(shí)消息傳輸協(xié)議)傳輸直播視頻,該協(xié)議下,觀眾點(diǎn)擊網(wǎng)絡(luò)直播應(yīng)用程序中的直播間標(biāo)識(shí)列表中的某直播間標(biāo)識(shí)后,終端往往會(huì)與服務(wù)器依次完成三次握手操作和目標(biāo)操作(目標(biāo)操作包括連接服務(wù)器子應(yīng)用操作、創(chuàng)建媒體流操作和播放媒體流操作),之后,服務(wù)器可以向終端發(fā)送直播視頻。具體的,終端與服務(wù)器完成三次握手操作后,可以依次向服務(wù)器發(fā)送目標(biāo)操作對(duì)應(yīng)的目標(biāo)指令(即連接服務(wù)器子應(yīng)用指令、創(chuàng)建媒體流指令和播放媒體流指令),每當(dāng)向服務(wù)器發(fā)送一個(gè)目標(biāo)指令后,終端可以等待服務(wù)器的響應(yīng),得到該目標(biāo)指令的正確響應(yīng)后,終端再向服務(wù)器發(fā)送下一個(gè)目標(biāo)指令,直至目標(biāo)指令發(fā)送完成,即終端采用等停模式依次發(fā)送每個(gè)目標(biāo)指令。
在實(shí)現(xiàn)本公開(kāi)的過(guò)程中,發(fā)明人發(fā)現(xiàn)至少存在以下問(wèn)題:
基于上述終端和服務(wù)器基于rtmp協(xié)議傳輸直播視頻的處理方式,用戶(hù)點(diǎn)擊某直播間標(biāo)識(shí)后,終端與服務(wù)器之間需要完成三次握手操作,然后,需要按照等停模式依次完成目標(biāo)操作后方可收到服務(wù)器發(fā)送的直播視頻,從而,導(dǎo)致終端獲取直播視頻的時(shí)長(zhǎng)較長(zhǎng)。
技術(shù)實(shí)現(xiàn)要素:
為了克服相關(guān)技術(shù)中存在的終端獲取直播視頻的時(shí)長(zhǎng)較長(zhǎng)的問(wèn)題,本公開(kāi)提供了一種播放直播視頻的方法、裝置和系統(tǒng)。所述技術(shù)方案如下:
根據(jù)本公開(kāi)實(shí)施例的第一方面,提供了一種播放直播視頻的方法,所述方法包括:
當(dāng)接收到目標(biāo)直播間的直播視頻獲取指令時(shí),向服務(wù)器發(fā)送目標(biāo)直播間的直播視頻獲取請(qǐng)求,其中,所述直播視頻獲取請(qǐng)求中攜帶有目標(biāo)指令,所述目標(biāo)指令包括連接服務(wù)器子應(yīng)用connect指令、創(chuàng)建媒體流creatstream指令和播放媒體流play指令;
接收所述服務(wù)器發(fā)送的所述目標(biāo)直播間對(duì)應(yīng)的直播視頻;
播放所述直播視頻。
可選的,所述直播視頻獲取請(qǐng)求還攜帶有協(xié)議版本標(biāo)識(shí)。
可選的,所述方法還包括:
接收所述服務(wù)器發(fā)送的對(duì)應(yīng)所述目標(biāo)指令的響應(yīng)信息;
所述播放所述直播視頻,包括:
如果對(duì)應(yīng)所述目標(biāo)指令的響應(yīng)信息正確,則播放所述直播視頻。
根據(jù)本公開(kāi)實(shí)施例的第二方面,提供了一種播放直播視頻的方法,所述方法包括:
接收終端發(fā)送的目標(biāo)直播間的直播視頻獲取請(qǐng)求,其中,所述直播視頻獲取請(qǐng)求中攜帶有目標(biāo)指令,所述目標(biāo)指令包括連接服務(wù)器子應(yīng)用connect指令、創(chuàng)建媒體流creatstream指令和播放媒體流play指令;
執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理,如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
可選的,所述直播視頻獲取請(qǐng)求還攜帶有協(xié)議版本標(biāo)識(shí);
所述執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理,包括:
如果所述直播視頻獲取請(qǐng)求中攜帶的協(xié)議版本標(biāo)識(shí)為目標(biāo)版本標(biāo)識(shí),則執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理。
可選的,所述如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻,包括:
如果執(zhí)行成功,則向所述終端發(fā)送對(duì)應(yīng)所述目標(biāo)指令的響應(yīng)信息,并向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
可選的,所述方法還包括:
如果執(zhí)行失敗,則向所述終端發(fā)送對(duì)應(yīng)所述目標(biāo)指令的失敗通知。
可選的,所述執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理,如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻,包括:
執(zhí)行對(duì)應(yīng)所述connect指令的處理,如果執(zhí)行成功,則執(zhí)行對(duì)應(yīng)所述creatstream指令的處理,如果執(zhí)行成功,則執(zhí)行對(duì)應(yīng)所述play指令的處理,如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
根據(jù)本公開(kāi)實(shí)施例的第三方面,提供了一種終端,所述終端包括:
發(fā)送模塊,用于當(dāng)接收到目標(biāo)直播間的直播視頻獲取指令時(shí),向服務(wù)器發(fā)送目標(biāo)直播間的直播視頻獲取請(qǐng)求,其中,所述直播視頻獲取請(qǐng)求中攜帶有目標(biāo)指令,所述目標(biāo)指令包括連接服務(wù)器子應(yīng)用connect指令、創(chuàng)建媒體流creatstream指令和播放媒體流play指令;
接收模塊,用于接收所述服務(wù)器發(fā)送的所述目標(biāo)直播間對(duì)應(yīng)的直播視頻;
播放模塊,用于播放所述直播視頻。
可選的,所述直播視頻獲取請(qǐng)求還攜帶有協(xié)議版本標(biāo)識(shí)。
可選的,所述接收模塊,還用于:
接收所述服務(wù)器發(fā)送的對(duì)應(yīng)所述目標(biāo)指令的響應(yīng)信息;
所述播放模塊,用于:
如果對(duì)應(yīng)所述目標(biāo)指令的響應(yīng)信息正確,則播放所述直播視頻。
根據(jù)本公開(kāi)實(shí)施例的第四方面,提供了一種服務(wù)器,所述服務(wù)器包括:
接收模塊,用于接收終端發(fā)送的目標(biāo)直播間的直播視頻獲取請(qǐng)求,其中,所述直播視頻獲取請(qǐng)求中攜帶有目標(biāo)指令,所述目標(biāo)指令包括連接服務(wù)器子應(yīng)用connect指令、創(chuàng)建媒體流creatstream指令和播放媒體流play指令;
執(zhí)行模塊,用于執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理;
發(fā)送模塊,用于如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
可選的,所述直播視頻獲取請(qǐng)求還攜帶有協(xié)議版本標(biāo)識(shí);
所述執(zhí)行模塊,用于:
如果所述直播視頻獲取請(qǐng)求中攜帶的協(xié)議版本標(biāo)識(shí)為目標(biāo)版本標(biāo)識(shí),則執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理。
可選的,所述發(fā)送模塊,用于:
如果執(zhí)行成功,則向所述終端發(fā)送對(duì)應(yīng)所述目標(biāo)指令的響應(yīng)信息,并向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
可選的,所述發(fā)送模塊,還用于:
如果執(zhí)行失敗,則向所述終端發(fā)送對(duì)應(yīng)所述目標(biāo)指令的失敗通知。
可選的,所述執(zhí)行模塊,用于:
執(zhí)行對(duì)應(yīng)所述connect指令的處理,如果執(zhí)行成功,則執(zhí)行對(duì)應(yīng)所述creatstream指令的處理,如果執(zhí)行成功,則執(zhí)行對(duì)應(yīng)所述play指令的處理;
所述發(fā)送模塊,用于:
如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
根據(jù)本公開(kāi)實(shí)施例的第五方面,提供了一種播放直播視頻的系統(tǒng),所述系統(tǒng)包括終端和服務(wù)器,其中:
所述終端,如第三方面所述的終端;
所述服務(wù)器,如第四方面所述的服務(wù)器。
本公開(kāi)的實(shí)施例提供的技術(shù)方案可以包括以下有益效果:
本公開(kāi)實(shí)施例中,當(dāng)接收到用戶(hù)輸入的目標(biāo)直播間的直播視頻獲取指令后,終端可以向服務(wù)器發(fā)送攜帶有connect指令、creatstream指令和play指令的直播視頻獲取請(qǐng)求,服務(wù)器接收到直播視頻獲取請(qǐng)求后,可以獲取其中的connect指令、creatstream指令和play指令,并可以執(zhí)行對(duì)應(yīng)的處理,如果執(zhí)行成功,則可以向終端發(fā)送直播視頻。這樣,終端可以一次性將connect指令、creatstream指令和play指令發(fā)送至服務(wù)器,服務(wù)器可以一次性執(zhí)行對(duì)應(yīng)的處理,無(wú)需終端采用等停模式發(fā)送上述指令,從而,可以縮短終端接收到目標(biāo)直播間的直播視頻獲取指令后的等待時(shí)長(zhǎng),即可以縮短終端獲取直播視頻的時(shí)長(zhǎng)。
應(yīng)當(dāng)理解的是,以上的一般描述和后文的細(xì)節(jié)描述僅是示例性和解釋性的,并不能限制本公開(kāi)。
附圖說(shuō)明
此處的附圖被并入說(shuō)明書(shū)中并構(gòu)成本說(shuō)明書(shū)的一部分,示出了符合本公開(kāi)的實(shí)施例,并與說(shuō)明書(shū)一起用于解釋本公開(kāi)的原理。在附圖中:
圖1是根據(jù)一示例性實(shí)施例示出的一種播放直播視頻的方法流程圖;
圖2是根據(jù)一示例性實(shí)施例示出的一種系統(tǒng)框架示意圖;
圖3是根據(jù)一示例性實(shí)施例示出的一種終端的結(jié)構(gòu)示意圖;
圖4是根據(jù)一示例性實(shí)施例示出的一種服務(wù)器的結(jié)構(gòu)示意圖;
圖5是根據(jù)一示例性實(shí)施例示出的一種終端的結(jié)構(gòu)示意圖;
圖6是根據(jù)一示例性實(shí)施例示出的一種服務(wù)器的結(jié)構(gòu)示意圖。
通過(guò)上述附圖,已示出本公開(kāi)明確的實(shí)施例,后文中將有更詳細(xì)的描述。這些附圖和文字描述并不是為了通過(guò)任何方式限制本公開(kāi)構(gòu)思的范圍,而是通過(guò)參考特定實(shí)施例為本領(lǐng)域技術(shù)人員說(shuō)明本公開(kāi)的概念。
具體實(shí)施方式
這里將詳細(xì)地對(duì)示例性實(shí)施例進(jìn)行說(shuō)明,其示例表示在附圖中。下面的描述涉及附圖時(shí),除非另有表示,不同附圖中的相同數(shù)字表示相同或相似的要素。以下示例性實(shí)施例中所描述的實(shí)施方式并不代表與本公開(kāi)相一致的所有實(shí)施方式。相反,它們僅是與如所附權(quán)利要求書(shū)中所詳述的、本公開(kāi)的一些方面相一致的裝置和方法的例子。
本公開(kāi)一示例性實(shí)施例提供了一種播放直播視頻的方法,該方法可以由終端和服務(wù)器共同實(shí)現(xiàn),其中,終端可以是具有網(wǎng)絡(luò)直播功能的終端,比如可以是安裝有網(wǎng)絡(luò)直播應(yīng)用程序的終端,也可以是能夠通過(guò)瀏覽器打開(kāi)網(wǎng)頁(yè)應(yīng)用程序的終端,服務(wù)器可以是網(wǎng)絡(luò)直播功能的后臺(tái)服務(wù)器。該終端中可以設(shè)置有處理器、收發(fā)器和顯示器、揚(yáng)聲器,處理器可以用于獲取直播視頻的相關(guān)處理,收發(fā)器可以用于接收和發(fā)送數(shù)據(jù),顯示器可以用于顯示直播視頻中的圖像畫(huà)面,揚(yáng)聲器可以用于播放直播視頻中的音頻數(shù)據(jù)。服務(wù)器中可以設(shè)置有處理器、處理器,處理器可以用于執(zhí)行對(duì)應(yīng)目標(biāo)指令的處理,收發(fā)器可以用于發(fā)送和接收數(shù)據(jù)。
下面將結(jié)合實(shí)施方式,對(duì)圖1所示的處理流程進(jìn)行詳細(xì)的說(shuō)明,內(nèi)容可以如下:
在步驟101中,當(dāng)接收到目標(biāo)直播間的直播視頻獲取指令時(shí),終端向服務(wù)器發(fā)送目標(biāo)直播間的直播視頻獲取請(qǐng)求,其中,直播視頻獲取請(qǐng)求中攜帶有目標(biāo)指令,目標(biāo)指令包括連接服務(wù)器子應(yīng)用connect指令、創(chuàng)建媒體流creatstream指令和播放媒體流play指令。
在實(shí)施中,終端中可以安裝有網(wǎng)絡(luò)直播應(yīng)用程序或者通過(guò)瀏覽器運(yùn)行網(wǎng)頁(yè)應(yīng)用程序(其中,網(wǎng)頁(yè)應(yīng)用程序可以通過(guò)flash(閃客)播放直播視頻),用戶(hù)想要觀看某直播間的直播視頻時(shí),可以通過(guò)網(wǎng)絡(luò)直播應(yīng)用程序中的直播間標(biāo)識(shí)列表中,選擇該直播間(可稱(chēng)為目標(biāo)直播間)的直播間標(biāo)識(shí)。當(dāng)用戶(hù)選擇目標(biāo)直播間的直播間標(biāo)識(shí)后,可以觸發(fā)終端接收到用戶(hù)輸入的目標(biāo)直播間的直播視頻獲取指令,進(jìn)而,終端可以基于修改后的rtmp(realtimemessagingprotocol,實(shí)時(shí)消息傳輸協(xié)議)向服務(wù)器獲取目標(biāo)直播間的直播視頻。具體的,當(dāng)接收到用戶(hù)輸入的目標(biāo)直播間的直播視頻獲取指令時(shí),終端即可向服務(wù)器發(fā)送目標(biāo)直播間的直播視頻獲取請(qǐng)求,如圖2所示,無(wú)需再次與服務(wù)器進(jìn)行三次握手的操作,其中,直播視頻獲取請(qǐng)求中可以攜帶有connect指令、creatstream指令和play指令(connect指令、creatstream指令和play指令可以稱(chēng)為目標(biāo)指令)。也就是說(shuō),修改后的rtmp,終端接收到用戶(hù)輸入的目標(biāo)直播間的直播視頻獲取指令時(shí),無(wú)需采用等停模式一次向服務(wù)器發(fā)送connect指令、creatstream指令和play指令,而是一次性將connect指令、creatstream指令和play指令發(fā)送至服務(wù)器。其中,play指令中攜帶的流標(biāo)識(shí)可以是1。
可選的,終端向服務(wù)器發(fā)送的直播視頻獲取請(qǐng)求中還可以攜帶有協(xié)議版本標(biāo)識(shí)。
在實(shí)施中,修改后的rtmp可以具有特定的協(xié)議版本標(biāo)識(shí),其中,該特定的協(xié)議版本標(biāo)識(shí)可以區(qū)別于現(xiàn)有的正在使用的rtmp的協(xié)議版本標(biāo)識(shí),例如,修改后的rtmp的協(xié)議版本標(biāo)識(shí)可以是區(qū)別于現(xiàn)有的正在使用的rtmp的協(xié)議版本標(biāo)識(shí)的特定數(shù)字(比如可以是1),也可以是特定數(shù)字與魔法碼magiccode(比如可以是0x2112ffeeeeff2112)的組合。
在步驟102中,服務(wù)器接收終端發(fā)送的目標(biāo)直播間的直播視頻獲取請(qǐng)求,其中,直播視頻獲取請(qǐng)求中攜帶有目標(biāo)指令,目標(biāo)指令包括連接服務(wù)器子應(yīng)用connect指令、創(chuàng)建媒體流creatstream指令和播放媒體流play指令。
在實(shí)施中,終端向服務(wù)器發(fā)送攜帶有connect指令、creatstream指令和play指令的直播視頻獲取請(qǐng)求后,服務(wù)器可以接收終端發(fā)送的直播視頻獲取請(qǐng)求,并對(duì)其進(jìn)行解析,獲取其中攜帶的connect指令、creatstream指令和play指令。
在步驟103中,服務(wù)器執(zhí)行對(duì)應(yīng)目標(biāo)指令的處理,如果執(zhí)行成功,則向終端發(fā)送目標(biāo)直播間對(duì)應(yīng)的直播視頻。
在實(shí)施中,服務(wù)器獲取到終端發(fā)送的connect指令、creatstream指令和play指令后,可以分別執(zhí)行對(duì)應(yīng)connect指令、creatstream指令和play指令的處理,如果上述三個(gè)指令對(duì)應(yīng)的處理都執(zhí)行成功,則服務(wù)器可以向終端發(fā)送目標(biāo)直播間對(duì)應(yīng)的直播視頻。
可選的,針對(duì)直播視頻獲取請(qǐng)求中攜帶有協(xié)議版本標(biāo)識(shí)的情況,服務(wù)器接收到直播視頻獲取請(qǐng)求后的處理可以如下:如果直播視頻獲取請(qǐng)求中攜帶的協(xié)議版本標(biāo)識(shí)為目標(biāo)版本標(biāo)識(shí),則執(zhí)行對(duì)應(yīng)目標(biāo)指令的處理。
在實(shí)施中,服務(wù)器獲取到直播視頻獲取請(qǐng)求中攜帶的協(xié)議版本標(biāo)識(shí)后,可以判斷直播視頻獲取請(qǐng)求中攜帶的協(xié)議版本標(biāo)識(shí)是否為預(yù)設(shè)的目標(biāo)版本標(biāo)識(shí)(其中,預(yù)設(shè)的目標(biāo)版本標(biāo)識(shí)即是本方案提供的修改后的rtmp的協(xié)議版本標(biāo)識(shí)),如果直播視頻獲取請(qǐng)求中攜帶的協(xié)議版本標(biāo)識(shí)為目標(biāo)版本標(biāo)識(shí),則服務(wù)器可以執(zhí)行對(duì)應(yīng)目標(biāo)指令的處理,否則,服務(wù)器可以執(zhí)行預(yù)設(shè)的現(xiàn)有的標(biāo)準(zhǔn)rtmp下的處理過(guò)程。這樣,服務(wù)器既可以支持現(xiàn)有的標(biāo)準(zhǔn)rtmp下的處理過(guò)程,也可以支持本方案提供的修改后的rtmp下的處理過(guò)程。針對(duì)目標(biāo)協(xié)議版本標(biāo)識(shí)為特定數(shù)字與魔法碼組合的情況,服務(wù)器接收到直播視頻獲取請(qǐng)求后,然后可以判斷第一預(yù)設(shè)位置上的信息(比如第一個(gè)字節(jié)上的信息)是否為目標(biāo)數(shù)字(比如1),如果不是,則可以執(zhí)行現(xiàn)有的標(biāo)準(zhǔn)rtmp下的處理過(guò)程,如果是,則可以繼續(xù)判斷第二預(yù)設(shè)位置上的信息(比如第二至九個(gè)字節(jié)上的信息)是否為目標(biāo)魔法碼,如果是,則可以執(zhí)行對(duì)應(yīng)目標(biāo)指令的處理,如果不是,則可以執(zhí)行現(xiàn)有的標(biāo)準(zhǔn)rtmp下的處理過(guò)程。
可選的,服務(wù)器對(duì)目標(biāo)指令對(duì)應(yīng)的處理執(zhí)行成功后,還可以向終端發(fā)送響應(yīng)信息,相應(yīng)的,步驟103的處理過(guò)程可以如下:如果執(zhí)行成功,則向終端發(fā)送對(duì)應(yīng)目標(biāo)指令的響應(yīng)信息,并向終端發(fā)送目標(biāo)直播間對(duì)應(yīng)的直播視頻。
在實(shí)施中,服務(wù)器對(duì)上述三個(gè)指令對(duì)應(yīng)的處理執(zhí)行成功后,可以向終端發(fā)送對(duì)應(yīng)目標(biāo)指令的響應(yīng)信息,即可以向終端發(fā)送分別對(duì)應(yīng)connect指令、creatstream指令和play指令的響應(yīng)信息(其中,上述三個(gè)指令對(duì)應(yīng)的響應(yīng)信息可以是同時(shí)發(fā)送至終端的),發(fā)送響應(yīng)信息后,可以向終端發(fā)送目標(biāo)直播間對(duì)應(yīng)的直播視頻。
可選的,當(dāng)服務(wù)器對(duì)上述三個(gè)指令中的任一指令對(duì)應(yīng)的處理執(zhí)行失敗后,還可以向終端發(fā)送失敗通知,相應(yīng)的,處理過(guò)程可以如下:如果執(zhí)行失敗,則向終端發(fā)送對(duì)應(yīng)目標(biāo)指令的失敗通知。
在實(shí)施中,服務(wù)器可以依次執(zhí)行connect指令、creatstream指令和play指令,即服務(wù)器接收到直播視頻獲取請(qǐng)求后,可以先執(zhí)行對(duì)應(yīng)connect指令的處理,若執(zhí)行失敗,可以不再執(zhí)行對(duì)應(yīng)creatstream指令和play指令的處理,直接向終端發(fā)送對(duì)應(yīng)目標(biāo)指令(即connect指令)的失敗通知并關(guān)閉網(wǎng)絡(luò)連接,若執(zhí)行成功,則可以繼續(xù)執(zhí)行對(duì)應(yīng)creatstream指令的處理,若執(zhí)行失敗,可以不再執(zhí)行對(duì)應(yīng)play指令的處理,直接向終端發(fā)送對(duì)應(yīng)目標(biāo)指令(即creatstream指令)的失敗通知并關(guān)閉網(wǎng)絡(luò)連接,若執(zhí)行成功,則可以繼續(xù)執(zhí)行對(duì)應(yīng)play指令的處理,如果執(zhí)行成功,則可以向終端發(fā)送目標(biāo)直播間的直播視頻,和對(duì)應(yīng)目標(biāo)指令的響應(yīng)信息,若執(zhí)行失敗,可以向終端發(fā)送對(duì)應(yīng)目標(biāo)指令(即play指令)的失敗通知并關(guān)閉網(wǎng)絡(luò)連接,其中,失敗通知中可以攜帶有失敗錯(cuò)誤碼。
相應(yīng)的,終端可以接收服務(wù)器發(fā)送的失敗通知。接收到失敗通知后,終端可以按照現(xiàn)有的rtmp下的處理過(guò)程,再次向服務(wù)器獲取目標(biāo)直播間的直播視頻。
在步驟104中,終端接收服務(wù)器發(fā)送的目標(biāo)直播間對(duì)應(yīng)的直播視頻。
在實(shí)施中,服務(wù)器向終端發(fā)送目標(biāo)直播間對(duì)應(yīng)的直播視頻后,終端可以接收服務(wù)器發(fā)送的直播視頻。
在步驟105中,終端播放直播視頻。
在實(shí)施中,終端接收到直播視頻后,可以對(duì)直播視頻進(jìn)行播放。
可選的,針對(duì)服務(wù)器向終端發(fā)送響應(yīng)信息的情況,終端還可以進(jìn)行如下處理:接收服務(wù)器發(fā)送的對(duì)應(yīng)目標(biāo)指令的響應(yīng)信息。相應(yīng)的,步驟105的處理過(guò)程可以如下:如果對(duì)應(yīng)目標(biāo)指令的響應(yīng)信息正確,則播放直播視頻。
在實(shí)施中,服務(wù)器向終端發(fā)送對(duì)應(yīng)目標(biāo)指令的響應(yīng)信息后,終端可以接收終端發(fā)送的響應(yīng)信息,并可以判斷對(duì)應(yīng)目標(biāo)指令的響應(yīng)信息是否正確(例如,終端中可以預(yù)先存儲(chǔ)有目標(biāo)指令對(duì)應(yīng)的正確響應(yīng)信息,接收到服務(wù)器發(fā)送的響應(yīng)信息后,可以將接收到的響應(yīng)信息與預(yù)先存儲(chǔ)的正確響應(yīng)信息作比較,如果相同,則可以判定服務(wù)器發(fā)送的響應(yīng)信息正確,否則,可判定為錯(cuò)位),如果對(duì)應(yīng)目標(biāo)指令的響應(yīng)信息正確,則可以播放直播視頻,其中,終端接收到的直播視頻可以放在緩存中,如果對(duì)應(yīng)目標(biāo)指令的響應(yīng)信息正確,則可以播放存儲(chǔ)在緩存中的直播視頻。如果對(duì)應(yīng)目標(biāo)指令的響應(yīng)信息錯(cuò)誤,則終端可以關(guān)閉已建立的網(wǎng)絡(luò)連接,按照現(xiàn)有的rtmp下的處理過(guò)程,再次向服務(wù)器獲取目標(biāo)直播間的直播視頻。
另外,終端接收到服務(wù)器發(fā)送的直播視頻后,還可以對(duì)直播視頻的格式進(jìn)行轉(zhuǎn)換。具體的,服務(wù)器向終端發(fā)送的直播視頻可以是rtmp格式的直播視頻數(shù)據(jù)包,終端接收到rtmp格式的直播視頻數(shù)據(jù)包后,可以對(duì)其進(jìn)行解封裝,提取出時(shí)間戳、視頻數(shù)據(jù),然后,可以按照f(shuō)lv(flashvideo,流媒體)格式將提取出的時(shí)間戳、視頻數(shù)據(jù)封裝成flv格式,并可以將flv格式的直播視頻發(fā)送至netstream(其中,netstream是一種組件名稱(chēng))組件,netstream對(duì)flv格式的直播視頻經(jīng)過(guò)一定處理后,可以將處理后的flv格式的直播視頻發(fā)送至與netstream關(guān)聯(lián)的video(其中,video是一種組件名稱(chēng))組件,最后,video組件可以對(duì)視頻數(shù)據(jù)進(jìn)行播放。其中,如果對(duì)應(yīng)目標(biāo)指令的響應(yīng)信息錯(cuò)誤,則可以通過(guò)netconnection(其中,netconnection是一種組件名稱(chēng))組件按照現(xiàn)有的標(biāo)準(zhǔn)rtmp下的處理過(guò)程與服務(wù)器建立通信,成功建立后,可以將netconnection組件與netstream組件關(guān)聯(lián)。
本公開(kāi)實(shí)施例中,當(dāng)接收到用戶(hù)輸入的目標(biāo)直播間的直播視頻獲取指令后,終端可以向服務(wù)器發(fā)送攜帶有connect指令、creatstream指令和play指令的直播視頻獲取請(qǐng)求,服務(wù)器接收到直播視頻獲取請(qǐng)求后,可以獲取其中的connect指令、creatstream指令和play指令,并可以執(zhí)行對(duì)應(yīng)的處理,如果執(zhí)行成功,則可以向終端發(fā)送直播視頻。這樣,終端可以一次性將connect指令、creatstream指令和play指令發(fā)送至服務(wù)器,服務(wù)器可以一次性執(zhí)行對(duì)應(yīng)的處理,無(wú)需終端采用等停模式發(fā)送上述指令,從而,可以縮短終端接收到目標(biāo)直播間的直播視頻獲取指令后的等待時(shí)長(zhǎng),即可以縮短終端獲取直播視頻的時(shí)長(zhǎng)。
本公開(kāi)又一示例性實(shí)施例提供了一種終端,如圖3所示,該終端包括:
發(fā)送模塊310,用于當(dāng)接收到目標(biāo)直播間的直播視頻獲取指令時(shí),向服務(wù)器發(fā)送目標(biāo)直播間的直播視頻獲取請(qǐng)求,其中,所述直播視頻獲取請(qǐng)求中攜帶有目標(biāo)指令,所述目標(biāo)指令包括連接服務(wù)器子應(yīng)用connect指令、創(chuàng)建媒體流creatstream指令和播放媒體流play指令;
接收模塊320,用于接收所述服務(wù)器發(fā)送的所述目標(biāo)直播間對(duì)應(yīng)的直播視頻;
播放模塊330,用于播放所述直播視頻。
可選的,所述直播視頻獲取請(qǐng)求還攜帶有協(xié)議版本標(biāo)識(shí)。
可選的,所述接收模塊320,還用于:
接收所述服務(wù)器發(fā)送的對(duì)應(yīng)所述目標(biāo)指令的響應(yīng)信息;
所述播放模塊330,用于:
如果對(duì)應(yīng)所述目標(biāo)指令的響應(yīng)信息正確,則播放所述直播視頻。
基于相同的技術(shù)構(gòu)思,本公開(kāi)又一示例性實(shí)施例提供了一種服務(wù)器,如圖4所示,該服務(wù)器包括:
接收模塊410,用于接收終端發(fā)送的目標(biāo)直播間的直播視頻獲取請(qǐng)求,其中,所述直播視頻獲取請(qǐng)求中攜帶有目標(biāo)指令,所述目標(biāo)指令包括連接服務(wù)器子應(yīng)用connect指令、創(chuàng)建媒體流creatstream指令和播放媒體流play指令;
執(zhí)行模塊420,用于執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理;
發(fā)送模塊430,用于如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
可選的,所述直播視頻獲取請(qǐng)求還攜帶有協(xié)議版本標(biāo)識(shí);
所述執(zhí)行模塊420,用于:
如果所述直播視頻獲取請(qǐng)求中攜帶的協(xié)議版本標(biāo)識(shí)為目標(biāo)版本標(biāo)識(shí),則執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理。
可選的,所述發(fā)送模塊430,用于:
如果執(zhí)行成功,則向所述終端發(fā)送對(duì)應(yīng)所述目標(biāo)指令的響應(yīng)信息,并向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
可選的,所述發(fā)送模塊430,還用于:
如果執(zhí)行失敗,則向所述終端發(fā)送對(duì)應(yīng)所述目標(biāo)指令的失敗通知。
可選的,所述執(zhí)行模塊420,用于:
執(zhí)行對(duì)應(yīng)所述connect指令的處理,如果執(zhí)行成功,則執(zhí)行對(duì)應(yīng)所述creatstream指令的處理,如果執(zhí)行成功,則執(zhí)行對(duì)應(yīng)所述play指令的處理;
所述發(fā)送模塊430,用于:
如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
可選的,所述發(fā)送模塊430,還用于:
如果對(duì)對(duì)應(yīng)所述connect指令的處理執(zhí)行失敗,則向終端發(fā)送對(duì)應(yīng)所述connect指令的失敗通知并關(guān)閉網(wǎng)絡(luò)連接,如果對(duì)對(duì)應(yīng)所述creatstream指令的處理執(zhí)行失敗,則向終端發(fā)送對(duì)應(yīng)所述creatstream指令的失敗通知并關(guān)閉網(wǎng)絡(luò)連接,如果對(duì)對(duì)應(yīng)所述play指令的處理執(zhí)行失敗,則向終端發(fā)送對(duì)應(yīng)所述play指令的失敗通知并關(guān)閉網(wǎng)絡(luò)連接。
關(guān)于上述實(shí)施例中的裝置,其中各個(gè)模塊執(zhí)行操作的具體方式已經(jīng)在有關(guān)該方法的實(shí)施例中進(jìn)行了詳細(xì)描述,此處將不做詳細(xì)闡述說(shuō)明。
本公開(kāi)實(shí)施例中,當(dāng)接收到用戶(hù)輸入的目標(biāo)直播間的直播視頻獲取指令后,終端可以向服務(wù)器發(fā)送攜帶有connect指令、creatstream指令和play指令的直播視頻獲取請(qǐng)求,服務(wù)器接收到直播視頻獲取請(qǐng)求后,可以獲取其中的connect指令、creatstream指令和play指令,并可以執(zhí)行對(duì)應(yīng)的處理,如果執(zhí)行成功,則可以向終端發(fā)送直播視頻。這樣,終端可以一次性將connect指令、creatstream指令和play指令發(fā)送至服務(wù)器,服務(wù)器可以一次性執(zhí)行對(duì)應(yīng)的處理,無(wú)需終端采用等停模式發(fā)送上述指令,從而,可以縮短終端接收到目標(biāo)直播間的直播視頻獲取指令后的等待時(shí)長(zhǎng),即可以縮短終端獲取直播視頻的時(shí)長(zhǎng)。
需要說(shuō)明的是:上述實(shí)施例提供的播放直播視頻的裝置在播放直播視頻時(shí),僅以上述各功能模塊的劃分進(jìn)行舉例說(shuō)明,實(shí)際應(yīng)用中,可以根據(jù)需要而將上述功能分配由不同的功能模塊完成,即將設(shè)備的內(nèi)部結(jié)構(gòu)劃分成不同的功能模塊,以完成以上描述的全部或者部分功能。另外,上述實(shí)施例提供的播放直播視頻的裝置與播放直播視頻的方法實(shí)施例屬于同一構(gòu)思,其具體實(shí)現(xiàn)過(guò)程詳見(jiàn)方法實(shí)施例,這里不再贅述。
本公開(kāi)再一示例性實(shí)施例示出了一種播放直播視頻的系統(tǒng),所述系統(tǒng)包括終端和服務(wù)器,其中:
所述終端,用于當(dāng)接收到目標(biāo)直播間的直播視頻獲取指令時(shí),向服務(wù)器發(fā)送目標(biāo)直播間的直播視頻獲取請(qǐng)求,其中,所述直播視頻獲取請(qǐng)求中攜帶有目標(biāo)指令,所述目標(biāo)指令包括連接服務(wù)器子應(yīng)用connect指令、創(chuàng)建媒體流creatstream指令和播放媒體流play指令,接收所述服務(wù)器發(fā)送的所述目標(biāo)直播間對(duì)應(yīng)的直播視頻,播放所述直播視頻;
所述服務(wù)器,用于接收終端發(fā)送的目標(biāo)直播間的直播視頻獲取請(qǐng)求,執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理,如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
本公開(kāi)實(shí)施例中,當(dāng)接收到用戶(hù)輸入的目標(biāo)直播間的直播視頻獲取指令后,終端可以向服務(wù)器發(fā)送攜帶有connect指令、creatstream指令和play指令的直播視頻獲取請(qǐng)求,服務(wù)器接收到直播視頻獲取請(qǐng)求后,可以獲取其中的connect指令、creatstream指令和play指令,并可以執(zhí)行對(duì)應(yīng)的處理,如果執(zhí)行成功,則可以向終端發(fā)送直播視頻。這樣,終端可以一次性將connect指令、creatstream指令和play指令發(fā)送至服務(wù)器,服務(wù)器可以一次性執(zhí)行對(duì)應(yīng)的處理,無(wú)需終端采用等停模式發(fā)送上述指令,從而,可以縮短終端接收到目標(biāo)直播間的直播視頻獲取指令后的等待時(shí)長(zhǎng),即可以縮短終端獲取直播視頻的時(shí)長(zhǎng)。
本公開(kāi)再一示例性實(shí)施例示出了一種終端的結(jié)構(gòu)示意圖。該終端可以是手機(jī)、個(gè)人電腦等。
參照?qǐng)D5,終端500可以包括以下一個(gè)或多個(gè)組件:處理組件502,存儲(chǔ)器504,電源組件506,多媒體組件508,音頻組件510,輸入/輸出(i/o)的接口512,傳感器組件514,以及通信組件516。
處理組件502通??刂平K端500的整體操作,諸如與顯示,電話(huà)呼叫,數(shù)據(jù)通信,相機(jī)操作和記錄操作相關(guān)聯(lián)的操作。處理元件502可以包括一個(gè)或多個(gè)處理器520來(lái)執(zhí)行指令,以完成上述的方法的全部或部分步驟。此外,處理組件502可以包括一個(gè)或多個(gè)模塊,便于處理組件502和其他組件之間的交互。例如,處理部件502可以包括多媒體模塊,以方便多媒體組件508和處理組件502之間的交互。
存儲(chǔ)器504被配置為存儲(chǔ)各種類(lèi)型的數(shù)據(jù)以支持在終端500的操作。這些數(shù)據(jù)的示例包括用于在終端500上操作的任何應(yīng)用程序或方法的指令,聯(lián)系人數(shù)據(jù),電話(huà)簿數(shù)據(jù),消息,圖片,視頻等。存儲(chǔ)器504可以由任何類(lèi)型的易失性或非易失性存儲(chǔ)設(shè)備或者它們的組合實(shí)現(xiàn),如靜態(tài)隨機(jī)存取存儲(chǔ)器(sram),電可擦除可編程只讀存儲(chǔ)器(eeprom),可擦除可編程只讀存儲(chǔ)器(eprom),可編程只讀存儲(chǔ)器(prom),只讀存儲(chǔ)器(rom),磁存儲(chǔ)器,快閃存儲(chǔ)器,磁盤(pán)或光盤(pán)。
電力組件506為終端500的各種組件提供電力。電力組件506可以包括電源管理系統(tǒng),一個(gè)或多個(gè)電源,及其他與為音頻輸出設(shè)備500生成、管理和分配電力相關(guān)聯(lián)的組件。
多媒體組件508包括在所述終端500和用戶(hù)之間的提供一個(gè)輸出接口的屏幕。在一些實(shí)施例中,屏幕可以包括液晶顯示器(lcd)和觸摸面板(tp)。如果屏幕包括觸摸面板,屏幕可以被實(shí)現(xiàn)為觸摸屏,以接收來(lái)自用戶(hù)的輸入信號(hào)。觸摸面板包括一個(gè)或多個(gè)觸摸傳感器以感測(cè)觸摸、滑動(dòng)和觸摸面板上的手勢(shì)。所述觸摸傳感器可以不僅感測(cè)觸摸或滑動(dòng)動(dòng)作的邊界,而且還檢測(cè)與所述觸摸或滑動(dòng)操作相關(guān)的持續(xù)時(shí)間和壓力。在一些實(shí)施例中,多媒體組件508包括一個(gè)前置攝像頭和/或后置攝像頭。當(dāng)終端500處于操作模式,如拍攝模式或視頻模式時(shí),前置攝像頭和/或后置攝像頭可以接收外部的多媒體數(shù)據(jù)。每個(gè)前置攝像頭和后置攝像頭可以是一個(gè)固定的光學(xué)透鏡系統(tǒng)或具有焦距和光學(xué)變焦能力。
音頻組件510被配置為輸出和/或輸入音頻信號(hào)。例如,音頻組件510包括一個(gè)麥克風(fēng)(mic),當(dāng)音頻輸出設(shè)備500處于操作模式,如呼叫模式、記錄模式和語(yǔ)音識(shí)別模式時(shí),麥克風(fēng)被配置為接收外部音頻信號(hào)。所接收的音頻信號(hào)可以被進(jìn)一步存儲(chǔ)在存儲(chǔ)器504或經(jīng)由通信組件516發(fā)送。
i/o接口512為處理組件502和外圍接口模塊之間提供接口,上述外圍接口模塊可以是鍵盤(pán),點(diǎn)擊輪,按鈕等。這些按鈕可包括但不限于:主頁(yè)按鈕、音量按鈕、啟動(dòng)按鈕和鎖定按鈕。
傳感器組件514包括一個(gè)或多個(gè)傳感器,用于為終端500提供各個(gè)方面的狀態(tài)評(píng)估。例如,傳感器組件514可以檢測(cè)到終端500的打開(kāi)/關(guān)閉狀態(tài),組件的相對(duì)定位,例如所述組件為終端500的顯示器和小鍵盤(pán),傳感器組件514還可以檢測(cè)終端500或終端500一個(gè)組件的位置改變,用戶(hù)與終端500接觸的存在或不存在,終端500方位或加速/減速和終端500的溫度變化。傳感器組件514可以包括接近傳感器,被配置用來(lái)在沒(méi)有任何的物理接觸時(shí)檢測(cè)附近物體的存在。傳感器組件514還可以包括光傳感器,如cmos或ccd圖像傳感器,用于在成像應(yīng)用中使用。在一些實(shí)施例中,該傳感器組件514還可以包括加速度傳感器,陀螺儀傳感器,磁傳感器,壓力傳感器或溫度傳感器。
通信組件516被配置為便于終端500和其他設(shè)備之間有線(xiàn)或無(wú)線(xiàn)方式的通信。終端500可以接入基于通信標(biāo)準(zhǔn)的無(wú)線(xiàn)網(wǎng)絡(luò),如wifi,2g或3g,或它們的組合。在一個(gè)示例性實(shí)施例中,通信部件516經(jīng)由廣播信道接收來(lái)自外部廣播管理系統(tǒng)的廣播信號(hào)或廣播相關(guān)信息。在一個(gè)示例性實(shí)施例中,所述通信部件516還包括近場(chǎng)通信(nfc)模塊,以促進(jìn)短程通信。例如,在nfc模塊可基于射頻識(shí)別(rfid)技術(shù),紅外數(shù)據(jù)協(xié)會(huì)(irda)技術(shù),超寬帶(uwb)技術(shù),藍(lán)牙(bt)技術(shù)和其他技術(shù)來(lái)實(shí)現(xiàn)。
在示例性實(shí)施例中,終端500可以被一個(gè)或多個(gè)應(yīng)用專(zhuān)用集成電路(asic)、數(shù)字信號(hào)處理器(dsp)、數(shù)字信號(hào)處理設(shè)備(dspd)、可編程邏輯器件(pld)、現(xiàn)場(chǎng)可編程門(mén)陣列(fpga)、控制器、微控制器、微處理器或其他電子元件實(shí)現(xiàn),用于執(zhí)行上述方法。
在示例性實(shí)施例中,還提供了一種包括指令的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),例如包括指令的存儲(chǔ)器504,上述指令可由終端500的處理器520執(zhí)行以完成上述方法。例如,所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是rom、隨機(jī)存取存儲(chǔ)器(ram)、cd-rom、磁帶、軟盤(pán)和光數(shù)據(jù)存儲(chǔ)設(shè)備等。
一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),當(dāng)所述存儲(chǔ)介質(zhì)中的指令由終端的處理器執(zhí)行時(shí),使得終端能夠執(zhí)行播放直播視頻的方法,該方法包括:
當(dāng)接收到目標(biāo)直播間的直播視頻獲取指令時(shí),向服務(wù)器發(fā)送目標(biāo)直播間的直播視頻獲取請(qǐng)求,其中,所述直播視頻獲取請(qǐng)求中攜帶有目標(biāo)指令,所述目標(biāo)指令包括連接服務(wù)器子應(yīng)用connect指令、創(chuàng)建媒體流creatstream指令和播放媒體流play指令;
接收所述服務(wù)器發(fā)送的所述目標(biāo)直播間對(duì)應(yīng)的直播視頻;
播放所述直播視頻。
可選的,所述直播視頻獲取請(qǐng)求還攜帶有協(xié)議版本標(biāo)識(shí)。
可選的,所述方法還包括:
接收所述服務(wù)器發(fā)送的對(duì)應(yīng)所述目標(biāo)指令的響應(yīng)信息;
所述播放所述直播視頻,包括:
如果對(duì)應(yīng)所述目標(biāo)指令的響應(yīng)信息正確,則播放所述直播視頻。
本公開(kāi)實(shí)施例中,當(dāng)接收到用戶(hù)輸入的目標(biāo)直播間的直播視頻獲取指令后,終端可以向服務(wù)器發(fā)送攜帶有connect指令、creatstream指令和play指令的直播視頻獲取請(qǐng)求,服務(wù)器接收到直播視頻獲取請(qǐng)求后,可以獲取其中的connect指令、creatstream指令和play指令,并可以執(zhí)行對(duì)應(yīng)的處理,如果執(zhí)行成功,則可以向終端發(fā)送直播視頻。這樣,終端可以一次性將connect指令、creatstream指令和play指令發(fā)送至服務(wù)器,服務(wù)器可以一次性執(zhí)行對(duì)應(yīng)的處理,無(wú)需終端采用等停模式發(fā)送上述指令,從而,可以縮短終端接收到目標(biāo)直播間的直播視頻獲取指令后的等待時(shí)長(zhǎng),即可以縮短終端獲取直播視頻的時(shí)長(zhǎng)。
圖6是根據(jù)一示例性實(shí)施例示出的一種播放直播視頻的裝置1900的框圖。例如,裝置1900可以被提供為一服務(wù)器。參照?qǐng)D6,裝置1900包括處理組件1922,其進(jìn)一步包括一個(gè)或多個(gè)處理器,以及由存儲(chǔ)器1932所代表的存儲(chǔ)器資源,用于存儲(chǔ)可由處理部件1922的執(zhí)行的指令,例如應(yīng)用程序。存儲(chǔ)器1932中存儲(chǔ)的應(yīng)用程序可以包括一個(gè)或一個(gè)以上的每一個(gè)對(duì)應(yīng)于一組指令的模塊。此外,處理組件1922被配置為執(zhí)行指令,以執(zhí)行上述播放直播視頻的方法。
裝置1900還可以包括一個(gè)電源組件1926被配置為執(zhí)行裝置1900的電源管理,一個(gè)有線(xiàn)或無(wú)線(xiàn)網(wǎng)絡(luò)接口1950被配置為將裝置1900連接到網(wǎng)絡(luò),和一個(gè)輸入輸出(i/o)接口1958。裝置1900可以操作基于存儲(chǔ)在存儲(chǔ)器1932的操作系統(tǒng),例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm或類(lèi)似。
裝置1900可以包括有存儲(chǔ)器,以及一個(gè)或者一個(gè)以上的程序,其中一個(gè)或者一個(gè)以上程序存儲(chǔ)于存儲(chǔ)器中,且經(jīng)配置以由一個(gè)或者一個(gè)以上處理器執(zhí)行所述一個(gè)或者一個(gè)以上程序包含用于進(jìn)行以下操作的指令:
接收終端發(fā)送的目標(biāo)直播間的直播視頻獲取請(qǐng)求,其中,所述直播視頻獲取請(qǐng)求中攜帶有目標(biāo)指令,所述目標(biāo)指令包括連接服務(wù)器子應(yīng)用connect指令、創(chuàng)建媒體流creatstream指令和播放媒體流play指令;
執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理,如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
可選的,所述直播視頻獲取請(qǐng)求還攜帶有協(xié)議版本標(biāo)識(shí);
所述執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理,包括:
如果所述直播視頻獲取請(qǐng)求中攜帶的協(xié)議版本標(biāo)識(shí)為目標(biāo)版本標(biāo)識(shí),則執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理。
可選的,所述如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻,包括:
如果執(zhí)行成功,則向所述終端發(fā)送對(duì)應(yīng)所述目標(biāo)指令的響應(yīng)信息,并向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
可選的,所述方法還包括:
如果執(zhí)行失敗,則向所述終端發(fā)送對(duì)應(yīng)所述目標(biāo)指令的失敗通知。
可選的,所述執(zhí)行對(duì)應(yīng)所述目標(biāo)指令的處理,如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻,包括:
執(zhí)行對(duì)應(yīng)所述connect指令的處理,如果執(zhí)行成功,則執(zhí)行對(duì)應(yīng)所述creatstream指令的處理,如果執(zhí)行成功,則執(zhí)行對(duì)應(yīng)所述play指令的處理,如果執(zhí)行成功,則向所述終端發(fā)送所述目標(biāo)直播間對(duì)應(yīng)的直播視頻。
可選的,如果對(duì)對(duì)應(yīng)所述connect指令的處理執(zhí)行失敗,則向終端發(fā)送對(duì)應(yīng)所述connect指令的失敗通知并關(guān)閉網(wǎng)絡(luò)連接,如果對(duì)對(duì)應(yīng)所述creatstream指令的處理執(zhí)行失敗,則向終端發(fā)送對(duì)應(yīng)所述creatstream指令的失敗通知并關(guān)閉網(wǎng)絡(luò)連接,如果對(duì)對(duì)應(yīng)所述play指令的處理執(zhí)行失敗,則向終端發(fā)送對(duì)應(yīng)所述play指令的失敗通知并關(guān)閉網(wǎng)絡(luò)連接。
本公開(kāi)實(shí)施例中,當(dāng)接收到用戶(hù)輸入的目標(biāo)直播間的直播視頻獲取指令后,終端可以向服務(wù)器發(fā)送攜帶有connect指令、creatstream指令和play指令的直播視頻獲取請(qǐng)求,服務(wù)器接收到直播視頻獲取請(qǐng)求后,可以獲取其中的connect指令、creatstream指令和play指令,并可以執(zhí)行對(duì)應(yīng)的處理,如果執(zhí)行成功,則可以向終端發(fā)送直播視頻。這樣,終端可以一次性將connect指令、creatstream指令和play指令發(fā)送至服務(wù)器,服務(wù)器可以一次性執(zhí)行對(duì)應(yīng)的處理,無(wú)需終端采用等停模式發(fā)送上述指令,從而,可以縮短終端接收到目標(biāo)直播間的直播視頻獲取指令后的等待時(shí)長(zhǎng),即可以縮短終端獲取直播視頻的時(shí)長(zhǎng)。
本領(lǐng)域技術(shù)人員在考慮說(shuō)明書(shū)及實(shí)踐這里公開(kāi)的公開(kāi)后,將容易想到本公開(kāi)的其它實(shí)施方案。本申請(qǐng)旨在涵蓋本公開(kāi)的任何變型、用途或者適應(yīng)性變化,這些變型、用途或者適應(yīng)性變化遵循本公開(kāi)的一般性原理并包括本公開(kāi)未公開(kāi)的本技術(shù)領(lǐng)域中的公知常識(shí)或慣用技術(shù)手段。說(shuō)明書(shū)和實(shí)施例僅被視為示例性的,本公開(kāi)的真正范圍和精神由下面的權(quán)利要求指出。
應(yīng)當(dāng)理解的是,本公開(kāi)并不局限于上面已經(jīng)描述并在附圖中示出的精確結(jié)構(gòu),并且可以在不脫離其范圍進(jìn)行各種修改和改變。本公開(kāi)的范圍僅由所附的權(quán)利要求來(lái)限制。