直播處理方法和裝置、直播伺服器及直播系統與流程
2023-05-21 23:21:27 2

本公開涉及計算機網絡技術領域,尤其涉及一種直播處理方法和裝置、直播伺服器及直播系統。
背景技術:
目前,隨著移動網際網路的發展,直播軟體越來越受歡迎,越來越多的主播利用直播平臺向觀眾播放各種內容。在直播過程中,主播使用的主播客戶端將通過信號採集設備(如:攝像頭、麥克風等)採集到的直播源數據上傳到直播伺服器,再通過直播伺服器分發到一個或多個觀眾客戶端進行播放。
相關技術中,直播伺服器需要將主播客戶端上傳的直播源數據進行編碼,得到流媒體(Streaming Media)數據並發送至觀眾客戶端,以實現直播過程。直播伺服器一般採用固定的編碼規則對直播源數據進行編碼,得到單一的流媒體數據。然而,採用固定編碼規則編碼得到的單一的流媒體數據一般適合於在具有某些特定屏幕特徵(如:屏幕解析度)的觀眾客戶端上進行播放,隨著觀眾客戶端的屏幕特徵的種類不斷增多,單一的流媒體數據難以適合在各種具有不同特定屏幕特徵的觀眾客戶端上進行播放。
技術實現要素:
為克服相關技術中存在的問題,本公開實施例提供一種直播處理方法和裝置、直播伺服器及直播系統。
根據本公開實施例的第一方面,提供一種直播處理方法,包括:
接收主播客戶端上傳的直播源數據;
採用至少兩種編碼規則對所述直播源數據進行編碼,獲得與每一編碼規則對應的流媒體數據;所述編碼規則中的參數包括屏幕特徵;
基於與每一編碼規則對應的流媒體數據和觀眾客戶端的屏幕特徵,確定與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據;
將確定的所述流媒體數據發送至所述觀眾客戶端。
根據本公開實施例的第二方面,提供一種直播處理裝置,包括:
接收單元,用於接收主播客戶端上傳的直播源數據;
編碼單元,用於採用至少兩種編碼規則對所述直播源數據進行編碼,獲得與每一編碼規則對應的流媒體數據;所述編碼規則中的參數包括屏幕特徵;
確定單元,用於基於與每一編碼規則對應的流媒體數據和觀眾客戶端的屏幕特徵,確定與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據;
發送單元,用於將確定的所述流媒體數據發送至所述觀眾客戶端。
根據本公開實施例的第三方面,提供一種直播伺服器,包括:
處理器和用於存儲處理器可執行指令的存儲器;
其中,所述處理器被配置為:
接收主播客戶端上傳的直播源數據;
採用至少兩種編碼規則對所述直播源數據進行編碼,獲得與每一編碼規則對應的流媒體數據;所述編碼規則中的參數包括屏幕特徵;
基於與每一編碼規則對應的流媒體數據和觀眾客戶端的屏幕特徵,確定與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據;
將確定的所述流媒體數據發送至所述觀眾客戶端。
根據本公開實施例的第四方面,提供一種直播系統,包括:
主播客戶端,用於與直播伺服器建立連接,向直播伺服器上傳直播源數據;
直播伺服器,用於分別與主播客戶端與觀眾客戶端建立連接,接收主播客戶端上傳的直播源數據;採用至少兩種編碼規則對所述直播源數據進行編碼,獲得與每一編碼規則對應的流媒體數據,所述編碼規則中的參數包括屏幕特徵;基於與每一編碼規則對應的流媒體數據,根據觀眾客戶端的屏幕特徵,確定與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據;將確定的所述流媒體數據發送至所述觀眾客戶端。
觀眾客戶端,用於與所述直播伺服器建立連接,接收直播伺服器發送的流媒體數據並進行播放。
本公開的實施例提供的技術方案可以包括以下有益效果:
通過採用至少兩種不同的編碼規則對主播客戶端上傳的直播源數據(即直播內容)進行編碼,獲得與每一編碼規則對應的流媒體數據,在觀眾客戶端需要觀看上述直播內容時,則可以根據所述觀眾客戶端的屏幕特徵,確定與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據(即至少兩種流媒體數據中的一個),最終,將確定的所述流媒體數據發送至所述觀眾客戶端。可見,由於直播伺服器通過至少兩種編碼規則進行編碼,得到至少兩種不同的流媒體數據,從而使得上述至少兩種不同的流媒體數據可以分別適合於在具有不同特定屏幕特徵的觀眾客戶端上進行播放,提升了在不同的觀眾客戶端上觀看直播內容的效果。
應當理解的是,以上的一般描述和後文的細節描述僅是示例性和解釋性的,並不能限制本公開。
附圖說明
此處的附圖被併入說明書中並構成本說明書的一部分,示出了符合本發明的實施例,並與說明書一起用於解釋本發明的原理。
圖1是根據一示例性實施例示出的直播系統的架構圖;
圖2是根據一示例性實施例示出的一種直播處理方法的流程圖;
圖3是根據一示例性實施例示出的另一種直播處理方法的流程圖;
圖4是根據一示例性實施例示出的又一種直播處理方法的流程圖;
圖5是根據一示例性實施例示出的又一種直播處理方法的流程圖;
圖6是根據一示例性實施例示出的一種直播處理裝置的框圖;
圖7是根據一示例性實施例示出的另一種直播處理裝置的框圖;
圖8是根據一示例性實施例示出的又一種直播處理裝置的框圖;
圖9是根據一示例性實施例示出的又一種直播處理裝置的框圖;
圖10是根據一示例性實施例示出的又一種直播處理裝置的框圖;
圖11是根據一示例性實施例示出的又一種直播處理裝置的框圖;
圖12是根據一示例性實施例示出的一種適用於直播處理的裝置的框圖。
具體實施方式
這裡將詳細地對示例性實施例進行說明,其示例表示在附圖中。下面的描述涉及附圖時,除非另有表示,不同附圖中的相同數字表示相同或相似的要素。以下示例性實施例中所描述的實施方式並不代表與本發明相一致的所有實施方式。相反,它們僅是與如所附權利要求書中所詳述的、本發明的一些方面相一致的裝置和方法的例子。
在本公開使用的術語是僅僅出於描述特定實施例的目的,而非旨在限制本公開。在本公開和所附權利要求書中所使用的單數形式的「一種」、「所述」和「該」也旨在包括多數形式,除非上下文清楚地表示其他含義。還應當理解,本文中使用的術語「和/或」是指並包含一個或多個相關聯的列出項目的任何或所有可能組合。
應當理解,儘管在本公開可能採用術語第一、第二、第三等來描述各種信息,但這些信息不應限於這些術語。這些術語僅用來將同一類型的信息彼此區分開。例如,在不脫離本公開範圍的情況下,第一信息也可以被稱為第二信息,類似地,第二信息也可以被稱為第一信息。取決於語境,如在此所使用的詞語「如果」可以被解釋成為「在……時」或「當……時」或「響應於確定」。
圖1是根據一示例性實施例示出的直播系統的架構圖,所述直播系統可以包括:主播客戶端10、可與直播客戶端10進行通信的直播伺服器20及可與直播伺服器20進行通信的觀眾客戶端30a、30b。其中,上述主播客戶端可以是主播使用的設備(如:電腦、手機等),上述觀眾客戶端可以是觀眾使用的設備(如:電腦、手機、虛擬實境(Virtual Reality,VR)頭盔等)。其中,主播客戶端可以包括一種或多種信號採集設備(如:攝像頭、麥克風等)。在直播過程中,主播客戶端10通過相應的信號採集設備採集到音/視頻信號,並作為直播源數據上傳到直播伺服器20,並由直播伺服器20將上傳到直播源數據進行標準化,並編碼為流媒體數據分發到一個或多個觀眾客戶端上進行播放。流媒體數據可以按照指定的流媒體傳輸協議來進行傳輸,例如,實時傳輸協議(Real-time Transport Protocol,RTP)、實時傳輸控制協議(Real-time Transport Control Protocol,RTCP)等。其中,所述直播伺服器可以是單個伺服器或由多個伺服器構成的伺服器集群。
圖2是根據一示例性實施例示出的一種直播處理方法的流程圖,該直播處理方法可以應用在直播伺服器上,可以通過在直播伺服器上安裝相應的直播應用軟體的方式實現,如圖2所示,所述直播處理方法可以包括以下步驟101~104:
在步驟101中,接收主播客戶端上傳的直播源數據。
在步驟102中,採用至少兩種編碼規則對所述直播源數據進行編碼,獲得與每一編碼規則對應的流媒體數據;其中,所述編碼規則中的參數包括屏幕特徵。
主播伺服器可以採用相應的編碼規則對所述直播源數據進行編碼,所述編碼過程可以通過相應的編碼工具來實現,如:FFmpeg(Fast Forward Mpeg)、mencoder、ffdshow、x264等。其中,所述編碼規則包括若干參數,以FFmpeg為例,參數可以包括:輸出格式、屏幕特徵、碼率、採樣率、聲道等等。其中,所述屏幕特徵可以包括:屏幕的解析度及屏幕的尺寸、觀看方式(豎屏或橫屏)等。在本實施例中,所述編碼規則中的參數至少包括上述屏幕特徵。其中,在定義每一種編碼規則時,可以為編碼規則中的每一種參數賦予特定的特徵值,例如,為參數「屏幕特徵」賦予的特徵值為:「360x640」。
在本實施例中,所述編碼規則至少包括兩種,不同的編碼規則之間的不同之處可以體現在參數的特徵值不同。可以採用同一種編碼工具來實現至少兩種不同的編碼規則。舉例而言,假如包括編碼規則一和編碼規則二,其中,編碼規則一中的參數「解析度」的特徵值:360x640,編碼規則二中的參數「解析度」的特徵值:1280x720。其中,編碼規則一或編碼規則二中的其他參數的特徵值可以視具體需求進行調整。最終,可以對直播源數據按照上述編碼規則一編碼得到的流媒體數據Data1,以及按照上述編碼規則二編碼得到的流媒體數據Data2。
在步驟103中,基於與每一編碼規則對應的流媒體數據和觀眾客戶端的屏幕特徵,確定與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據。
沿用上述例子,若某觀眾客戶端請求觀看上述主播客戶端上傳到的直播內容,並且假設該觀眾客戶端的屏幕解析度是:1280x720,則基於之前編碼得到的至少兩種流媒體數據(如:流媒體數據Data1、Data2),直播伺服器根據上述觀眾客戶端的屏幕解析度,確定到與該屏幕解析度相匹配的流媒體數據是Data2。
在步驟104中,將確定的所述流媒體數據發送至所述觀眾客戶端。
其中,觀眾客戶端上可以存在相應的可以對流媒體數據進行解碼並播放的播放器,以實現直播內容的播放。
在一實施例中,在上述步驟102之後,在上述步驟103之前,所述方法還可以包括:採用所述編碼規則中包含的所述屏幕特徵的特徵值,對通過所述編碼規則編碼得到的流媒體數據進行標記。。
在一實施例中,在上述步驟102之後,在上述步驟103之前,所述方法還可以包括:將每一流媒體數據與預設屏幕類型進行對應;其中,每一預設屏幕類型包括一個或多個屏幕特徵;
所述步驟103可以包括:
確定觀眾客戶端的屏幕特徵所屬的預設屏幕類型;
將與所述預設屏幕類型對應的流媒體數據,確定為與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據。
在一實施例中,所述步驟101可以包括:
接收主播客戶端上傳的與在主播客戶端上登錄的主播帳號對應的直播源數據;
所述步驟102之前,所述方法還可以包括:
根據預存的編碼規則和主播帳號的對應關係,查找與在主播客戶端上登錄的所述主播帳號對應的編碼規則。
在一實施例中,所述步驟102之前,所述方法還可以包括:
接收設定命令,所述設定命令包含與每一編碼規則對應的參數以及與每一參數對應的特徵值;
所述步驟102可以包括:
響應於所述設定命令,根據所述設定命令包含的與每一編碼規則對應的參數以及與每一參數對應的特徵值,對所述直播源數據進行編碼。
在一實施例中,在上述步驟102之後,在上述步驟103之前,所述方法還可以包括:
將與每一編碼規則對應的流媒體數據分別推送到對應的地址上。
具體如何實現直播的過程,請參考後續實施例。
至此,本公開實施例提供的上述方法,可以通過採用至少兩種不同的編碼規則對主播客戶端上傳的直播源數據(即直播內容)進行編碼,獲得與每一編碼規則對應的流媒體數據,在觀眾客戶端需要觀看上述直播內容時,則可以根據所述觀眾客戶端的屏幕特徵,確定與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據(即至少兩種流媒體數據中的一個),最終,將確定的所述流媒體數據發送至所述觀眾客戶端。
相關技術中,單一的流媒體數據往往難以適合在各種具有不同特定屏幕特徵的觀眾客戶端上進行播放。舉例而言,若採用的固定的編碼規則中的參數「屏幕解析度」是:1280x720,對直播源數據進行編碼,得到流媒體數據。則對於屏幕解析度為「1280x720」或與其解析度相差較小的屏幕來說,編碼得到的流媒體數據是較為適合的。但是,對於具有其他解析度的屏幕的觀眾客戶端而言,上述流媒體數據是不太適合播放的,需要通過畫面拉伸或居中的方式來進行播放。然而,畫面拉伸或居中的方式可能會造成直播的畫面不清晰,如:觀眾客戶端的屏幕解析度是:3840x1080,則畫面拉伸後的畫面顯然不夠清晰。可見,由於直播伺服器通過至少兩種編碼規則進行編碼,得到至少兩種不同的流媒體數據,從而使得上述至少兩種不同的流媒體數據可以分別適合於在具有不同特定屏幕特徵的觀眾客戶端上進行播放,提升了在不同的觀眾客戶端上觀看直播內容的效果。
下面以具體實施例來說明本公開實施例提供的技術方案。
圖3是根據一示例性實施例示出的另一種直播處理方法的流程圖,該直播處理方法可以應用在直播伺服器上,可以通過在直播伺服器上安裝相應的直播應用軟體的方式實現,如圖3所示,所述直播處理方法可以包括以下步驟201~206:
在步驟201中,接收主播客戶端上傳的與在主播客戶端上登錄的主播帳號對應的直播源數據。
直播平臺可以為每一位主播分配一主播帳號,該主播帳號可以是主播在直播平臺上註冊的。主播客戶端上需要登錄主播所擁有的主播帳號,以實現主播過程。主播客戶端向主播伺服器上傳的主播源數據可以與該主播帳號進行對應。在一些實施例中,主播客戶端上傳的主播源數據可以包括多路,例如,主播客戶端需要在直播現場採集多路畫面,所採集的多路畫面可以與同一主播帳號進行關聯,這樣,在觀眾客戶端請求觀看上述主播正在直播的內容時,可以通過主播帳號,獲取到與該主播帳號關聯的多路畫面並在同一個畫面中進行播放。
在步驟202中,根據預存的編碼規則和主播帳號的對應關係,查找與在直播客戶端上登錄的所述主播帳號對應的編碼規則。
在一實施例中,對於每一位主播而言,可以根據自身需求設定編碼規則,每一位主播設定的編碼規則的數量,以及與每一編碼規則對應的參數的特徵值可以不盡相同。在主播設定編碼規則之後,可在直播伺服器上預先生成編碼規則和主播帳號的對應關係並存儲。其中,設定上述編碼規則的過程可以由主播本人來完成,或者由其他擁有主播帳號的用戶來完成。例如,可以通過瀏覽器通過主播帳號來登錄導播臺頁面,並通過在導播臺頁面上的操作來設定與該主播帳號對應的編碼規則。
舉例而言,與主播帳號A對應的編碼規則可以包括:
編碼規則一,其中包括的參數「解析度」的特徵值為:1280x720(豎屏)。
編碼規則二,其中包括的參數「解析度」的特徵值為:360x640(橫屏)。
與主播帳號B對應的編碼規則可以包括:
編碼規則二,其中包括的參數「解析度」的特徵值為:360x640(橫屏)。
編碼規則三,其中包括的參數「解析度」的特徵值為:720x1280(豎屏)。
編碼規則四,其中包括的參數「解析度」的特徵值為:1920x1080。
在上述例子中,若在步驟201中,上傳直播源數據的主播客戶端上登錄的是主播帳號B,則可以通過查找預先存儲的對應關係,查找到與所述主播帳號B對應的編碼規則包括3種,分別是:編碼規則二、三、四。當然,每一主播可以根據需求對直播伺服器上存儲的對應關係進行修改。
在步驟203中,採用至少兩種編碼規則對所述直播源數據進行編碼,獲得與每一編碼規則對應的流媒體數據。其中,所述編碼規則中的參數包括屏幕特徵。
在步驟204中,將與每一編碼規則對應的流媒體數據分別推送到對應的地址上。
在一實施例中,在根據查找到的各種編碼規則,對上傳的直播源數據進行編碼,得到與每一編碼規則對應的流媒體數據之後,可以按照流媒體數據的傳輸協議將每一種流媒體數據分別推送到不同的地址上。所述地址可以是用以供觀眾客戶端訪問的服務地址,以實現直播內容的播放,上述地址可以存在於所述直播伺服器上。在另一實施例中,直播伺服器可以將對同一直播源數據按照不同的編碼規則分別編碼,得到的各種不同的流媒體數據分別通過推流器推送到不同的流媒體伺服器上,這樣,觀眾客戶端便可以從不同的流媒體伺服器上,獲取到與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據並進行播放。當然,在其他實施例中,編碼獲得的各種不同的流媒體數據也可以推送到同一個地址上進行存儲,可以在該地址上以不同的文件名進行區別。
在步驟205中,基於與每一編碼規則對應的流媒體數據和觀眾客戶端的屏幕特徵,確定與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據。
在步驟206中,將確定的所述流媒體數據發送至所述觀眾客戶端,以使得客戶端能夠根據流媒體數據進行直播內容的播放。
至此,本公開實施例提供的上述方法,由於直播伺服器通過至少兩種編碼規則進行編碼,得到至少兩種不同的流媒體數據,從而使得上述至少兩種不同的流媒體數據可以分別適合於在具有不同特定屏幕特徵的觀眾客戶端上進行播放,提升了在不同的觀眾客戶端上觀看直播內容的效果。
圖4是根據一示例性實施例示出的又一種直播處理方法的流程圖,該直播處理方法可以應用在直播伺服器上,可以通過在直播伺服器上安裝相應的直播應用軟體的方式實現,如圖4所示,所述直播處理方法可以包括以下步驟301~305:
在步驟301中,接收主播客戶端上傳的直播源數據。
在步驟302中,接收設定命令,所述設定命令包含與每一編碼規則對應的參數以及與每一參數對應的特徵值。
在本實施例中,擁有主播帳號的用戶可以通過所述主播帳號登錄導播臺網頁,並通過在導播臺網頁上的操作來設定所需編碼的流媒體數據的種類數量,以及每一編碼規則包括的各個參數的特徵值。通過在所述導播臺網頁上的操作,可以生成相應的設定命令並向直播伺服器發送。
舉例而言,某個主播需要將上傳的直播源數據編碼為三種類型的流媒體數據。則可以在「流媒體數據種類數量」對應的輸入框內輸入:3,每一種流媒體數據對應一種編碼規則,此後,可以對每一種編碼規則的參數(如:解析度)的特徵值進行設定。
在步驟303中,響應於所述設定命令,根據所述設定命令中包含的與每一編碼規則對應的參數以及與每一參數對應的特徵值,對所述直播源數據進行編碼,獲得與每一編碼規則對應的流媒體數據。其中,所述編碼規則中的參數包括屏幕特徵。
在步驟304中,基於與每一編碼規則對應的流媒體數據,根據觀眾客戶端的屏幕特徵,確定與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據;
在步驟305中,將確定的所述流媒體數據發送至所述觀眾客戶端進行播放。
步驟303-步驟305的描述可以參見上述圖3所示實施例的描述,在此不再詳述。
至此,本公開實施例提供的上述方法,由於直播伺服器通過至少兩種編碼規則進行編碼,得到至少兩種不同的流媒體數據,從而使得上述至少兩種不同的流媒體數據可以分別適合於在具有不同特定屏幕特徵的觀眾客戶端上進行播放,提升了在不同的觀眾客戶端上觀看直播內容的效果。
圖5是根據一示例性實施例示出的又一種直播處理方法的流程圖,該直播處理方法可以應用在直播伺服器上,可以通過在直播伺服器上安裝相應的直播應用軟體的方式實現,如圖5所示,所述直播處理方法可以包括以下步驟401~406:
在步驟401中,接收主播客戶端上傳的直播源數據。
在步驟402中,採用至少兩種編碼規則對所述直播源數據進行編碼,獲得與每一編碼規則對應的流媒體數據;其中,所述編碼規則中的參數包括屏幕特徵。
在步驟403中,將每一流媒體數據與預設屏幕類型進行對應。其中,每一預設屏幕類型包括一個或多個屏幕特徵。
本實施例中,可以預先將各種屏幕特徵劃分為一個或多個預設屏幕類型。舉例而言,假設劃分的預設屏幕類型包括:
類型A:手機橫屏;
類型B:手機豎屏;
類型C:平板電腦橫屏;
類型D:平板電腦豎屏;
類型E:電視屏幕:1920x1080。
類型F:VR視頻:3840x1080。
其中,僅是示例性的列舉上述幾種預設屏幕類型。在實際情況中,可以根據實際需求對上述預設屏幕類型進行調整。需要說明的是,每一種預設屏幕類型可以對應於一定的屏幕解析度的範圍特徵值。例如:對於上述類型A,與其對應的屏幕解析度(M x N)的範圍特徵值如下:
M=540~1280,N=320~800。當然,對於橫屏而言,通常M>N。
本實施例中,每一種預設屏幕類型分別對應一種編碼規則,這樣,可以對上傳的直播源數據,採用與每一種預設屏幕類型對應的編碼規則分別進行編碼。也就是說,在上述例子中,可以根據6種不同的編碼規則,編碼得到與6中預設屏幕類型不同的流媒體數據,並推送到相應的服務地址上。
在步驟404中,確定觀眾客戶端的屏幕特徵所屬的預設屏幕類型。
不同的觀眾客戶端具有不同的屏幕特徵,可以根據上述預先確定的各種預設屏幕類型,確定觀眾客戶端的屏幕特徵所屬的預設屏幕類型。沿用以上例子,若當前請求觀看直播內容的觀眾客戶端的屏幕解析度是:720x1280,則可以確定該觀眾客戶端的屏幕解析度所屬的預設屏幕類型為:「類型B」。
在步驟405中,基於與每一編碼規則對應的流媒體數據,將與所述預設屏幕類型對應的流媒體數據,確定為與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據。
在上述例子中,可以從編碼得到的6種流媒體數據中,選擇與「類型B」相對應的流媒體數據,並將其確定為與所述觀眾客戶端的屏幕特徵(屏幕解析度是:720x1280)相匹配的流媒體數據。
在步驟406中,將確定的所述流媒體數據發送至所述觀眾客戶端進行播放。
至此,本公開實施例提供的上述方法,由於直播伺服器通過至少兩種編碼規則進行編碼,得到至少兩種不同的流媒體數據,從而使得上述至少兩種不同的流媒體數據可以分別適合於在具有不同特定屏幕特徵的觀眾客戶端上進行播放,提升了在不同的觀眾客戶端上觀看直播內容的效果。
需要說明的是,在其他可行的實施例中,所述「採用至少兩種編碼規則對所述直播源數據進行編碼」之後,所述「根據觀眾客戶端的屏幕特徵,確定與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據」之前,所述方法還可以包括:採用所述編碼規則中包含的所述屏幕特徵的特徵值,對通過所述編碼規則編碼得到的流媒體數據進行標記。從而確保直播伺服器可以根據為每一種流媒體數據標記的屏幕特徵,查找到與觀眾客戶端的屏幕特徵相匹配的流媒體數據。其中,可以在每一流媒體數據對應的服務地址上添加所述屏幕特徵來實現標記。
圖6是根據一示例性實施例示出的一種直播處理裝置的框圖,如圖6所示,所述直播處理裝置包括:
接收單元41,用於接收主播客戶端上傳的直播源數據;
編碼單元42,用於採用至少兩種編碼規則對所述直播源數據進行編碼,獲得與每一編碼規則對應的流媒體數據;所述編碼規則中的參數包括屏幕特徵;
確定單元43,用於基於與每一編碼規則對應的流媒體數據和觀眾客戶端的屏幕特徵,確定與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據;
發送單元44,用於將確定的所述流媒體數據發送至所述觀眾客戶端,以使得觀眾客戶端進行播放。
圖7是根據一示例性實施例示出的另一種直播處理裝置的框圖,如圖7所示,在上述圖6所示實施例的基礎上,所述裝置還可以包括:
標記單元45,用於採用所述編碼規則中包含的所述屏幕特徵的特徵值,對通過所述編碼規則編碼得到的流媒體數據進行標記。
圖8是根據一示例性實施例示出的又一種直播處理裝置的框圖,如圖8所示,在上述圖6所示實施例的基礎上,所述裝置還可以包括:
對應單元46,用於將每一流媒體數據與預設屏幕類型進行對應;其中,每一預設屏幕類型包括一個或多個屏幕特徵;
所述確定單元43可以包括:
第一確定子單元431,用於確定觀眾客戶端的屏幕特徵所屬的預設屏幕類型;
第二確定子單元432,用於將與所述預設屏幕類型對應的流媒體數據,確定為與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據。
圖9是根據一示例性實施例示出的又一種直播處理裝置的框圖,如圖9所示,在上述圖6所示實施例的基礎上,所述接收單元41用於:
接收主播客戶端上傳的與在主播客戶端上登錄的主播帳號對應的直播源數據;
所述裝置還可以包括:
查找單元47,用於根據預存的編碼規則和主播帳號的對應關係,查找與在主播客戶端上登錄的所述主播帳號對應的編碼規則。
圖10是根據一示例性實施例示出的又一種直播處理裝置的框圖,如圖10所示,在上述圖6所示實施例的基礎上,所述裝置還包括:
命令接收單元48,用於接收設定命令,所述設定命令包含與每一編碼規則對應的參數以及與每一參數對應的特徵值;
所述編碼單元42用於:
響應於所述設定命令,根據所述設定命令包含的與每一編碼規則對應的參數以及與每一參數對應的特徵值,對所述直播源數據進行編碼。
圖11是根據一示例性實施例示出的又一種直播處理裝置的框圖,如圖11所示,在上述圖6所示實施例的基礎上,所述裝置還包括:
推送單元48,用於將與每一編碼規則對應的流媒體數據分別推送到對應的地址上。
關於上述實施例中的裝置,其中各個模塊執行操作的具體方式已經在有關該方法的實施例中進行了詳細描述,此處將不做詳細闡述說明。
圖12是根據一示例性實施例示出的一種適用於直播處理的裝置的框圖。例如,裝置600可以被提供為一伺服器。參照圖12,裝置600包括處理組件622,其進一步包括一個或多個處理器,以及由存儲器632所代表的存儲器資源,用於存儲可由處理部件622的執行的指令,例如應用程式。存儲器632中存儲的應用程式可以包括一個或一個以上的每一個對應於一組指令的模塊。所述處理組件622被配置為:
接收主播客戶端上傳的直播源數據;
採用至少兩種編碼規則對所述直播源數據進行編碼,獲得與每一編碼規則對應的流媒體數據;所述編碼規則中的參數包括屏幕特徵;
基於與每一編碼規則對應的流媒體數據,根據觀眾客戶端的屏幕特徵,確定與所述觀眾客戶端的屏幕特徵相匹配的流媒體數據;
將確定的所述流媒體數據發送至所述觀眾客戶端進行播放。
裝置600還可以包括一個電源組件626被配置為執行裝置600的電源管理,一個有線或無線網絡接口650被配置為將裝置600連接到網絡,和一個輸入輸出(I/O)接口658。裝置600可以操作基於存儲在存儲器632的作業系統,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM或類似。
在示例性實施例中,還提供了一種包括指令的非臨時性計算機可讀存儲介質,例如包括指令的存儲器632,上述指令可由裝置600的處理組件622執行以完成上述方法。例如,所述非臨時性計算機可讀存儲介質可以是ROM、隨機存取存儲器(RAM)、CD-ROM、磁帶、軟盤和光數據存儲設備等。
本領域技術人員在考慮說明書及實踐這裡公開的公開後,將容易想到本公開的其它實施方案。本申請旨在涵蓋本公開的任何變型、用途或者適應性變化,這些變型、用途或者適應性變化遵循本公開的一般性原理並包括本公開未公開的本技術領域中的公知常識或慣用技術手段。說明書和實施例僅被視為示例性的,本公開的真正範圍和精神由下面的權利要求指出。
應當理解的是,本公開並不局限於上面已經描述並在附圖中示出的精確結構,並且可以在不脫離其範圍進行各種修改和改變。本公開的範圍僅由所附的權利要求來限制。