流媒體直播方法、發(fā)布端、客戶端及系統(tǒng)的制作方法
【專利摘要】本發(fā)明公開了一種流媒體直播方法、發(fā)布端、客戶端及系統(tǒng)。所述方法包括采集直播頻道上的媒體通道的直播流媒體數(shù)據(jù),直播流媒體數(shù)據(jù)包括至少兩路;對直播流媒體數(shù)據(jù)進(jìn)行編碼;將編碼后的直播流媒體數(shù)據(jù)放入服務(wù)平臺中直播頻道對應(yīng)的緩沖區(qū)中。本發(fā)明的技術(shù)方案,可以彌補(bǔ)現(xiàn)有技術(shù)的不足,提高流媒體直播服務(wù)的靈活性,實(shí)現(xiàn)對兩路以及兩路以上的流媒體數(shù)據(jù)的傳輸,且通過采用本發(fā)明的方案,還能夠保證流媒體直播過程中,流媒體數(shù)據(jù)傳輸?shù)膶?shí)時性以及穩(wěn)定性。
【專利說明】
流媒體直播方法、發(fā)布端、客戶端及系統(tǒng)
技術(shù)領(lǐng)域
[0001]本發(fā)明涉及流媒體處理技術(shù)領(lǐng)域,尤其涉及一種流媒體直播方法、發(fā)布端、客戶端及系統(tǒng)。
【背景技術(shù)】
[0002]隨著互聯(lián)網(wǎng)科技的發(fā)展,基于互聯(lián)網(wǎng)的數(shù)據(jù)傳輸?shù)膽?yīng)用越來越廣泛。例如利用互聯(lián)網(wǎng)進(jìn)行的遠(yuǎn)程會議或者遠(yuǎn)程教學(xué)的使用越來越頻繁,在遠(yuǎn)程教學(xué)或者遠(yuǎn)程會議中,需要互聯(lián)網(wǎng)的移動流媒體服務(wù)實(shí)現(xiàn)對移動流媒體數(shù)據(jù)的傳輸。
[0003]現(xiàn)有的移動流媒體服務(wù)主要包括點(diǎn)播和直播兩大類,其中在遠(yuǎn)程教學(xué)和遠(yuǎn)程會議中多使用直播流媒體服務(wù)?,F(xiàn)有的直播流媒體服務(wù)中,支持基于語音和視頻的二路子媒體流的應(yīng)用。例如,在實(shí)際的遠(yuǎn)程教學(xué)場景下,直播流媒體系統(tǒng)的發(fā)布端會向直播流媒體系統(tǒng)的客戶端直播教師的語音以及視頻信息,這樣直播流媒體系統(tǒng)的客戶端可以在線聽到教師的語音,并在線觀看教師的視頻信息,尤如在現(xiàn)場一樣。
[0004]但是,在實(shí)現(xiàn)本發(fā)明的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中的直播流媒體服務(wù)僅僅支持語音和視頻兩路流媒體數(shù)據(jù)的傳輸,靈活性太差,而無法實(shí)現(xiàn)實(shí)際應(yīng)用中多路流媒體數(shù)據(jù)傳輸?shù)男枨?。例如在?shí)時的教學(xué)場景下,除了語音和視頻的流媒體數(shù)據(jù),通常還需要教師所講解的課程內(nèi)容的流媒體數(shù)據(jù)的傳輸,而此時現(xiàn)有的流媒體數(shù)據(jù)傳輸方案無法滿足多路流媒體數(shù)據(jù)傳輸需求。
【發(fā)明內(nèi)容】
[0005]鑒于上述問題,提出了本發(fā)明以便提供一種流媒體直播方法、發(fā)布端、客戶端及系統(tǒng)。
[0006]本發(fā)明提供一種流媒體直播方法,包括:
[0007]采集直播頻道上的媒體通道的直播流媒體數(shù)據(jù),所述直播流媒體數(shù)據(jù)包括至少兩路;
[0008]對所述直播流媒體數(shù)據(jù)進(jìn)行編碼;
[0009]將編碼后的所述直播流媒體數(shù)據(jù)放入服務(wù)平臺中所述直播頻道對應(yīng)的緩沖區(qū)中,其中,編碼后的所述直播流媒體數(shù)據(jù)按照所述媒體通道分別保存。
[0010]本發(fā)明還提供一種流媒體直播方法,包括:
[0011]根據(jù)要觀看的直播流媒體的屬性參數(shù),從服務(wù)平臺中獲取直播所述直播流媒體的直播頻道的標(biāo)識;
[0012]根據(jù)所述直播頻道的標(biāo)識,從所述服務(wù)平臺中所述直播頻道對應(yīng)的緩沖區(qū)中獲取直播流媒體數(shù)據(jù);所述直播流媒體數(shù)據(jù)包括至少兩路;
[0013]對所述直播流媒體數(shù)據(jù)進(jìn)行解碼;
[0014]根據(jù)解碼后的所述直播流媒體數(shù)據(jù),播放所述直播流媒體數(shù)據(jù)。
[0015]本發(fā)明還提供一種流媒體直播發(fā)布端,包括:
[0016]采集模塊,用于采集直播頻道上的媒體通道的直播流媒體數(shù)據(jù),所述直播流媒體數(shù)據(jù)包括至少兩路;
[0017]編碼模塊,用于對所述直播流媒體數(shù)據(jù)進(jìn)行編碼;
[0018]緩存模塊,用于將編碼后的所述直播流媒體數(shù)據(jù)放入服務(wù)平臺中所述直播頻道對應(yīng)的緩沖區(qū)中,其中,編碼后的所述直播流媒體數(shù)據(jù)按照所述媒體通道分別保存。
[0019 ]本發(fā)明還提供一種流媒體直播客戶端,包括:
[0020]頻道標(biāo)識獲取模塊,用于根據(jù)要觀看的直播流媒體的屬性參數(shù),從服務(wù)平臺中獲取直播所述直播流媒體的直播頻道的標(biāo)識;
[0021 ]數(shù)據(jù)獲取模塊,用于根據(jù)所述直播頻道的標(biāo)識,從所述服務(wù)平臺中所述直播頻道對應(yīng)的緩沖區(qū)中獲取直播流媒體數(shù)據(jù);所述直播流媒體數(shù)據(jù)包括至少兩路;
[0022]解碼模塊,用于對所述直播流媒體數(shù)據(jù)進(jìn)行解碼;
[0023]播放模塊,用于根據(jù)解碼后的所述直播流媒體數(shù)據(jù),播放所述直播流媒體數(shù)據(jù)。
[0024]本發(fā)明還提供一種流媒體直播系統(tǒng),包括流媒體直播發(fā)布端、流媒體直播客戶端以及服務(wù)平臺;
[0025]所述流媒體直播發(fā)布端分別采用如上所述的流媒體直播發(fā)布端;所述流媒體直播客戶端分別采用如上所述的流媒體直播客戶端;所述服務(wù)平臺分別與所述流媒體直播發(fā)布端和所述流媒體直播客戶端連接,實(shí)現(xiàn)所述流媒體直播發(fā)布端向所述流媒體直播客戶端直播流媒體數(shù)據(jù)。
[0026]本發(fā)明的流媒體直播方法、發(fā)布端、客戶端及系統(tǒng),通過在流媒體直播發(fā)布端采集直播頻道上的媒體通道的直播流媒體數(shù)據(jù),對所述直播流媒體數(shù)據(jù)進(jìn)行編碼;將編碼后的所述直播流媒體數(shù)據(jù)放入服務(wù)平臺中所述直播頻道對應(yīng)的緩沖區(qū)中。并在流媒體直播客戶端根據(jù)要觀看的直播流媒體的屬性參數(shù),從服務(wù)平臺中獲取直播所述直播流媒體的直播頻道的標(biāo)識;根據(jù)所述直播頻道的標(biāo)識,從所述服務(wù)平臺中所述直播頻道對應(yīng)的緩沖區(qū)中獲取直播流媒體數(shù)據(jù);所述直播流媒體數(shù)據(jù)包括至少兩路;對所述直播流媒體數(shù)據(jù)進(jìn)行解碼;根據(jù)解碼后的所述直播流媒體數(shù)據(jù),播放所述直播流媒體數(shù)據(jù),從而實(shí)現(xiàn)流媒體從發(fā)布到播放的直播過程,本實(shí)施例的技術(shù)方案,可以彌補(bǔ)現(xiàn)有技術(shù)的不足,提高流媒體直播服務(wù)的靈活性,實(shí)現(xiàn)對兩路以及兩路以上的多路流媒體數(shù)據(jù)的傳輸,且通過采用上述方案,還能夠保證流媒體直播過程中,流媒體數(shù)據(jù)傳輸?shù)膶?shí)時性以及穩(wěn)定性。
[0027]上述說明僅是本發(fā)明技術(shù)方案的概述,為了能夠更清楚了解本發(fā)明的技術(shù)手段,而可依照說明書的內(nèi)容予以實(shí)施,并且為了讓本發(fā)明的上述和其它目的、特征和優(yōu)點(diǎn)能夠更明顯易懂,以下特舉本發(fā)明的【具體實(shí)施方式】。
【附圖說明】
[0028]通過閱讀下文優(yōu)選實(shí)施方式的詳細(xì)描述,各種其他的優(yōu)點(diǎn)和益處對于本領(lǐng)域普通技術(shù)人員將變得清楚明了。附圖僅用于示出優(yōu)選實(shí)施方式的目的,而并不認(rèn)為是對本發(fā)明的限制。而且在整個附圖中,用相同的參考符號表示相同的部件。在附圖中:
[0029]圖1為本發(fā)明的流媒體直播方法實(shí)施例一的流程圖。
[0030]圖2為本發(fā)明的流媒體直播方法實(shí)施例二的流程圖。
[0031 ]圖3為本發(fā)明的流媒體直播方法實(shí)施例三的流程圖。
[0032]圖4為本發(fā)明的流媒體直播發(fā)布端實(shí)施例一的結(jié)構(gòu)示意圖。
[0033]圖5為本發(fā)明的流媒體直播發(fā)布端實(shí)施例二的結(jié)構(gòu)示意圖。
[0034]圖6為本發(fā)明的流媒體直播客戶端實(shí)施例的結(jié)構(gòu)示意圖。
[0035]圖7為本發(fā)明的流媒體直播系統(tǒng)的結(jié)構(gòu)示意圖。
[0036]圖8為本發(fā)明實(shí)施例的流媒體直播系統(tǒng)進(jìn)行流媒體直播的信令交互圖。
【具體實(shí)施方式】
[0037]下面將參照附圖更詳細(xì)地描述本公開的示例性實(shí)施例。雖然附圖中顯示了本公開的示例性實(shí)施例,然而應(yīng)當(dāng)理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施例所限制。相反,提供這些實(shí)施例是為了能夠更透徹地理解本公開,并且能夠?qū)⒈竟_的范圍完整的傳達(dá)給本領(lǐng)域的技術(shù)人員。
[0038]圖1為本發(fā)明的流媒體直播方法實(shí)施例一的流程圖。如圖1所示,本實(shí)施例的流媒體直播方法,具體可以包括如下步驟:
[0039]100、采集直播頻道上的媒體通道的直播流媒體數(shù)據(jù);
[0040]首先本實(shí)施例的流媒體直播方法在流媒體直播發(fā)布端一側(cè)描述本發(fā)明的技術(shù)方案。
[0041]本實(shí)施例的數(shù)據(jù)包括至少兩路,也就是說本實(shí)施例的流媒體包括至少兩個媒體通道,每個媒體通道用于傳輸一路數(shù)據(jù)。例如在直播的教學(xué)場景中,該直播的流媒體可以包括從麥克風(fēng)采集壓縮形成的音頻流、從攝像頭獲取后壓縮形成的視頻流、以及從個人計算機(jī)(Person Computer;PC)或者手持設(shè)備的屏幕上獲取的屏幕圖像流,該屏幕圖像流可以指的是老師所講解的課程內(nèi)容,或者也可以理解為老師授課式的桌面內(nèi)容。當(dāng)然,本實(shí)施例的流媒體直播方法可以應(yīng)用在其他直播場景中,在此不再一一舉例贅述。
[0042]101、對直播流媒體數(shù)據(jù)進(jìn)行編碼;
[0043]實(shí)際應(yīng)用中,為了提高個人流媒體資源發(fā)布的積極性,流媒體直播系統(tǒng)中可以包括多個流媒體直播發(fā)布端,而往往各個流媒體直播發(fā)布端采集的屬于同一路媒體通道的數(shù)據(jù)格式也通常并不盡相同,例如不同的流媒體直播發(fā)布端發(fā)布的音頻流的格式可能并不相同,發(fā)布的視頻流的格式可能也并不相同,發(fā)布的屏幕圖像流的格式可能也并不相同。另夕卜,同一流媒體直播發(fā)布端采集的不同流媒體的屬于同一路媒體通道的數(shù)據(jù)格式可能也不盡相同。為了保證所有客戶端均可以觀看發(fā)布的直播流媒體,本實(shí)施例中可以在流媒體直播發(fā)布端一側(cè)對所有要直播的流媒體的各媒體通道的數(shù)據(jù)都進(jìn)行編碼,使得編碼后的屬于同一媒體通道的數(shù)據(jù)格式相同,例如流媒體直播發(fā)布端對各媒體通道的數(shù)據(jù)編碼之后,可以保證不同的流媒體直播發(fā)布端發(fā)布的音頻流的格式都相同,視頻流的格式也都相同,屏幕圖像流的格式也都相同,這樣,非常方便流媒體直播客戶端一側(cè)進(jìn)行相同的解碼方式進(jìn)行解碼,以便觀看。當(dāng)然,實(shí)際應(yīng)用中,流媒體直播發(fā)布端一側(cè)也可以對不同的流媒體對應(yīng)的相同的媒體通道的數(shù)據(jù)進(jìn)行不同的編碼,編碼后的屬于相同媒體通道的數(shù)據(jù)格式也可以不相同,這樣就要求流媒體直播客戶端一側(cè)對于屬于相同流媒體通道的數(shù)據(jù)要選擇不同的解碼方式進(jìn)行解碼,以實(shí)現(xiàn)對流媒體的播放。
[0044]102、將編碼后的直播流媒體數(shù)據(jù)放入服務(wù)平臺中直播頻道對應(yīng)的緩沖區(qū)中。
[0045]例如,本實(shí)施例的服務(wù)平臺中可以包括一個直播服務(wù)模塊,該直播頻道對應(yīng)的緩沖區(qū)設(shè)置在直播服務(wù)模塊中。此時可以具體將編碼后的直播流媒體數(shù)據(jù)放入服務(wù)平臺中的直播服務(wù)模塊中該直播頻道對應(yīng)的緩沖區(qū)中。本實(shí)施例的服務(wù)平臺中的直播服務(wù)模塊是用于存放直播流媒體數(shù)據(jù)。流媒體在直播服務(wù)模塊中存放時,按照直播頻道來存。每一個直播頻道都對應(yīng)由自己的緩沖區(qū)。在每一個直播頻道的緩沖區(qū)中,數(shù)據(jù)按照媒體通道來存,例如音頻流、視頻流和屏幕圖像流的數(shù)據(jù)要分別存放,這樣可以便于流媒體直播客戶端對各媒體通道的數(shù)據(jù)的解碼。
[0046]本實(shí)施例的流媒體直播方法,通過采集直播頻道上的媒體通道的直播流媒體數(shù)據(jù),對直播流媒體數(shù)據(jù)進(jìn)行編碼;將編碼后的數(shù)據(jù)放入服務(wù)平臺中直播頻道對應(yīng)的緩沖區(qū)中實(shí)現(xiàn)在流媒體直播發(fā)布端一側(cè)對流媒體進(jìn)行直播處理。本實(shí)施例的技術(shù)方案,可以彌補(bǔ)現(xiàn)有技術(shù)的不足,提高流媒體直播服務(wù)的靈活性,實(shí)現(xiàn)對兩路以及兩路以上的多路流媒體數(shù)據(jù)的傳輸,且通過采用上述方案,還能夠保證流媒體直播過程中,流媒體數(shù)據(jù)傳輸?shù)膶?shí)時性以及穩(wěn)定性。
[0047]在上述圖1所示實(shí)施例的技術(shù)方案的基礎(chǔ)上,其中步驟101“對直播流媒體數(shù)據(jù)進(jìn)行編碼”,具體可以包括:根據(jù)各媒體通道的數(shù)據(jù)的格式采用對應(yīng)的壓縮編碼標(biāo)準(zhǔn)和編碼參數(shù)對對應(yīng)的數(shù)據(jù)進(jìn)行編碼,使得編碼后不同的流媒體的屬于同一媒體通道的數(shù)據(jù)的格式相同,便于客戶端一側(cè)進(jìn)行相同的解碼,以進(jìn)行播放。
[0048]在流媒體直播發(fā)布端一側(cè),為了使得編碼后屬于同一媒體通道的數(shù)據(jù)格式相同,本實(shí)施例中,需要根據(jù)該媒體通道的數(shù)據(jù)的格式采用對應(yīng)的編碼標(biāo)準(zhǔn)和編碼參數(shù)對對應(yīng)的數(shù)據(jù)進(jìn)行編碼,不同的數(shù)據(jù)的格式采用的編碼標(biāo)準(zhǔn)和編碼參數(shù)可能均不相同。具體地,可以在管理服務(wù)模塊中記錄每一種媒體通道的各類格式的數(shù)據(jù)對應(yīng)的編碼標(biāo)準(zhǔn)、編碼參數(shù),以及編碼后的目標(biāo)格式等等信息。
[0049]進(jìn)一步可選地,在上述實(shí)施例的技術(shù)方案的基礎(chǔ)上,其中步驟102“將編碼后的數(shù)據(jù)放入服務(wù)平臺中直播頻道對應(yīng)的緩沖區(qū)中”,具體可以包括:將編碼后的各數(shù)據(jù)按照先進(jìn)先出的隊列規(guī)則放入服務(wù)平臺中的直播服務(wù)模塊中直播頻道對應(yīng)的緩沖區(qū)中。
[0050]首先,直播服務(wù)模塊的緩沖區(qū)中存放的數(shù)據(jù)是按照直播頻道來存放的,每個直播頻道上的數(shù)據(jù)又是按照媒體通道來存的,每個直播頻道上有幾個媒體通道,該直播頻道就對應(yīng)幾個數(shù)據(jù)緩沖區(qū)。在每一個數(shù)據(jù)緩沖區(qū),本實(shí)施例的編碼后的數(shù)據(jù)放入直播服務(wù)模塊中對應(yīng)直播頻道的緩沖區(qū)中時,是遵循隊列的先進(jìn)先出規(guī)則來放入的。
[0051 ]進(jìn)一步可選地,在上述實(shí)施例的技術(shù)方案的基礎(chǔ)上,在步驟100 “采集直播頻道上的媒體通道的直播流媒體數(shù)據(jù)”之前,還可以包括如下步驟:
[0052](1)、向服務(wù)平臺請求直播流媒體所需的直播頻道的標(biāo)識;并接收服務(wù)平臺返回的直播頻道的標(biāo)識;
[0053]本實(shí)施例地服務(wù)平臺中還可以包括一個管理服務(wù)模塊。例如本實(shí)施例地步驟(I),具體向服務(wù)平臺中的管理服務(wù)模塊請求直播流媒體所需的直播頻道的標(biāo)識;并接收服務(wù)平臺中的管理服務(wù)模塊返回的直播頻道的標(biāo)識;
[0054]首先,流媒體直播發(fā)布端需要登錄該管理服務(wù)器模塊,利用管理服務(wù)模塊可以采用用戶名和密碼的方式對各個流媒體直播發(fā)布端進(jìn)行管理,這樣流媒體直播發(fā)布端使用自己的用戶名和密碼登錄該管理服務(wù)模塊,并向該管理服務(wù)模塊請求直播該流媒體所需要的直播頻道標(biāo)識,該直播頻道標(biāo)識為一個全球唯一標(biāo)識符(GlobalIy Unique Identifier;GUID),用于唯一標(biāo)識一個直播頻道。管理服務(wù)模塊中可以利用預(yù)先設(shè)置的生成機(jī)制,自動生成一個唯一的直播頻道標(biāo)識,用于標(biāo)識直播該流媒體的直播頻道。
[0055](2)向服務(wù)平臺發(fā)送流媒體的屬性參數(shù),以供服務(wù)平臺建立并保存直播頻道的標(biāo)識與流媒體的屬性參數(shù)之間的對應(yīng)關(guān)系;
[0056]同理,具體可以向服務(wù)平臺中的管理服務(wù)模塊發(fā)送流媒體的屬性參數(shù),以供管理服務(wù)模塊建立并保存直播頻道的標(biāo)識與流媒體的屬性參數(shù)之間的對應(yīng)關(guān)系。
[0057]其中步驟(2)和步驟(I)可以同時進(jìn)行,也就是說步驟(I)在請求直播頻道標(biāo)識的時候,可以直接在請求中攜帶該流媒體的屬性參數(shù);或者就像本實(shí)施例一樣,向請求直播頻道標(biāo)識,管理服務(wù)模塊分配了直播頻道標(biāo)識之后,再向管理服務(wù)模塊發(fā)送流媒體的屬性參數(shù),這樣,便于管理服務(wù)器模塊建立直播頻道的標(biāo)識與流媒體的屬性參數(shù)之間的對應(yīng)關(guān)系。本實(shí)施例中的流媒體的屬性參數(shù)可以包括流媒體的標(biāo)識如名稱、流媒體的上傳地理區(qū)域以及流媒體的宣傳頁等等參數(shù)。同時,管理服務(wù)模塊中也可以記錄直播該流媒體的流媒體直播發(fā)布端的地址以及用戶名等信息。
[0058]需要說明的是,管理服務(wù)模塊中還管理有直播服務(wù)模塊的地址信息。例如在上述圖1所示實(shí)施例的步驟102“將編碼后的數(shù)據(jù)放入服務(wù)平臺中直播頻道對應(yīng)的緩沖區(qū)中”之前,流媒體直播發(fā)布端需要使用用戶名和密碼登錄管理服務(wù)模塊,并從管理服務(wù)模塊中獲取該直播服務(wù)模塊的地址,并根據(jù)該直播服務(wù)模塊的地址訪問該直播服務(wù)模塊,從而實(shí)現(xiàn)將編碼后的各數(shù)據(jù)放入直播服務(wù)模塊中直播頻道對應(yīng)的緩沖區(qū)中。
[0059](3)在服務(wù)平臺中選定直播流媒體的直播頻道,并采用直播頻道的標(biāo)識唯一標(biāo)識直播頻道;
[0060]例如,具體在服務(wù)平臺中的直播服務(wù)模塊中選定直播流媒體的直播頻道,并采用直播頻道的標(biāo)識唯一標(biāo)識直播頻道。
[0061]同理流媒體直播發(fā)布端根據(jù)該直播服務(wù)模塊的地址可以進(jìn)入該直播服務(wù)模塊,從該直播服務(wù)模塊中選定一個直播該流媒體的直播頻道,并采用管理服務(wù)模塊生成的直播頻道標(biāo)識來標(biāo)識該唯一標(biāo)識該直播頻道。
[0062](4)將服務(wù)平臺中直播頻道的標(biāo)識對應(yīng)的直播頻道狀態(tài)設(shè)置為直播狀態(tài)。
[0063]例如具體將服務(wù)平臺中的管理服務(wù)模塊中直播頻道的標(biāo)識對應(yīng)的直播頻道狀態(tài)設(shè)置為直播狀態(tài)。
[0064]選定好直播頻道之后,流媒體直播發(fā)布端再回到管理服務(wù)模塊中將該直播頻道標(biāo)識對應(yīng)的直播頻道狀態(tài)設(shè)置為直播狀態(tài)。
[0065]進(jìn)一步可選地,在上述實(shí)施例的技術(shù)方案的基礎(chǔ)上,步驟102“將編碼后的數(shù)據(jù)放入服務(wù)平臺中直播頻道對應(yīng)的緩沖區(qū)中”之后,還可以包括:通過服務(wù)平臺與直播流媒體的流媒體直播客戶端進(jìn)行互動。
[0066]例如,該服務(wù)平臺中還包括一個交互服務(wù)模塊。通過服務(wù)平臺與直播流媒體的流媒體直播客戶端進(jìn)行互動,具體地,可以與服務(wù)平臺中該直播頻道對應(yīng)的交互服務(wù)模塊連接,以通過交互服務(wù)模塊與直播流媒體的流媒體直播客戶端進(jìn)行互動。同樣,在交互服務(wù)模塊中也可以采用直播頻道標(biāo)識對每一個直播頻道對應(yīng)的交互服務(wù)模塊進(jìn)行標(biāo)識。當(dāng)流媒體直播客戶端登錄該直播頻道對應(yīng)的交互服務(wù)模塊請求與流媒體直播發(fā)布端交互時,交互服務(wù)模塊可以從管理服務(wù)模塊中獲取該直播頻道對應(yīng)的流媒體直播發(fā)布端的地址,并根據(jù)該流媒體直播發(fā)布端的地址與該流媒體直播發(fā)布端通信,實(shí)現(xiàn)流媒體直播發(fā)布端與流媒體直播客戶端的交互。
[0067]上述實(shí)施例的流媒體直播方法中,流媒體直播發(fā)布端、流媒體直播客戶端、管理服務(wù)模塊、直播服務(wù)模塊以及交互服務(wù)模塊之間的通信可以采用實(shí)時傳輸協(xié)議(Real-timeTransport Protocol ;RTP)進(jìn)行通信,可以金以保證流媒體直播的實(shí)時性與穩(wěn)定性。實(shí)際應(yīng)用中也可以采用其他的通信協(xié)議,在此不再一一贅述。
[0068]上述所有可選技術(shù)方案,可以采用可以結(jié)合的方式任意組合,形成本發(fā)明的可選實(shí)施例,在此不再舉例贅述。
[0069]上述實(shí)施例的流媒體直播方法,通過采用上述方案可以實(shí)現(xiàn)在流媒體直播發(fā)布端一側(cè)對流媒體的數(shù)據(jù)的處理。本實(shí)施例的技術(shù)方案,可以彌補(bǔ)現(xiàn)有技術(shù)的不足,提高流媒體直播服務(wù)的靈活性,實(shí)現(xiàn)對兩路以及兩路以上的流媒體數(shù)據(jù)的傳輸,且通過采用上述方案,還能夠保證流媒體直播過程中,流媒體數(shù)據(jù)傳輸?shù)膶?shí)時性以及穩(wěn)定性。
[0070]圖2為本發(fā)明的流媒體直播方法實(shí)施例二的流程圖。如圖2所示,本實(shí)施例的流媒體直播方法在上述實(shí)施例的技術(shù)方案的基礎(chǔ)上,進(jìn)一步更加詳細(xì)地介紹本發(fā)明的技術(shù)方案。如圖2所示,本實(shí)施例的流媒體直播方法,具體可以包括如下步驟:
[0071]200、登錄管理服務(wù)模塊;
[0072]本實(shí)施例的流媒體直播方法的執(zhí)行主體仍然為流媒體直播發(fā)布端。例如,流媒體直播發(fā)布端具體可以使用用戶名加密碼的方式登錄。在管理服務(wù)模塊中預(yù)先會存儲每一個流媒體直播發(fā)布端的用戶名和密碼,當(dāng)流媒體直播發(fā)布端使用正確的用戶名和密碼便可以登錄至該管理服務(wù)模塊。
[0073]201、向管理服務(wù)模塊發(fā)送攜帶流媒體A的屬性參數(shù)的直播頻道標(biāo)識請求,以請求管理服務(wù)模塊為該直播該流媒體的直播頻道分配直播頻道標(biāo)識;
[0074]管理服務(wù)模塊接收到該直播頻道標(biāo)識請求之后,為直播該流媒體的直播頻道分配用于唯一標(biāo)識該直播頻道的直播頻道標(biāo)識。同理在管理服務(wù)模塊中記錄該直播頻道標(biāo)識與該流媒體A的屬性參數(shù)之間的對應(yīng)關(guān)系,同時還記錄要發(fā)布該流媒體A的流媒體直播發(fā)布端的地址等信息。
[0075]202、接收管理服務(wù)模塊返回的直播頻道的標(biāo)識;
[0076]203、從管理服務(wù)模塊中獲取直播服務(wù)模塊的地址;
[0077]管理服務(wù)模塊中會記錄有每一個直播服務(wù)發(fā)布端、直播服務(wù)模塊、交互服務(wù)模塊以及每一個直播服務(wù)客戶端的地址。
[0078]204、根據(jù)直播服務(wù)模塊的地址,訪問直播服務(wù)模塊,并從直播服務(wù)模塊中選定一個直播該流媒體A的直播頻道,并采用接收的直播頻道標(biāo)識來標(biāo)識該直播頻道;
[0079]205、將該直播頻道標(biāo)識對應(yīng)的頻道狀態(tài)設(shè)置為直播狀態(tài);
[0080]206、采集直播狀態(tài)的直播頻道上的待直播的流媒體A的各媒體通道的直播流媒體數(shù)據(jù);
[0081 ] 207、對流媒體A的各媒體通道的直播流媒體數(shù)據(jù)進(jìn)行編碼;
[0082]208、將編碼后的流媒體A的各直播流媒體數(shù)據(jù)放入直播服務(wù)模塊中直播頻道對應(yīng)的緩沖區(qū)中。
[0083]步驟206-208的具體實(shí)施,詳細(xì)可以參考上述圖1所述實(shí)施例的記載,在此不再贅述。
[0084]本實(shí)施例的流媒體直播方法,通過采用上述方案可以實(shí)現(xiàn)在流媒體直播發(fā)布端一側(cè)對流媒體的數(shù)據(jù)的處理。本實(shí)施例的技術(shù)方案,可以彌補(bǔ)現(xiàn)有技術(shù)的不足,提高流媒體直播服務(wù)的靈活性,實(shí)現(xiàn)對兩路以及兩路以上的流媒體數(shù)據(jù)的傳輸,且通過采用上述方案,還能夠保證流媒體直播過程中,流媒體數(shù)據(jù)傳輸?shù)膶?shí)時性以及穩(wěn)定性。
[0085]圖3為本發(fā)明的流媒體直播方法實(shí)施例三的流程圖。如圖3所示,本實(shí)施例的流媒體直播方法,本實(shí)施例的流媒體直播方法的執(zhí)行主體為流媒體直播客戶端,具體可以包括如下步驟:
[0086]300、根據(jù)要觀看的直播的流媒體的屬性參數(shù),從服務(wù)平臺中獲取對應(yīng)的直播該流媒體的直播頻道的標(biāo)識;
[0087]例如,具體可以從服務(wù)平臺中的管理服務(wù)模塊中獲取對應(yīng)的直播該流媒體的直播頻道的標(biāo)識。
[0088]首先流媒體直播客戶端需要根據(jù)使用用戶名和密碼登錄該管理服務(wù)模塊。該管理服務(wù)模塊中同樣記錄并管理有每一個流媒體直播客戶端的用戶名和地址。流媒體直播客戶端登錄至管理服務(wù)模塊之后,選擇要觀看的直播,可以在管理服務(wù)模塊中看到要觀看的直播的流媒體的屬性參數(shù),并根據(jù)流媒體的屬性參數(shù)與直播該流媒體的直播頻道標(biāo)識之間的對應(yīng)關(guān)系,可以獲取到對應(yīng)的直播該流媒體的直播頻道的標(biāo)識。
[0089]301、根據(jù)直播頻道的標(biāo)識,從服務(wù)平臺中直播頻道對應(yīng)的緩沖區(qū)中獲取直播流媒體數(shù)據(jù);
[0090]例如,具體可以從服務(wù)平臺中的直播服務(wù)模塊中直播頻道對應(yīng)的緩沖區(qū)中獲取直播流媒體數(shù)據(jù)。
[0091]本實(shí)施例的直播流媒體數(shù)據(jù)包括至少兩路;也就是說本實(shí)施例包括至少兩個媒體通道,每個媒體通道用于傳輸一路數(shù)據(jù)。
[0092]302、對直播流媒體數(shù)據(jù)進(jìn)行解碼;
[0093]303、根據(jù)解碼后的直播流媒體數(shù)據(jù),播放該直播流媒體數(shù)據(jù)。
[0094]具體地,流媒體直播客戶端可以對解碼后形成數(shù)據(jù)進(jìn)行同步控制后,對每個媒體通道的數(shù)據(jù)分別進(jìn)行渲染并播放,從而實(shí)現(xiàn)對流媒體的直播。
[0095]本實(shí)施例的流媒體直播方法與上述圖1所示實(shí)施例的區(qū)別在于:上述圖1所示實(shí)施例在流媒體直播發(fā)布端描述本發(fā)明的流媒體直播,而本實(shí)施例在流媒體直播客戶端描述本發(fā)明的流媒體直播。
[0096]本實(shí)施例的流媒體直播方法,通過根據(jù)要觀看的直播的流媒體的屬性參數(shù),從服務(wù)平臺中獲取對應(yīng)的直播該流媒體的直播頻道的標(biāo)識,根據(jù)直播頻道的標(biāo)識,從服務(wù)平臺中直播頻道對應(yīng)的緩沖區(qū)中獲取直播流媒體數(shù)據(jù);對直播流媒體數(shù)據(jù)進(jìn)行解碼;根據(jù)解碼后的直播流媒體數(shù)據(jù),播放該直播流媒體數(shù)據(jù),實(shí)現(xiàn)在流媒體直播客戶端一側(cè)對流媒體的直播。本實(shí)施例的技術(shù)方案,可以彌補(bǔ)現(xiàn)有技術(shù)的不足,提高流媒體直播服務(wù)的靈活性,實(shí)現(xiàn)對兩路以及兩路以上的流媒體數(shù)據(jù)的傳輸,且通過采用上述方案,還能夠保證流媒體直播過程中,流媒體數(shù)據(jù)傳輸?shù)膶?shí)時性以及穩(wěn)定性。
[0097]可選地,在上述圖3所示實(shí)施例的技術(shù)方案的基礎(chǔ)上,步驟301“根據(jù)直播頻道的標(biāo)識,從服務(wù)平臺中直播頻道對應(yīng)的緩沖區(qū)中獲取直播流媒體數(shù)據(jù);”,具體可以包括:根據(jù)直播頻道的標(biāo)識,按照先進(jìn)先出的隊列規(guī)則從服務(wù)平臺中的直播服務(wù)模塊中直播頻道標(biāo)識對應(yīng)的直播頻道的緩沖區(qū)中獲取流媒體的各媒體通道的數(shù)據(jù)。
[0098]進(jìn)一步可選地,在上述圖3所示實(shí)施例的技術(shù)方案的基礎(chǔ)上,步驟300“根據(jù)要觀看的直播的流媒體的屬性參數(shù),從服務(wù)平臺中獲取對應(yīng)的直播該流媒體的直播頻道的標(biāo)識”之后,還可以包括:通過所述服務(wù)平臺與直播所述流媒體的發(fā)布端進(jìn)行互動。
[0099]例如,具體可以根據(jù)直播頻道標(biāo)識,與服務(wù)平臺中直播頻道標(biāo)識對應(yīng)的直播頻道對應(yīng)的交互服務(wù)模塊連接,以通過交互服務(wù)模塊與直播流媒體的發(fā)布端進(jìn)行互動。
[0100]具體地,流媒體直播客戶端獲取到直播頻道標(biāo)識之后,還需要從管理服務(wù)模塊中獲取交互服務(wù)模塊的地址,然后根據(jù)交互服務(wù)模塊的地址訪問該交互服務(wù)模塊。由于交互的私密性,每一個直播頻道可以占用一個交互服務(wù)模塊,并將該交互服務(wù)模塊標(biāo)上該直播頻道的標(biāo)識。這樣,流媒體直播客戶端可以通過該直播頻道的標(biāo)識對應(yīng)的交互服務(wù)模塊請求與流媒體直播發(fā)布端進(jìn)行交互。該交互服務(wù)模塊收到該請求之后,可以從管理服務(wù)模塊中獲取該直播頻道標(biāo)識對應(yīng)的流媒體直播發(fā)布端的地址,并根據(jù)該流媒體直播發(fā)布端的地址與該流媒體直播發(fā)布端通信,最終實(shí)現(xiàn)流媒體直播發(fā)布端與流媒體直播客戶端的通信。需要說明的是,流媒體直播發(fā)布端的載體可以包括具有網(wǎng)絡(luò)功能的PC電腦、或者具有WIFI或者3G等無線上網(wǎng)功能的手持設(shè)備。本實(shí)施例的流媒體直播發(fā)布端與流媒體直播客戶端之間的交互可以為文本交互,也可以為語音交互。通過流媒體直播發(fā)布端與流媒體直播客戶端的交互,可以實(shí)現(xiàn)提問、頭片以及在線聯(lián)系等等交互。
[0101]同理,上述實(shí)施例的流媒體直播方法中,流媒體直播發(fā)布端、流媒體直播客戶端、管理服務(wù)模塊、直播服務(wù)模塊以及交互服務(wù)模塊之間的通信可以采用RTP進(jìn)行通信,可以金以保證流媒體直播的實(shí)時性與穩(wěn)定性。
[0102]上述實(shí)施例的流媒體直播方法,通過采用上述方案可以實(shí)現(xiàn)在流媒體直播客戶端一側(cè)對流媒體的直播。本實(shí)施例的技術(shù)方案,可以彌補(bǔ)現(xiàn)有技術(shù)的不足,提高流媒體直播服務(wù)的靈活性,實(shí)現(xiàn)對兩路以及兩路以上的流媒體數(shù)據(jù)的傳輸,且通過采用上述方案,還能夠保證流媒體直播過程中,流媒體數(shù)據(jù)傳輸?shù)膶?shí)時性以及穩(wěn)定性。
[0103]圖4為本發(fā)明的流媒體直播發(fā)布端實(shí)施例一的結(jié)構(gòu)示意圖。如圖4所示,本實(shí)施例的流媒體直播發(fā)布端,具體可以包括:采集模塊10、編碼模塊11和緩存模塊12。
[0104]其中采集模塊10用于采集直播頻道上的媒體通道的直播流媒體數(shù)據(jù),直播流媒體數(shù)據(jù)包括至少兩路;直播流媒體數(shù)據(jù)包括至少兩路;編碼模塊11用于對采集模塊10采集的直播流媒體數(shù)據(jù)進(jìn)行編碼;緩存模塊12用于將編碼模塊11編碼后的直播流媒體數(shù)據(jù)放入服務(wù)平臺中直播頻道對應(yīng)的緩沖區(qū)中,其中,編碼后的直播流媒體數(shù)據(jù)按照所述媒體通道分別保存。
[0105]本實(shí)施例的流媒體直播發(fā)布端,通過采用上述模塊實(shí)現(xiàn)流媒體直播處理的實(shí)現(xiàn)機(jī)制與上述圖1所示的流媒體直播方法實(shí)施例的實(shí)現(xiàn)機(jī)制相同,詳細(xì)亦可以參考上述圖1所示實(shí)施例的記載,在此不再贅述。
[0106]本實(shí)施例的流媒體直播發(fā)布端,通過采用上述模塊實(shí)現(xiàn)通過采集直播頻道上的媒體通道的直播流媒體數(shù)據(jù),對采集的直播流媒體數(shù)據(jù)進(jìn)行編碼;將編碼后的直播流媒體數(shù)據(jù)放入服務(wù)平臺中直播頻道對應(yīng)的緩沖區(qū)中,實(shí)現(xiàn)在流媒體直播發(fā)布端一側(cè)對流媒體進(jìn)行直播處理。本實(shí)施例的技術(shù)方案,可以彌補(bǔ)現(xiàn)有技術(shù)的不足,提高流媒體直播服務(wù)的靈活性,實(shí)現(xiàn)對兩路以及兩路以上的流媒體數(shù)據(jù)的傳輸,且通過采用上述方案,還能夠保證流媒體直播過程中,流媒體數(shù)據(jù)傳輸?shù)膶?shí)時性以及穩(wěn)定性。
[0107]圖5為本發(fā)明的流媒體直播發(fā)布端實(shí)施例二的結(jié)構(gòu)示意圖。如圖5所示,本實(shí)施例的流媒體直播發(fā)布端在上述圖4所示實(shí)施例的基礎(chǔ)上,進(jìn)一步更加詳細(xì)地描述本發(fā)明的技術(shù)方案。
[0108]首先,本實(shí)施例的流媒體直播發(fā)布端中,編碼模塊11具體用于根據(jù)各媒體通道的數(shù)據(jù)的格式采用對應(yīng)的壓縮編碼標(biāo)準(zhǔn)和編碼參數(shù)對采集模塊10采集的對應(yīng)的數(shù)據(jù)進(jìn)行編碼。
[0109]進(jìn)一步可選地,本實(shí)施例的流媒體直播發(fā)布端中,緩存模塊12具體用于將編碼模塊11編碼后的各數(shù)據(jù)按照先進(jìn)先出的隊列規(guī)則放入直播服務(wù)模塊中直播頻道對應(yīng)的緩沖區(qū)中。
[0110]如圖5所示,本實(shí)施例的流媒體直播發(fā)布端中,流媒體直播發(fā)布端還包括:收發(fā)模塊13、選擇模塊14和設(shè)置模塊15。
[0111]其中收發(fā)模塊13用于向服務(wù)平臺請求直播頻道的標(biāo)識,接收服務(wù)平臺返回的直播頻道的標(biāo)識;收發(fā)模塊13還用于向服務(wù)平臺發(fā)送直播流媒體的屬性參數(shù),以供服務(wù)平臺建立并保存直播頻道的標(biāo)識與直播流媒體的屬性參數(shù)之間的對應(yīng)關(guān)系;選擇模塊14用于在服務(wù)平臺中選定直播流媒體的所述直播頻道,并采用直播頻道的標(biāo)識唯一標(biāo)識直播頻道;設(shè)置模塊15用于將服務(wù)平臺中直播頻道的標(biāo)識對應(yīng)的直播頻道狀態(tài)設(shè)置為直播狀態(tài)。
[0?12]如圖5所不,本實(shí)施例的流媒體直播發(fā)布端中還包括:第一交互模塊16,該第一交互模塊16用于通過服務(wù)平臺與直播流媒體的流媒體直播客戶端進(jìn)行互動。
[0113]本實(shí)施例的流媒體直播發(fā)布端,通過采用上述模塊實(shí)現(xiàn)流媒體直播的實(shí)現(xiàn)機(jī)制與上述圖2所示實(shí)施例的實(shí)現(xiàn)機(jī)制相同,詳細(xì)可以參考上述圖2所示實(shí)施例的記載,在此不再贅述。
[0114]本實(shí)施例的流媒體直播發(fā)布端,通過采用上述方案可以實(shí)現(xiàn)在流媒體直播發(fā)布端一側(cè)對流媒體的數(shù)據(jù)的處理。本實(shí)施例的技術(shù)方案,可以彌補(bǔ)現(xiàn)有技術(shù)的不足,提高流媒體直播服務(wù)的靈活性,實(shí)現(xiàn)對兩路以及兩路以上的流媒體數(shù)據(jù)的傳輸,且通過采用上述方案,還能夠保證流媒體直播過程中,流媒體數(shù)據(jù)傳輸?shù)膶?shí)時性以及穩(wěn)定性。
[0115]圖6為本發(fā)明的流媒體直播客戶端實(shí)施例的結(jié)構(gòu)示意圖。如圖6所示,本實(shí)施例的流媒體直播客戶端,具體可以包括:直播頻道標(biāo)識獲取模塊20、數(shù)據(jù)獲取模塊21、解碼模塊22和播放模塊23。
[0116]其中直播頻道標(biāo)識獲取模塊20用于根據(jù)要觀看的直播流媒體的屬性參數(shù),從服務(wù)平臺中獲取直播所述直播流媒體的直播頻道的標(biāo)識;數(shù)據(jù)獲取模塊21用于根據(jù)直播頻道標(biāo)識獲取模塊20獲取的直播頻道的標(biāo)識,從服務(wù)平臺中直播頻道標(biāo)識對應(yīng)的直播頻道的緩沖區(qū)中獲取直播流媒體數(shù)據(jù);直播流媒體數(shù)據(jù)包括至少兩路;解碼模塊22用于對數(shù)據(jù)獲取模塊21獲取的直播流媒體數(shù)據(jù)進(jìn)行解碼;播放模塊23用于根據(jù)解碼模塊22解碼后的直播流媒體數(shù)據(jù),播放直播流媒體數(shù)據(jù)。
[0117]本實(shí)施例的流媒體直播客戶端,通過采用上述模塊實(shí)現(xiàn)流媒體直播的實(shí)現(xiàn)機(jī)制與上述圖3所示實(shí)施例的實(shí)現(xiàn)機(jī)制相同,詳細(xì)可以參考上述圖3所示實(shí)施例的記載,在此不再贅述。
[0118]本實(shí)施例的流媒體直播客戶單端,通過采用上述模塊可以實(shí)現(xiàn)根據(jù)要觀看的直播的流媒體的屬性參數(shù),從服務(wù)平臺中獲取對應(yīng)的直播該流媒體的直播頻道的標(biāo)識,根據(jù)直播頻道的標(biāo)識,從服務(wù)平臺中直播頻道對應(yīng)的緩沖區(qū)中獲取直播流媒體數(shù)據(jù);對直播流媒體數(shù)據(jù)進(jìn)行解碼;根據(jù)解碼后的直播流媒體數(shù)據(jù),播放該直播流媒體數(shù)據(jù),實(shí)現(xiàn)在流媒體直播客戶端一側(cè)對流媒體的直播。本實(shí)施例的技術(shù)方案,可以彌補(bǔ)現(xiàn)有技術(shù)的不足,提高流媒體直播服務(wù)的靈活性,實(shí)現(xiàn)對兩路以及兩路以上的流媒體數(shù)據(jù)的傳輸,且通過采用上述方案,還能夠保證流媒體直播過程中,流媒體數(shù)據(jù)傳輸?shù)膶?shí)時性以及穩(wěn)定性。
[0119]可選地,在上述圖6所示實(shí)施例的基礎(chǔ)上,數(shù)據(jù)獲取模塊21具體用于根據(jù)直播頻道的標(biāo)識,按照先進(jìn)先出的隊列規(guī)則從直播服務(wù)模塊中直播頻道標(biāo)識對應(yīng)的直播頻道的緩沖區(qū)中獲取流媒體的各媒體通道的數(shù)據(jù)。
[0120]進(jìn)一步地,在上述圖6所示實(shí)施例的基礎(chǔ)上,流媒體直播客戶端還可以包括:第二交互模塊,該第二交互模塊用于通過服務(wù)平臺與直播流媒體的發(fā)布端進(jìn)行互動。例如,具體可以根據(jù)直播頻道標(biāo)識,與直播頻道對應(yīng)的交互服務(wù)模塊連接,以通過交互服務(wù)模塊與直播流媒體的發(fā)布端進(jìn)行互動。詳細(xì)可以參考上述相關(guān)方法實(shí)施例的記載,在此不再贅述。
[0121]圖7為本發(fā)明的流媒體直播系統(tǒng)的結(jié)構(gòu)示意圖。如圖7所示,本實(shí)施例的流媒體直播系統(tǒng),具體可以包括多個流媒體直播發(fā)布端100、多個流媒體直播客戶端200以及服務(wù)平臺300。該服務(wù)平臺300中包括管理服務(wù)模塊301、直播服務(wù)模塊302以及交互服務(wù)模塊303。
[0122]其中流媒體直播發(fā)布端100可以采用如上圖4或者圖5所示實(shí)施例的流媒體直播發(fā)布端;流媒體直播客戶端200可以采用上述圖6所示實(shí)施例的流媒體直播客戶端;管理服務(wù)模塊301分別與流媒體直播發(fā)布端100和流媒體直播客戶端200連接,實(shí)現(xiàn)對直播的流媒體的直播頻道的標(biāo)識以及流媒體的屬性參數(shù)進(jìn)行管理;直播服務(wù)模塊302分別與流媒體直播發(fā)布端100和流媒體直播客戶端200連接,實(shí)現(xiàn)對直播頻道上的直播流媒體數(shù)據(jù)的管理;交互服務(wù)模塊303分別與流媒體直播發(fā)布端100和流媒體直播客戶端200連接,實(shí)現(xiàn)對流媒體直播發(fā)布端100和流媒體直播客戶端200的交互,且本實(shí)施例的所有連接之間的通信可以采用RTP進(jìn)行通信,可以增強(qiáng)流媒體直播的實(shí)時性與穩(wěn)定性。具體可以參考上述圖1-圖3所示實(shí)施例的流媒體直播方法實(shí)現(xiàn)流媒體的直播,在此不再贅述。
[0123]需要說明的是,實(shí)際應(yīng)用中流媒體直播發(fā)布端100和流媒體直播客戶端200的數(shù)量可以根據(jù)實(shí)際需求來設(shè)置,在此不做限定。為了便于統(tǒng)一管理,管理服務(wù)模塊301和直播服務(wù)模塊302的數(shù)量可以為一個,交互服務(wù)模塊303可以為一個,也可以為多個。如果交互服務(wù)模塊303為一個的話,內(nèi)部可以設(shè)置多個交互服務(wù)單元,對于每一個直播流媒體的直播頻道,可以對應(yīng)一個交互服務(wù)單元。如果交互服務(wù)模塊303包括多個的話,每一個交互服務(wù)模塊303便可以直接對應(yīng)一個直播流媒體的直播頻道。本實(shí)施例中以設(shè)置一個交互服務(wù)模塊303為例。
[0124]圖8為本發(fā)明實(shí)施例的流媒體直播系統(tǒng)進(jìn)行流媒體直播的信令交互圖。如圖8所示,本實(shí)施例的流媒體直播系統(tǒng)以直播一個遠(yuǎn)程的實(shí)時教學(xué)為例,本實(shí)施例的流媒體以包括至少兩路媒體通道,傳輸音頻流數(shù)據(jù)、視頻流數(shù)據(jù)以及屏幕數(shù)據(jù)至少兩路視頻源為例來描述本發(fā)明的技術(shù)方案。
[0125]如圖8所示,本實(shí)施例中以包括一個流媒體直播發(fā)布端100、一個流媒體直播客戶端200、服務(wù)平臺300中包括直播服務(wù)模塊302和一個交互服務(wù)模塊303為例,描述本發(fā)明的技術(shù)方案。另外,圖8中為示出管理服務(wù)模塊。
[0126]如圖8所示,流媒體直播發(fā)布端100登錄流管理服務(wù)模塊,且確定采用直播頻道標(biāo)識為I的直播頻道即直播頻道I直播該實(shí)時教學(xué)的流媒體,并在管理服務(wù)模塊中建立了管理服務(wù)模塊與該流媒體的屬性參數(shù)的對應(yīng)關(guān)系。然后流媒體直播發(fā)布端100內(nèi)通過至少兩路通道分別進(jìn)行流媒體數(shù)據(jù)的采集,得到音頻數(shù)據(jù)、視頻數(shù)據(jù)以及屏幕數(shù)據(jù),然后分別對采集的音頻數(shù)據(jù)進(jìn)行音頻編碼、視頻數(shù)據(jù)進(jìn)行視頻編碼以及屏幕數(shù)據(jù)進(jìn)行屏幕編碼,分別形成音頻碼流、視頻碼流以及屏幕碼流。緊接著流媒體直播發(fā)布端100從管理服務(wù)模塊中獲取直播服務(wù)模塊302的地址,根據(jù)該地址訪問該直播服務(wù)模塊302,定義直播服務(wù)模塊302中直播頻道I的緩沖區(qū),以實(shí)現(xiàn)對直播頻道I直播的流媒體的碼流進(jìn)行存放。此時流媒體直播發(fā)布端100將音頻碼流、視頻碼流以及屏幕碼流放入直播服務(wù)模塊302中直播頻道I對應(yīng)的緩沖區(qū)中,由于每一媒體通道的碼流是按照隊列的先進(jìn)先出規(guī)則存入,因此,也可以將直播頻道I對應(yīng)的緩沖區(qū)也可以稱為直播頻道I的隊列池。如圖8所示,直播頻道I的隊列池可以包括直播頻道I對應(yīng)的音頻流隊列1、視頻流隊列I以及屏幕流隊列1,此處的I均表示直播頻道的標(biāo)識。實(shí)際應(yīng)用中該流媒體直播系統(tǒng)可以同時直播多個流媒體,因此此處也可以包括多個直播頻道,如共可以包括N個直播頻道,其中N為大于I的正整數(shù)。對應(yīng)每一個直播頻道,直播服務(wù)模塊302中均包括對應(yīng)的緩沖區(qū),如直播頻道N隊列池中可以包括直播頻道N對應(yīng)的音頻流隊列N、視頻流隊列N以及屏幕流隊列N。
[0127]流媒體直播客戶端200登錄管理服務(wù)模塊,從管理服務(wù)模塊中獲取要觀看的直播所在的直播頻道標(biāo)識,例如用戶要觀看的直播頻道標(biāo)識為I。再從管理服務(wù)模塊中獲取直播服務(wù)模塊302的地址,根據(jù)該直播服務(wù)模塊302的地址訪問該直播服務(wù)模塊302,并從直播服務(wù)模塊302中該直播頻道I對應(yīng)的緩沖區(qū)即直播頻道I隊列池中獲取音頻碼流、視頻碼流和屏幕碼流。緊接著對音頻碼流、視頻碼流和屏幕碼流進(jìn)行音頻解碼、視頻解碼和屏幕解碼,最終得到音頻數(shù)據(jù)、視頻數(shù)據(jù)和屏幕數(shù)據(jù);然后流媒體直播客戶端200對音頻數(shù)據(jù)、視頻數(shù)據(jù)和屏幕數(shù)據(jù)至少兩路數(shù)據(jù)進(jìn)行流媒體數(shù)據(jù)的渲染和播放。
[0128]另外需要說明的是,流媒體直播客戶端200獲取到直播頻道I的標(biāo)識之后,還從管理服務(wù)模塊中獲取交互服務(wù)模塊303的地址和流媒體直播發(fā)布端100的地址,然后根據(jù)該交互服務(wù)模塊303的地址和流媒體直播發(fā)布端100的地址,訪問該交互服務(wù)模塊303,并從該交互服務(wù)模塊303中選擇一個交互服務(wù)單元與流媒體直播發(fā)布端100進(jìn)行交互,為了形象描述本實(shí)施例的交互服務(wù)單元進(jìn)行交互的場景,如圖8所示,該交互服務(wù)單元可以稱之為聊天室,并采用直播頻道的標(biāo)識來區(qū)分該聊天室,例如聊天室I,以表示該聊天室I為直播頻道I對應(yīng)的聊天室。這樣,流媒體直播發(fā)布端100和流媒體直播客戶端200在通過直播頻道I直播該流媒體時,可以通過交互服務(wù)模塊303中的該聊天室I進(jìn)行交互。同理,當(dāng)對應(yīng)有N個頻道時,交互服務(wù)模塊303中也可以包括的對應(yīng)的N個聊天室。
[0129]實(shí)際應(yīng)用中,本實(shí)施例的流媒體直播系統(tǒng),也可以對包括至少兩路流媒體數(shù)據(jù)的直播,具體直播所采用數(shù)據(jù)傳輸協(xié)議可以采用RTP或者其他傳輸協(xié)議。
[0130]本實(shí)施例的流媒體直播系統(tǒng),具體實(shí)現(xiàn)方式也可以參考上述圖1-圖7所示實(shí)施例的記載。
[0131]本實(shí)施例的流媒體直播系統(tǒng),通過采用上述技術(shù)方案,可以實(shí)現(xiàn)對多路流媒體的直播。因此本實(shí)施例的技術(shù)方案,可以彌補(bǔ)現(xiàn)有技術(shù)的不足,提高流媒體直播服務(wù)的靈活性,實(shí)現(xiàn)對兩路以及兩路以上的流媒體數(shù)據(jù)的傳輸,且通過采用上述方案,還能夠保證流媒體直播過程中,流媒體數(shù)據(jù)傳輸?shù)膶?shí)時性以及穩(wěn)定性。
[0132]上述說明示出并描述了本申請的若干優(yōu)選實(shí)施例,但如前所述,應(yīng)當(dāng)理解本申請并非局限于本文所披露的形式,不應(yīng)看作是對其他實(shí)施例的排除,而可用于各種其他組合、修改和環(huán)境,并能夠在本文所述發(fā)明構(gòu)想范圍內(nèi),通過上述教導(dǎo)或相關(guān)領(lǐng)域的技術(shù)或知識進(jìn)行改動。而本領(lǐng)域人員所進(jìn)行的改動和變化不脫離本申請的精神和范圍,則都應(yīng)在本申請所附權(quán)利要求的保護(hù)范圍內(nèi)。
【主權(quán)項】
1.一種流媒體直播方法,其特征在于,包括: 采集直播頻道上的媒體通道的直播流媒體數(shù)據(jù),所述直播流媒體數(shù)據(jù)包括至少兩路; 對所述直播流媒體數(shù)據(jù)進(jìn)行編碼; 將編碼后的所述直播流媒體數(shù)據(jù)放入服務(wù)平臺中所述直播頻道對應(yīng)的緩沖區(qū)中,其中,編碼后的所述直播流媒體數(shù)據(jù)按照所述媒體通道分別保存。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,采集直播頻道上的媒體通道的直播流媒體數(shù)據(jù)之前,所述方法還包括: 向所述服務(wù)平臺請求所述直播頻道的標(biāo)識,接收所述服務(wù)平臺返回的所述直播頻道的標(biāo)識; 向所述服務(wù)平臺發(fā)送所述直播流媒體的屬性參數(shù),以供所述服務(wù)平臺建立并保存所述直播頻道的標(biāo)識與所述直播流媒體的屬性參數(shù)之間的對應(yīng)關(guān)系; 在所述服務(wù)平臺中選定直播所述流媒體的所述直播頻道,并采用所述直播頻道的標(biāo)識唯一標(biāo)識所述直播頻道; 將所述服務(wù)平臺中所述直播頻道的標(biāo)識對應(yīng)的直播頻道狀態(tài)設(shè)置為直播狀態(tài)。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,將編碼后的所述數(shù)據(jù)放入服務(wù)平臺中所述直播頻道對應(yīng)的緩沖區(qū)中之后,所述方法還包括: 通過所述服務(wù)平臺與直播所述流媒體的流媒體直播客戶端進(jìn)行互動。4.一種流媒體直播方法,其特征在于,包括: 根據(jù)要觀看的直播流媒體的屬性參數(shù),從服務(wù)平臺中獲取直播所述直播流媒體的直播頻道的標(biāo)識; 根據(jù)所述直播頻道的標(biāo)識,從所述服務(wù)平臺中所述直播頻道對應(yīng)的緩沖區(qū)中獲取直播流媒體數(shù)據(jù);所述直播流媒體數(shù)據(jù)包括至少兩路; 對所述直播流媒體數(shù)據(jù)進(jìn)行解碼; 根據(jù)解碼后的所述直播流媒體數(shù)據(jù),播放所述直播流媒體數(shù)據(jù)。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,根據(jù)要觀看的直播流媒體的屬性參數(shù),從服務(wù)平臺中獲取直播所述直播流媒體的直播頻道的標(biāo)識之后,所述方法還包括: 通過所述服務(wù)平臺與直播所述流媒體的發(fā)布端進(jìn)行互動。6.一種流媒體直播發(fā)布端,其特征在于,包括: 采集模塊,用于采集直播頻道上的媒體通道的直播流媒體數(shù)據(jù),所述直播流媒體數(shù)據(jù)包括至少兩路; 編碼模塊,用于對所述直播流媒體數(shù)據(jù)進(jìn)行編碼; 緩存模塊,用于將編碼后的所述直播流媒體數(shù)據(jù)放入服務(wù)平臺中所述直播頻道對應(yīng)的緩沖區(qū)中,其中,編碼后的所述直播流媒體數(shù)據(jù)按照所述媒體通道分別保存。7.根據(jù)權(quán)利要求6所述的流媒體直播發(fā)布端方法,其特征在于,所述流媒體直播發(fā)布端還包括: 收發(fā)模塊,用于向所述服務(wù)平臺請求所述直播頻道的標(biāo)識,接收所述服務(wù)平臺返回的所述直播頻道的標(biāo)識; 所述收發(fā)模塊,還用于向所述服務(wù)平臺發(fā)送所述直播流媒體的屬性參數(shù),以供所述服務(wù)平臺建立并保存所述直播頻道的標(biāo)識與所述直播流媒體的屬性參數(shù)之間的對應(yīng)關(guān)系; 選擇模塊,用于在所述服務(wù)平臺中選定直播所述流媒體的所述直播頻道,并采用所述直播頻道的標(biāo)識唯一標(biāo)識所述直播頻道; 設(shè)置模塊,用于將所述服務(wù)平臺中所述直播頻道的標(biāo)識對應(yīng)的直播頻道狀態(tài)設(shè)置為直播狀態(tài)。8.根據(jù)權(quán)利要求7所述的流媒體直播發(fā)布端,其特征在于,所述流媒體直播發(fā)布端還包括: 第一交互模塊,用于通過所述服務(wù)平臺與直播所述流媒體的流媒體直播客戶端進(jìn)行互動。9.一種流媒體直播客戶端,其特征在于,包括: 頻道標(biāo)識獲取模塊,用于根據(jù)要觀看的直播流媒體的屬性參數(shù),從服務(wù)平臺中獲取直播所述直播流媒體的直播頻道的標(biāo)識; 數(shù)據(jù)獲取模塊,用于根據(jù)所述直播頻道的標(biāo)識,從所述服務(wù)平臺中所述直播頻道對應(yīng)的緩沖區(qū)中獲取直播流媒體數(shù)據(jù);所述直播流媒體數(shù)據(jù)包括至少兩路; 解碼模塊,用于對所述直播流媒體數(shù)據(jù)進(jìn)行解碼; 播放模塊,用于根據(jù)解碼后的所述直播流媒體數(shù)據(jù),播放所述直播流媒體數(shù)據(jù)。10.根據(jù)權(quán)利要求9所述的流媒體直播客戶端,其特征在于,所述流媒體直播客戶端還包括: 第二交互模塊,用于通過所述服務(wù)平臺與直播所述流媒體的發(fā)布端進(jìn)行互動。11.一種流媒體直播系統(tǒng),其特征在于,包括流媒體直播發(fā)布端、流媒體直播客戶端以及服務(wù)平臺; 所述流媒體直播發(fā)布端分別采用如上權(quán)利要求6-8任一所述的流媒體直播發(fā)布端;所述流媒體直播客戶端分別采用如上權(quán)利要求9-10任一所述的流媒體直播客戶端;所述服務(wù)平臺分別與所述流媒體直播發(fā)布端和所述流媒體直播客戶端連接,實(shí)現(xiàn)所述流媒體直播發(fā)布端向所述流媒體直播客戶端直播流媒體數(shù)據(jù)。
【文檔編號】H04N21/266GK105872579SQ201510980686
【公開日】2016年8月17日
【申請日】2015年12月23日
【發(fā)明人】張奇
【申請人】樂視網(wǎng)信息技術(shù)(北京)股份有限公司