亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

直播視頻推送方法及裝置與流程

文檔序號(hào):11253933閱讀:657來源:國知局
直播視頻推送方法及裝置與流程

本發(fā)明涉及視頻直播領(lǐng)域,尤其涉及一種直播視頻推送方法及裝置。



背景技術(shù):

隨著通信技術(shù)的發(fā)展,出現(xiàn)了越來越多的娛樂方式,如微博、手機(jī)游戲、網(wǎng)絡(luò)視頻直播等,其中網(wǎng)絡(luò)視頻直播由于其直觀、內(nèi)容豐富等特點(diǎn),尤其受到人們的歡迎。

現(xiàn)有技術(shù)中,通常是主播客戶端將直播視頻流上傳至cdn節(jié)點(diǎn),觀看客戶端再從此cdn節(jié)點(diǎn)處獲取直播視頻流進(jìn)行觀看,也即是實(shí)現(xiàn)了視頻直播。然而在主播客戶端在實(shí)際推流的過程中,往往會(huì)出現(xiàn)一些推流不通暢的現(xiàn)象,而導(dǎo)致推流不通暢的原因可能是多方面的,因此,如何保證主播推流的通暢性,是亟需解決的問題。



技術(shù)實(shí)現(xiàn)要素:

有鑒于此,本發(fā)明實(shí)施例提供一種直播視頻推送方法及裝置,用以提高主播客戶端推流的通暢性。

本發(fā)明實(shí)施例提供一種直播視頻推送方法,包括:

若主播客戶端的直播視頻流推送不通暢,則檢測當(dāng)前使用的cdn節(jié)點(diǎn)是否正常;

若所述當(dāng)前使用的cdn節(jié)點(diǎn)異常,則重新獲取推流cdn節(jié)點(diǎn),所述推流cdn節(jié)點(diǎn)對應(yīng)的ip地址與所述主播客戶端對應(yīng)的ip地址具有預(yù)設(shè)對應(yīng)關(guān)系;

將直播視頻流發(fā)送至所述推流cdn節(jié)點(diǎn)。

可選地,所述檢測當(dāng)前使用的cdn節(jié)點(diǎn)是否正常,包括:

若所述主播客戶端對應(yīng)的ip地址與所述當(dāng)前使用的cdn節(jié)點(diǎn)對應(yīng)的ip地址不具有預(yù)設(shè)對應(yīng)關(guān)系,則所述當(dāng)前使用的cdn節(jié)點(diǎn)異常。

可選地,所述重新獲取推流cdn節(jié)點(diǎn),包括:

向服務(wù)器發(fā)送獲取請求,所述獲取請求中包括所述主播客戶端對應(yīng)的ip地址;

接收服務(wù)器發(fā)送的n個(gè)cdn節(jié)點(diǎn)的推流地址,所述n個(gè)cdn節(jié)點(diǎn)對應(yīng)的ip地址與所述主播客戶端對應(yīng)的ip地址具有預(yù)設(shè)對應(yīng)關(guān)系,n取1至預(yù)設(shè)數(shù)值;

從所述n個(gè)cdn節(jié)點(diǎn)中選擇出所述推流cdn節(jié)點(diǎn)。

可選地,所述從所述n個(gè)cdn節(jié)點(diǎn)中選擇出所述推流cdn節(jié)點(diǎn),包括:

根據(jù)所述n個(gè)cdn節(jié)點(diǎn)的推流地址分別向所述n個(gè)cdn節(jié)點(diǎn)發(fā)送ping消息;

接收所述n個(gè)cdn節(jié)點(diǎn)分別發(fā)送的pong消息;

根據(jù)所述ping消息的發(fā)送時(shí)間以及所述pong消息的接收時(shí)間,確定所述n個(gè)cdn節(jié)點(diǎn)各自對應(yīng)的消息傳輸時(shí)間;

從所述n個(gè)cdn節(jié)點(diǎn)中選擇出對應(yīng)于最短的所述消息傳輸時(shí)間的cdn節(jié)點(diǎn)為所述推流cdn節(jié)點(diǎn)。

可選地,所述重新獲取推流cdn節(jié)點(diǎn)之后,還包括:

根據(jù)所述推流cdn節(jié)點(diǎn)對所述主播客戶端對應(yīng)的host進(jìn)行綁定。

