一種多機位hls的描述方法及一種基于hls的多機位視頻直播系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明設(shè)及視頻編碼及視頻播放領(lǐng)域,特別設(shè)及基于化S的多機位視頻直播系統(tǒng)。
【背景技術(shù)】
[0002] 現(xiàn)階段,直播業(yè)務(wù)正在由線性頻道的被動收看方式,向W用戶體驗為核屯、的方式 做變革。傳統(tǒng)廣電因為安全播出和頻點資源等限制條件,多采用頻道方式進行綜藝和體育 賽事類節(jié)目的播出。其特點是將多機位的內(nèi)容進行導播后線性播出,問題是會導致其它機 位的精彩畫面常被遺漏。
[0003] 目前業(yè)內(nèi)開展的多機位直播,多采用將多路信號通過多畫面合成系統(tǒng)合成為一個 九宮格方式的單一畫面,供用戶在固定帶寬條件下收看,但此方式需要在終端將單一畫面 再拆分成多個畫面后,選擇其中一個畫面進行放大觀看,導致畫面清晰度下降,用戶體驗不 好。
【發(fā)明內(nèi)容】
[0004] 基于此,有必要提供一種可支持多機位直播畫面同步傳輸至終端、并可將任意機 位進行高質(zhì)量觀看且同時保持其他機位畫面同步、不增加寬帶占用的基于HLS的多機位視 頻直播系統(tǒng),W及一種多機位化S的描述方法。
[0005] 根據(jù)本發(fā)明的一方面,提供了一種多機位化S的描述方法,包括如下步驟:
[0006] 在MasterPlaylist中描述機位數(shù)目;
[0007] 在MasterPlaylist中描述各機位的視頻流;
[000引在MasterPlaylist中描述各機位合成后的導航排布方式;
[0009] 在MasterPlaylist中定義各機位各碼率的畫面分辨率;
[0010] 各機位的M3U8中的內(nèi)容采用TS封裝。
[0011] 根據(jù)本發(fā)明的另一方面,提供了一種基于化S的多機位視頻直播系統(tǒng),包括多機位 編碼系統(tǒng)和多機位播放系統(tǒng),多機位編碼系統(tǒng)和多機位播放系統(tǒng)通過網(wǎng)絡(luò)傳輸方式傳輸信 息。
[0012] 在其中一個實施例中,多機位編碼系統(tǒng)包括編碼模塊、緩存模塊和對齊校正模塊, 編碼模塊用于完成多機位的音視頻編碼并封裝成化S協(xié)議分發(fā),緩存模塊用于緩存各機位 的內(nèi)容,對齊校正模塊用于將各機位的畫面進行同步對齊。
[0013] 在其中一個實施例中,多機位播放系統(tǒng)用于獲取多機位源的播放地址并呈現(xiàn)畫 面。
[0014] 運種多機位化S描述方法,使系統(tǒng)可實現(xiàn)將多機位直播畫面同步傳輸?shù)浇K端收看, 而終端也就可W靈活地將任意角度在屏幕主要區(qū)域高質(zhì)量觀看,且其它角度/機位畫面保 持同步狀態(tài)。此外,運種基于化S的多機位視頻直播系統(tǒng),將每個角度的主畫面與其它角度 的復合畫面組合成一個大的畫面編碼成一個視頻帖,在解碼時此視頻帖完整下載解碼后才 可W進行多畫面的分割,運樣就確保了多畫的一致性和完整性。同時,本方案的帶寬占用并 未呈現(xiàn)明顯的增加,較好地解決了多機位/角度在有限帶寬條件下的實時同播問題。
【附圖說明】
[0015] 圖1為本發(fā)明一實施方式的一種基于化S的多機位視頻直播系統(tǒng)的結(jié)構(gòu)示意圖;
[0016] 圖2為本發(fā)明一實施方式的一種基于化S的多機位視頻直播系統(tǒng)的編碼模塊的水 平方式布局的編碼方式示意圖;
[0017] 圖3為本發(fā)明一實施方式的一種基于化S的多機位視頻直播系統(tǒng)的編碼模塊的垂 直方式布局的編碼方式示意圖;
[0018] 圖4為本發(fā)明一實施方式的一種基于化S的多機位視頻直播系統(tǒng)的編碼模塊的編 碼合成原理邏輯示意圖。
【具體實施方式】
[0019] 為了便于理解本發(fā)明,下面將用具體實施例對本發(fā)明進行更全面的描述。但是,本 發(fā)明可WW許多不同的形式來實現(xiàn),并不限于本文所描述的實施例。相反地,提供運實施例 的目的是使對本發(fā)明的公開內(nèi)容的理解更加透徹全面。
[0020] 如圖1所示,為本發(fā)明一實施例的一種基于化S的多機位視頻直播系統(tǒng),包括多機 位編碼系統(tǒng)和多機位播放系統(tǒng),多機位編碼系統(tǒng)和多機位播放系統(tǒng)通過網(wǎng)絡(luò)傳輸方式傳輸 信息。
[0021] 本實施例的基于化S的多機位視頻直播系統(tǒng)充分利用化S流媒體協(xié)議,將多個角 度/機位的畫面進行高質(zhì)量編碼和傳輸。由于目前各種終端都支持化S的硬件解碼,采用化S 流媒體協(xié)議可W充分發(fā)揮終端的性能。
[0022] 多機位編碼系統(tǒng)包括編碼模塊、緩存模塊和對齊校正模塊。編碼模塊用于完成多 機位的音視頻編碼并封裝成化S協(xié)議分發(fā),緩存模塊用于緩存各機位的內(nèi)容,對齊校正模塊 用于將各機位的畫面進行同步對齊。
[0023] 具體地,如圖2和圖3所示,為編碼模塊的編碼方式,其中圖2為水平方式布局,圖3 為垂直方式布局。將主角度/機位與其它瀏覽導航子角度/機位進行多畫面組合后,整合出 X0,Y0至Xl,Y1的矩形區(qū)域,然后對此矩形區(qū)域進行編碼。按照此方式進行編碼后,假設(shè)有N 個角度/機位,就會產(chǎn)生N個角度/機位的畫面組合視頻流(每個視頻流包含多個碼率)。
[0024] 由于目前在互聯(lián)網(wǎng)上廣泛使用的,各個終端均支持的協(xié)議是Apple定義的化S流媒 體協(xié)議,因此本實施例中的編碼模塊采用本發(fā)明一實施例的多機位化S描述方法,并對化S 協(xié)議擴展進行改造。
[0025] 具體地,多機位化S描述方法為:
[00%] 在MasterPlaylist中描述機位數(shù)目;
[0027] 在MasterPlaylist中描述各機位的視頻流;
[00%]在MasterPlaylist中描述各機位合成后的導航排布方式;
[00巧]在MasterPlaylist中定義各機位各碼率的畫面分辨率;
[0030] 各機位的M3U8中的內(nèi)容采用TS封裝。
[0031] 本實施例的編碼模塊采用上述多機位化S描述方法,對化S協(xié)議擴展改造,由于標 準化S協(xié)議支持同一視頻源的多碼率傳輸和播放,利用此原理,編碼模塊可將化S協(xié)議擴展 改造如下:
[0032] Master Playlist的M3U8內(nèi)容如下形式:
[0033]組XTM3U
[0034] 組XT-X-ANGLE-COUNT:n//描述了角度/機位數(shù)目
[0(X3日]組XT-X-MULTIANGLE_LAYOUT:H/V//描述了多角度/機位合成流采用水平合成還 是垂直合成
[0036] 組XT-X-PRIMARY-ANGLEKAngle ID〉//描述了哪個角度/機位是主角度/機位
[0037] #EXT-X-STREAM-INF : BANDWIDTH= <Bitrate_l〉,ANGLEID = " Angle 1", ANGLERES0LUTI0N="PXlx PYl",CHILDANGLERESOLUTION="SXlx SYl"
[003引Angle_l_rate_l.m3u8
[0039] #EXT-X-STREAM-INF:BANDWIDTH=<Bitrate_2> ,ANGLEID = " Angle I", ANGLERES0LUTI0N="PX2x PY2",CHILDANGLERES0LUTI0N="SX2x SY2"
[0040] Angle_l_rate_2 .m3u8
[0041] #EXT-X-STREAM-INF:BANDWIDTH=<Bitrate_n> ,ANGLEID = " Angle I", ANGLERES0LUTI0N="PXnXPYn",CHILDANGLERESOLUTION="SXnXSYn"
[0042] Angle_l_raten_n.m3u8
[0043]組XT-X-STREM-INF:BANDWIDTH=<Bitrate_l〉,ANGLEID="Angle2",
[0044] ANGLERES0LUTI0N="PXlx PYl",CHILDANGLERESOLUTION="SXlx SYl"
[0045] Angle_2_rate_l .m3u