本發(fā)明實(shí)施例提供一種直播視頻推送裝置,包括:

檢測模塊,用于若主播客戶端的直播視頻流推送不通暢,則檢測當(dāng)前使用的cdn節(jié)點(diǎn)是否正常;

獲取模塊,用于若所述當(dāng)前使用的cdn節(jié)點(diǎn)異常,則重新獲取推流cdn節(jié)點(diǎn),所述推流cdn節(jié)點(diǎn)對應(yīng)的ip地址與所述主播客戶端對應(yīng)的ip地址具有預(yù)設(shè)對應(yīng)關(guān)系;

發(fā)送模塊,用于將直播視頻流發(fā)送至所述推流cdn節(jié)點(diǎn)。

可選地,所述檢測模塊具體用于:若所述主播客戶端對應(yīng)的ip地址與所述當(dāng)前使用的cdn節(jié)點(diǎn)對應(yīng)的ip地址不具有預(yù)設(shè)對應(yīng)關(guān)系,則所述當(dāng)前使用的cdn節(jié)點(diǎn)異常。

可選地,所述獲取模塊包括:

發(fā)送單元,用于向服務(wù)器發(fā)送獲取請求,所述獲取請求中包括所述主播客戶端對應(yīng)的ip地址;

接收單元,用于接收服務(wù)器發(fā)送的n個(gè)cdn節(jié)點(diǎn)的推流地址,所述n個(gè)cdn節(jié)點(diǎn)對應(yīng)的ip地址與所述主播客戶端對應(yīng)的ip地址具有預(yù)設(shè)對應(yīng)關(guān)系,n取1至預(yù)設(shè)數(shù)值;

選擇單元,用于從所述n個(gè)cdn節(jié)點(diǎn)中選擇出所述推流cdn節(jié)點(diǎn)。

可選地,所述選擇單元具體用于:

根據(jù)所述n個(gè)cdn節(jié)點(diǎn)的推流地址分別向所述n個(gè)cdn節(jié)點(diǎn)發(fā)送ping消息;

接收所述n個(gè)cdn節(jié)點(diǎn)分別發(fā)送的pong消息;

根據(jù)所述ping消息的發(fā)送時(shí)間以及所述pong消息的接收時(shí)間,確定所述n個(gè)cdn節(jié)點(diǎn)各自對應(yīng)的消息傳輸時(shí)間;

從所述n個(gè)cdn節(jié)點(diǎn)中選擇出對應(yīng)于最短的所述消息傳輸時(shí)間的cdn節(jié)點(diǎn)為所述推流cdn節(jié)點(diǎn)。

可選地,該裝置還包括:綁定模塊,用于根據(jù)所述推流cdn節(jié)點(diǎn)對所述主播客戶端對應(yīng)的host進(jìn)行綁定。

本發(fā)明實(shí)施例提供的直播視頻推送方法及裝置,當(dāng)主播客戶端發(fā)生直播視頻流推送不通暢時(shí),主播客戶端立即檢測當(dāng)前使用的推流地址對應(yīng)的當(dāng)前使用的cdn節(jié)點(diǎn)是否正常。若檢測到cdn節(jié)點(diǎn)出現(xiàn)異常,則根據(jù)cdn節(jié)點(diǎn)對應(yīng)的ip地址與主播客戶端對應(yīng)的ip地址之間的預(yù)設(shè)對應(yīng)關(guān)系重新獲取推流cdn節(jié)點(diǎn)。由于重新獲得的推流cdn節(jié)點(diǎn)對應(yīng)的ip地址與主播客戶端對應(yīng)的ip地址是存在預(yù)設(shè)對應(yīng)關(guān)系的,并且此預(yù)設(shè)對應(yīng)關(guān)系的具體內(nèi)容是可以保證主播客戶端能夠重新獲得正常的推流cdn節(jié)點(diǎn)的,因此,利用此對應(yīng)關(guān)系可以保證重新獲得的推流cdn節(jié)點(diǎn)都是正常的。主播客戶端將直播視頻流推送至此正常的推流cdn節(jié)點(diǎn),避免了由于cdn節(jié)點(diǎn)異常造成的直播視頻流推送不流暢的情況,提高主播客戶端推流的通暢性。

附圖說明

為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。

圖1為本發(fā)明實(shí)施例提供的直播視頻推送方法實(shí)施例一的流程圖;

圖2為本發(fā)明實(shí)施例提供的直播視頻推送方法實(shí)施例二的流程圖;

圖3為本發(fā)明實(shí)施例提供的直播視頻推送裝置實(shí)施例一的結(jié)構(gòu)示意圖;

圖4為本發(fā)明實(shí)施例提供的直播視頻推送裝置實(shí)施例二的結(jié)構(gòu)示意圖。

具體實(shí)施方式

為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。基于本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。

在本發(fā)明實(shí)施例中使用的術(shù)語是僅僅出于描述特定實(shí)施例的目的,而非旨在限制本發(fā)明。在本發(fā)明實(shí)施例和所附權(quán)利要求書中所使用的單數(shù)形式的“一種”、“所述”和“該”也旨在包括多數(shù)形式,除非上下文清楚地表示其他含義,“多種”一般包含至少兩種,但是不排除包含至少一種的情況。

應(yīng)當(dāng)理解,本文中使用的術(shù)語“和/或”僅僅是一種描述關(guān)聯(lián)對象的關(guān)聯(lián)關(guān)系,表示可以存在三種關(guān)系,例如,a和/或b,可以表示:單獨(dú)存在a,同時(shí)存在a和b,單獨(dú)存在b這三種情況。另外,本文中字符“/”,一般表示前后關(guān)聯(lián)對象是一種“或”的關(guān)系。

應(yīng)當(dāng)理解,盡管在本發(fā)明實(shí)施例中可能采用術(shù)語第一、第二、第三等來描述xxx,但這些xxx不應(yīng)限于這些術(shù)語。這些術(shù)語僅用來將xxx彼此區(qū)分開。例如,在不脫離本發(fā)明實(shí)施例范圍的情況下,第一xxx也可以被稱為第二xxx,類似地,第二xxx也可以被稱為第一xxx。

取決于語境,如在此所使用的詞語“如果”、“若”可以被解釋成為“在……時(shí)”或“當(dāng)……時(shí)”或“響應(yīng)于確定”或“響應(yīng)于檢測”。類似地,取決于語境,短語“如果確定”或“如果檢測(陳述的條件或事件)”可以被解釋成為“當(dāng)確定時(shí)”或“響應(yīng)于確定”或“當(dāng)檢測(陳述的條件或事件)時(shí)”或“響應(yīng)于檢測(陳述的條件或事件)”。

還需要說明的是,術(shù)語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的商品或者系統(tǒng)不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種商品或者系統(tǒng)所固有的要素。在沒有更多限制的情況下,由語句“包括一個(gè)……”限定的要素,并不排除在包括所述要素的商品或者系統(tǒng)中還存在另外的相同要素。

圖1為本發(fā)明實(shí)施例提供的直播視頻推送方法實(shí)施例一的流程圖,本實(shí)施例提供的該直播視頻推送方法的執(zhí)行主體可以為主播客戶端。如圖1所示,該方法包括如下步驟:

s101,主播客戶端的直播視頻流推送不通暢時(shí),檢測當(dāng)前使用的cdn節(jié)點(diǎn)是否正常,若當(dāng)前使用的cdn節(jié)點(diǎn)異常則執(zhí)行步驟s102,否則結(jié)束。

當(dāng)主播客戶端的直播視頻流推送不通暢時(shí),主播客戶端立即檢測該主播客戶端當(dāng)前使用的cdn節(jié)點(diǎn)是否正常。

可選地,可以通過檢測主播客戶端對應(yīng)的ip地址與當(dāng)前的使用的cdn節(jié)點(diǎn)對應(yīng)的ip地址之間是否具有預(yù)設(shè)對應(yīng)關(guān)系來判斷主播客戶端當(dāng)前使用的cdn節(jié)點(diǎn)是否正常。當(dāng)主播客戶端對應(yīng)的ip地址與當(dāng)前使用的cdn節(jié)點(diǎn)對應(yīng)的ip地址不具有預(yù)設(shè)對應(yīng)關(guān)系時(shí),則表明主播客戶端當(dāng)前所使用的cnd節(jié)點(diǎn)是異常的??蛇x地,該預(yù)設(shè)對應(yīng)關(guān)系可以具體反映客戶端對應(yīng)的ip地址與當(dāng)前正在使用的推流cdn節(jié)點(diǎn)對應(yīng)的ip地址之間網(wǎng)絡(luò)運(yùn)營商和/或地理位置的對應(yīng)性。

可選地,還可以通過檢測主播客戶端與當(dāng)前正在使用的cdn節(jié)點(diǎn)之間的丟包率來判斷主播客戶端當(dāng)前使用的cdn節(jié)點(diǎn)是否正常。如果丟包率大于預(yù)設(shè)閾值則表示主播客戶端當(dāng)前使用的cdn節(jié)點(diǎn)是異常的。

s102,重新獲取推流cdn節(jié)點(diǎn),推流cdn節(jié)點(diǎn)的ip地址與主播客戶端對應(yīng)的ip地址具有預(yù)設(shè)對應(yīng)關(guān)系。

當(dāng)主播客戶端檢測到當(dāng)前使用的cdn節(jié)點(diǎn)異常時(shí),主播客戶端可以向服務(wù)器發(fā)送獲取請求,請求中可以包含主播客戶端對應(yīng)的ip地址。服務(wù)器根據(jù)主播客戶端對應(yīng)的ip地址,以及cdn節(jié)點(diǎn)對應(yīng)的ip地址與主播客戶端對應(yīng)的ip地址之間的預(yù)設(shè)對應(yīng)關(guān)系在眾多cdn節(jié)點(diǎn)中以隨機(jī)選擇方式或依據(jù)預(yù)設(shè)的選擇策略選擇的方式選出一個(gè)cdn節(jié)點(diǎn)作為推流cdn節(jié)點(diǎn),并將該推流cdn節(jié)點(diǎn)對應(yīng)的推流地址發(fā)送至主播客戶端。主播客戶端接收此重新選出的推流cdn節(jié)點(diǎn),也即是重新獲取了一個(gè)推流cdn節(jié)點(diǎn)。

可選地,該預(yù)設(shè)對應(yīng)關(guān)系可以包括cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商與主播客戶端對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商之間的對應(yīng)關(guān)系。具體地,cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商與主播客戶端對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商相同。根據(jù)此對應(yīng)關(guān)系,重新獲取的推流cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商與主播客戶端對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商是相同的。例如,直播客戶端對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商為聯(lián)通,則重新獲取的推流cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商也為聯(lián)通。

可選地,該預(yù)設(shè)對應(yīng)關(guān)系可以包括cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的位置與主播客戶端對應(yīng)的ip地址所屬的地理位置之間的對應(yīng)關(guān)系。具體地,cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的地理位置與主播客戶端對應(yīng)的ip地址所屬的地理位置相同或相近。根據(jù)此對應(yīng)關(guān)系,重新獲取的推流cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的地理位置與主播客戶端對應(yīng)的ip地址所屬的地理位置是相同或相近的,其中可以根據(jù)預(yù)設(shè)的地理位置關(guān)系來判定重新獲取的推流cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的地理位置與主播客戶端對應(yīng)的ip地址所屬的地理位置是否相近。例如,當(dāng)主播客戶端對應(yīng)的ip地址所屬的位置為北京,則重新獲取的推流cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的位置為北京或者北京周邊的京津冀地區(qū)。

可選地,該預(yù)設(shè)對應(yīng)關(guān)系可以包括cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商和地理位置與主播客戶端對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商和地理位置之間分別的對應(yīng)關(guān)系。利用此對應(yīng)關(guān)系重新獲取的推流cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商與主播客戶端對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商相同,并且推流cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的地理位置與主播客戶端對應(yīng)的ip地址所屬的地理位置相近或相同。例如,當(dāng)主播客戶端對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商為聯(lián)通,所屬位置為北京,則重新獲取的推流cdn節(jié)點(diǎn)對應(yīng)的ip地址所屬的網(wǎng)絡(luò)運(yùn)營商為聯(lián)通并且所屬位置為北京或者北京周邊的京津冀地區(qū)。

s103,將直播視頻流發(fā)送至推流cdn節(jié)點(diǎn)。

主播客戶端重新獲得推流cdn節(jié)點(diǎn)后,則主播客戶端停止向當(dāng)前使用的cdn節(jié)點(diǎn)推送直播視頻流,而將直播視頻流重新發(fā)送至重新獲得的推流cdn節(jié)點(diǎn)。

本實(shí)施例中,當(dāng)主播客戶端發(fā)生直播視頻流推送不通暢時(shí),主播客戶端立即檢測當(dāng)前使用的推流地址對應(yīng)的cdn節(jié)點(diǎn)是否正常。若檢測到當(dāng)前使用的cdn節(jié)點(diǎn)出現(xiàn)異常,則根據(jù)推流cdn節(jié)點(diǎn)對應(yīng)的ip地址與主播客戶端對應(yīng)的ip地址之間的預(yù)設(shè)對應(yīng)關(guān)系重新獲取推流cdn節(jié)點(diǎn)。由于重新獲得的推流cdn節(jié)點(diǎn)對應(yīng)的ip地址與主播客戶端對應(yīng)的ip地址是存在預(yù)設(shè)對應(yīng)關(guān)系的,并且此預(yù)設(shè)對應(yīng)關(guān)系的具體內(nèi)容是可以保證主播客戶端能夠重新獲得正常的推流cdn節(jié)點(diǎn)的。因此,利用此對應(yīng)關(guān)系可以保證重新獲得的推流cdn節(jié)點(diǎn)是正常的。主播客戶端將直播視頻流推送至此正常的推流cdn節(jié)點(diǎn),避免了由于cdn節(jié)點(diǎn)異常造成的直播視頻流推送不流暢的情況,提高主播客戶端推流的通暢性。

圖2為本發(fā)明實(shí)施例提供的直播視頻推送方法實(shí)施例二的流程圖,如圖2所示,該方法包括如下步驟:

s201,主播客戶端的直播視頻流推送不通暢時(shí),檢測當(dāng)前使用的cdn節(jié)點(diǎn)是否正常,若cdn節(jié)點(diǎn)異常,則執(zhí)行步驟s202,否則結(jié)束。

上述步驟s201的執(zhí)行過程可以參見如圖1所示實(shí)施例中的相關(guān)描述,在此不贅述。

s202,向服務(wù)器發(fā)送獲取請求,獲取請求中包括所述主播客戶端對應(yīng)的ip地址。

主播客戶端當(dāng)前使用的cdn節(jié)點(diǎn)發(fā)生異常時(shí),則向服務(wù)器發(fā)送獲取請求,以便服務(wù)器根據(jù)獲取請求中包括的主播客戶端對應(yīng)的ip地址以及預(yù)設(shè)的主播客戶端對應(yīng)的ip地址與推流cdn節(jié)點(diǎn)的ip地址的對應(yīng)關(guān)系,為主播客戶端選擇預(yù)設(shè)數(shù)量的cdn節(jié)點(diǎn)。

s203,接收服務(wù)器發(fā)送的n個(gè)cdn節(jié)點(diǎn)的推流地址,n個(gè)cdn節(jié)點(diǎn)對應(yīng)的ip地址與主播客戶端對應(yīng)的ip地址具有預(yù)設(shè)對應(yīng)關(guān)系,n取1至預(yù)設(shè)數(shù)值。

主播客戶端接收服務(wù)器發(fā)送的n個(gè)cdn節(jié)點(diǎn)推流地址,而這n個(gè)cdn節(jié)點(diǎn)是服務(wù)器根據(jù)預(yù)設(shè)對應(yīng)關(guān)系以及預(yù)設(shè)選擇策略選擇出來的。

與實(shí)施例一步驟s102中介紹的相似,預(yù)設(shè)對應(yīng)關(guān)系可以包括cdn節(jié)點(diǎn)對應(yīng)的ip地址與主播客戶端對應(yīng)的ip地址可以屬于相同的網(wǎng)絡(luò)運(yùn)營商,或者cdn節(jié)點(diǎn)對應(yīng)的ip地址與主播客戶端對應(yīng)的ip地址可以屬于相同或相近的地理位置,又或者cdn節(jié)點(diǎn)對應(yīng)的ip地址與主播客戶端對應(yīng)的ip地址屬于相同的網(wǎng)絡(luò)運(yùn)營商并且屬于相同或相近的地理位置。

服務(wù)器在眾多cdn節(jié)點(diǎn)中按照上述預(yù)設(shè)對應(yīng)關(guān)系選擇出滿足該預(yù)設(shè)對應(yīng)關(guān)系的cdn節(jié)點(diǎn),當(dāng)選出的滿足預(yù)設(shè)對應(yīng)關(guān)系的cdn節(jié)點(diǎn)個(gè)數(shù)小于預(yù)設(shè)數(shù)值時(shí),則把全部滿足預(yù)設(shè)對應(yīng)關(guān)系的cdn節(jié)點(diǎn)對應(yīng)的推流地址發(fā)送至主播客戶端,主播客戶端接收此cdn節(jié)點(diǎn)對應(yīng)的推流地址。當(dāng)選出的滿足預(yù)設(shè)對應(yīng)關(guān)系的cdn節(jié)點(diǎn)個(gè)數(shù)大于預(yù)設(shè)數(shù)值時(shí),則再根據(jù)預(yù)設(shè)的選擇策略在滿足預(yù)設(shè)對應(yīng)關(guān)系的cdn節(jié)點(diǎn)中選出n個(gè)cdn節(jié)點(diǎn),并將n個(gè)cdn節(jié)點(diǎn)對應(yīng)的推流地址發(fā)送至主播客戶端,n可以根據(jù)實(shí)際需求而設(shè)定。主播客戶端接收此根據(jù)選擇策略選擇出的n個(gè)cdn節(jié)點(diǎn)對應(yīng)的推流地址。

可選地,預(yù)設(shè)的選擇策略可以是隨機(jī)選擇也可以是選擇當(dāng)前cdn節(jié)點(diǎn)中負(fù)載較輕的n個(gè)cdn節(jié)點(diǎn)。

s204,從n個(gè)cdn節(jié)點(diǎn)中選擇出推流cdn節(jié)點(diǎn)。

在主播客戶端獲得n個(gè)cdn節(jié)點(diǎn)后,可以依據(jù)主播客戶端內(nèi)預(yù)設(shè)的選擇策略從n個(gè)cdn節(jié)點(diǎn)中選出一個(gè)cdn節(jié)點(diǎn)作為推流cdn節(jié)點(diǎn)。

可選地,預(yù)設(shè)的選擇策略可以是隨機(jī)選擇策略或者根據(jù)cdn節(jié)點(diǎn)質(zhì)量擇優(yōu)選擇策略。

具體地,若主播客戶端根據(jù)cdn節(jié)點(diǎn)質(zhì)量擇優(yōu)選擇策略選出一個(gè)質(zhì)量最優(yōu)良的推流cdn節(jié)點(diǎn)時(shí),需要對獲得的n個(gè)cdn節(jié)點(diǎn)分別進(jìn)行一個(gè)延遲檢測,也即是檢測主播客戶端和n個(gè)cdn節(jié)點(diǎn)之間的數(shù)據(jù)傳輸速度。具體檢測過程為:主播客戶端分別根據(jù)n個(gè)cdn節(jié)點(diǎn)對應(yīng)的推流地址向n個(gè)cdn節(jié)點(diǎn)發(fā)送ping消息,n個(gè)cdn節(jié)點(diǎn)接收到此ping消息后會(huì)分別向主播客戶端返回一個(gè)pong消息,主播客戶端在預(yù)設(shè)時(shí)間內(nèi)接收此n個(gè)cdn節(jié)點(diǎn)分別發(fā)送的pong消息。主播客戶端計(jì)算各個(gè)ping消息的發(fā)送時(shí)間與pong消息的接收時(shí)間之間的時(shí)間間隔,作為各自對應(yīng)的消息傳輸時(shí)間,此消息傳輸時(shí)間也即是反映了主播客戶端和cdn節(jié)點(diǎn)之間的數(shù)據(jù)傳輸速度,消息傳輸時(shí)間越短則說明數(shù)據(jù)傳輸速度越快。主播客戶端最終從n個(gè)cdn節(jié)點(diǎn)中選取消息傳輸時(shí)間最短的cdn節(jié)點(diǎn)作為推流cdn節(jié)點(diǎn)。

另外,存在一種特殊情況,當(dāng)主播客戶端根據(jù)n個(gè)cdn節(jié)點(diǎn)對應(yīng)的推流地址向n個(gè)cdn節(jié)點(diǎn)發(fā)送ping消息,但在預(yù)設(shè)時(shí)間內(nèi)主播客戶端并未接收到此n個(gè)cdn節(jié)點(diǎn)當(dāng)中任一cdn節(jié)點(diǎn)返回的pong消息,這也就意味著主播客戶端與此n個(gè)cnd節(jié)點(diǎn)之間都不能進(jìn)行數(shù)據(jù)傳輸。此種情況下,主播客戶端舍棄此n個(gè)cnd節(jié)點(diǎn),并使用預(yù)設(shè)的一個(gè)通用推流域名,將直播視頻流推送至該通用推流域名對應(yīng)的cdn節(jié)點(diǎn)處。

s205,根據(jù)推流cdn節(jié)點(diǎn)對主播客戶端對應(yīng)的host進(jìn)行綁定。

將主播客戶端選出的推流cdn節(jié)點(diǎn)對應(yīng)的域名和ip地址寫入主播客戶端內(nèi)部的host文件也即是實(shí)現(xiàn)了推流節(jié)點(diǎn)與主播客戶端對應(yīng)的host之間的綁定,其中,該host文件內(nèi)存有推流cdn節(jié)點(diǎn)對應(yīng)的域名與ip地址之間的映射關(guān)系。當(dāng)主播日后再次訪問此推流cdn節(jié)點(diǎn)時(shí),可以根據(jù)host文件中存儲(chǔ)的映射關(guān)系直接訪問推流節(jié)點(diǎn),可以提高主播客戶端訪問cdn節(jié)點(diǎn)的速度。

s206,將直播視頻流發(fā)送至推流cdn節(jié)點(diǎn)。

主播客戶端將直播視頻流發(fā)送至質(zhì)量最佳的推流cdn節(jié)點(diǎn),以提高主播客戶端推流的流暢性。

本實(shí)施例中,在主播客戶端檢測到當(dāng)前使用的cdn節(jié)點(diǎn)存在異常時(shí),主播客戶端會(huì)對于服務(wù)器返回的n個(gè)cdn節(jié)點(diǎn)進(jìn)行進(jìn)一步篩選,通過主播客戶端的自主篩選可以獲得質(zhì)量最佳的cdn節(jié)點(diǎn),將質(zhì)量最佳的cdn節(jié)點(diǎn)作為推流cdn節(jié)點(diǎn),可以提高主播客戶端側(cè)直播視頻流推送的流暢性。同時(shí),將獲得的質(zhì)量最佳的cdn節(jié)點(diǎn)即推流cdn節(jié)點(diǎn)對應(yīng)的域名和ip地址與主播客戶端中的host文件進(jìn)行綁定也即是寫入host文件中,這樣,當(dāng)主播客戶端再次訪問此推流cdn節(jié)點(diǎn)時(shí),根據(jù)host文件中記載的內(nèi)容可以大大提高主播客戶端訪問推流cdn節(jié)點(diǎn)的速度。

圖3為本發(fā)明實(shí)施例提供的直播視頻推送裝置實(shí)施例一的結(jié)構(gòu)示意圖,如圖3所示,該直播視頻推送裝置包括:檢測模塊11、獲取模塊12、發(fā)送模塊13。

檢測模塊11,用于若主播客戶端的直播視頻流推送不通暢,則檢測當(dāng)前使用的cdn節(jié)點(diǎn)是否正常。

可選地,檢測模塊11具體用于若主播客戶端對應(yīng)的ip地址與當(dāng)前使用的cdn節(jié)點(diǎn)對應(yīng)的ip地址不具有預(yù)設(shè)對應(yīng)關(guān)系,則當(dāng)前使用的cdn節(jié)點(diǎn)異常。

獲取模塊12,用于若當(dāng)前使用的cdn節(jié)點(diǎn)異常,則重新獲取推流cdn節(jié)點(diǎn),推流cdn節(jié)點(diǎn)對應(yīng)的ip地址與主播客戶端對應(yīng)的ip地址具有預(yù)設(shè)對應(yīng)關(guān)系。

發(fā)送模塊13,用于將直播視頻流發(fā)送至所述推流cdn節(jié)點(diǎn)。

圖3所示裝置可以執(zhí)行圖1所示實(shí)施例的方法,本實(shí)施例未詳細(xì)描述的部分,可參考對圖1所示實(shí)施例的相關(guān)說明。該技術(shù)方案的執(zhí)行過程和技術(shù)效果參見圖1所示實(shí)施例中的描述,在此不再贅述。

圖4為本發(fā)明實(shí)施例提供的直播視頻推送裝置實(shí)施例二的結(jié)構(gòu)示意圖,如圖4所示,在圖3所示實(shí)施例基礎(chǔ)上,該直播視頻推送裝置中的獲取模塊12具體可以包括:發(fā)送單元121、接收單元122、選擇單元123,該直播視頻推送裝置還包括綁定模塊21。

發(fā)送單元121,用于向服務(wù)器發(fā)送獲取請求,獲取請求中包括所述主播客戶端對應(yīng)的ip地址。

接收單元122,用于接收服務(wù)器發(fā)送的n個(gè)cdn節(jié)點(diǎn)的推流地址,n個(gè)cdn節(jié)點(diǎn)對應(yīng)的ip地址與主播客戶端對應(yīng)的ip地址具有預(yù)設(shè)對應(yīng)關(guān)系,n取1至預(yù)設(shè)數(shù)值。

選擇單元123,用于從n個(gè)cdn節(jié)點(diǎn)中選擇出推流cdn節(jié)點(diǎn)。

其中,選擇單元123具體用于根據(jù)n個(gè)cdn節(jié)點(diǎn)的推流地址分別向n個(gè)cdn節(jié)點(diǎn)發(fā)送ping消息;接收n個(gè)cdn節(jié)點(diǎn)分別發(fā)送的pong消息;根據(jù)ping消息的發(fā)送時(shí)間以及pong消息的接收時(shí)間,確定n個(gè)cdn節(jié)點(diǎn)各自對應(yīng)的消息傳輸時(shí)間;從n個(gè)cdn節(jié)點(diǎn)中選擇出對應(yīng)于最短的消息傳輸時(shí)間的cdn節(jié)點(diǎn)為推流cdn節(jié)點(diǎn)。

綁定模塊21,用于根據(jù)推流cdn節(jié)點(diǎn)對主播客戶端對應(yīng)的host進(jìn)行綁定。

圖4所示裝置可以執(zhí)行圖2所示實(shí)施例的方法,本實(shí)施例未詳細(xì)描述的部分,可參考對圖2所示實(shí)施例的相關(guān)說明。該技術(shù)方案的執(zhí)行過程和技術(shù)效果參見圖2所示實(shí)施例中的描述,在此不再贅述。

以上所描述的裝置實(shí)施例僅僅是示意性的,其中所述作為分離部件說明的單元可以是或者也可以不是物理上分開的,作為單元顯示的部件可以是或者也可以不是物理單元,即可以位于一個(gè)地方,或者也可以分布到多個(gè)網(wǎng)絡(luò)單元上??梢愿鶕?jù)實(shí)際的需要選擇其中的部分或者全部模塊來實(shí)現(xiàn)本實(shí)施例方案的目的。本領(lǐng)域普通技術(shù)人員在不付出創(chuàng)造性的勞動(dòng)的情況下,即可以理解并實(shí)施。

通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到各實(shí)施方式可借助加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件?;谶@樣的理解,上述技術(shù)方案本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以產(chǎn)品的形式體現(xiàn)出來,該計(jì)算機(jī)產(chǎn)品可以存儲(chǔ)在計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,如rom/ram、磁碟、光盤等,包括若干指令用以使得一臺(tái)計(jì)算機(jī)裝置(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)裝置等)執(zhí)行各個(gè)實(shí)施例或者實(shí)施例的某些部分所述的方法。

最后應(yīng)說明的是:以上實(shí)施例僅用以說明本發(fā)明的技術(shù)方案,而非對其限制;盡管參照前述實(shí)施例對本發(fā)明進(jìn)行了詳細(xì)的說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解:其依然可以對前述各實(shí)施例所記載的技術(shù)方案進(jìn)行修改,或者對其中部分技術(shù)特征進(jìn)行等同替換;而這些修改或者替換,并不使相應(yīng)技術(shù)方案的本質(zhì)脫離本發(fā)明各實(shí)施例技術(shù)方案的精神和范圍。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1