摘 要 本文介紹了在播放流媒體視頻時(shí),通過動(dòng)態(tài)自動(dòng)適配標(biāo)清、高清等不同碼率,按照用戶選擇特定區(qū)域,達(dá)到按照用戶期望播放的需求、效果。
【關(guān)鍵詞】流媒體 標(biāo)清 HLS 點(diǎn)播
1 引言
流媒體視頻相對(duì)于傳統(tǒng)視頻文件,由于支持邊下邊播等,對(duì)消費(fèi)者而言,可以盡早播放視頻文件;對(duì)于媒體供應(yīng)商,可以將視頻文件方便地與CA、DRM等結(jié)合,實(shí)現(xiàn)版權(quán)保護(hù)。
隨著互聯(lián)網(wǎng)進(jìn)一步發(fā)展,終端用戶在線觀看視頻成為常態(tài),人們對(duì)視頻播放的訴求不斷精細(xì)化,如在播放過程中根據(jù)網(wǎng)絡(luò)帶寬情況播放不同碼率和分辨率視頻。當(dāng)前媒體播放效果主要是按流媒體規(guī)格自動(dòng)播放,對(duì)于個(gè)別用戶定制體驗(yàn)需求,如縮放播放部分區(qū)域以達(dá)到重點(diǎn)關(guān)注部分場(chǎng)景的需求,目前尚不支持,本文主要針對(duì)該類特定場(chǎng)景方案描述。
2 系統(tǒng)架構(gòu)
流媒體視頻播放系統(tǒng)從大的方面包括媒體服務(wù)器、媒體編碼器、CA服務(wù)器、媒體內(nèi)容分發(fā)系統(tǒng)、用戶鑒權(quán)服務(wù)器、終端用戶等主要組成部分,整體組成示意圖如圖1所示。
媒體服務(wù)器主要負(fù)責(zé)視頻媒體實(shí)體文件存放,并提供相應(yīng)服務(wù),以便編碼器推流、終端用戶獲取流等服務(wù)。
媒體編碼器是一種功能部件,完成原始文件編碼、加密,形成流媒體格式文件,以便播放,常見編碼器如哈雷編碼器,一般由專用一體化軟硬件組成,對(duì)性能要求較高。
CA服務(wù)器主要管理媒體數(shù)據(jù)加解密License,在播放加密媒體流時(shí),終端獲取License,對(duì)媒體數(shù)據(jù)進(jìn)行解密,并播放。
內(nèi)容分發(fā)服務(wù)器主要用于做媒體請(qǐng)求消息分發(fā)、緩存、調(diào)度,提高媒體播放整體性能。
用戶鑒權(quán)系統(tǒng)用于對(duì)接入并請(qǐng)求媒體終端用戶進(jìn)行鑒權(quán),獲取用戶訂購信息,并為用戶提供相應(yīng)權(quán)限控制,如VIP用戶、普通用戶、訪客等。不同用戶具備不同操作權(quán)限。
終端用戶為最終期望播放媒體的用戶,如手機(jī)用戶,此處將用戶已經(jīng)手機(jī)中對(duì)應(yīng)軟件作為整體,不做細(xì)分介紹。
3 主要原理
3.1 文件格式介紹
從上述文件可以看出,在一級(jí)播放列表中定義的該視頻流支持4種碼率,分別時(shí)200000bps、311111bps、484444bps以及737777bps,在實(shí)際播放過程中,終端可以根據(jù)需要選擇任意一種碼率播放。不同碼率播放效果有所不同。
3.2 播放實(shí)現(xiàn)
以播放HLS為例,在播放過程中,用戶通過播放頁面選擇放大,主要流程如圖2所示。
第一步:用戶在播放中在特定區(qū)域選擇放大。
第二步:在用戶選擇放大時(shí),獲取用戶選擇放大的位置、放大倍數(shù)。
第三步:根據(jù)用戶選擇放大倍數(shù),計(jì)算當(dāng)前播放view尺寸在放大后所能播放畫面幀占實(shí)際幀大小比例。
第四步:在解碼后,獲取待播放畫面幀,然后根據(jù)實(shí)際需要播放的比例、區(qū)間,獲取實(shí)際渲染的幀區(qū)域。
第五步:將實(shí)際需要渲染的幀,按比例在當(dāng)前view尺寸空間進(jìn)行渲染,從而達(dá)到在當(dāng)前尺寸view區(qū)間渲染顯示部分放大媒體數(shù)據(jù)。
第六步:均按照該處理方式處理所有幀數(shù)據(jù),實(shí)現(xiàn)流媒體文件放大播放效果。
以上主要介紹HLS模式下視頻縮放播放主要實(shí)現(xiàn)方式,對(duì)于Dash等流媒體縮放播放,其主要原理相通,不再贅述。
4 視頻縮放播放效果
上述原理基于HLS的點(diǎn)播介紹用戶放大播放流媒體實(shí)現(xiàn)過程,在實(shí)際使用過程中,在使用場(chǎng)景、提高體驗(yàn)效果等方面需要在其他方面進(jìn)行配合。
對(duì)于終端用戶而言,在使用種不但會(huì)進(jìn)行放大,也會(huì)進(jìn)行縮小,在縮小過程中,其處理方式與放大相反,即獲取的可播放區(qū)域范圍按比例放大,進(jìn)而計(jì)算出可播放范圍,后續(xù)在解碼后渲染時(shí)獲取相應(yīng)尺寸幀數(shù)據(jù)進(jìn)行渲染,從而實(shí)現(xiàn)縮小播放功能。
對(duì)于用戶而言,在滿足縮放、滑動(dòng)前提下,同時(shí)不希望觀看效果下降,特別是畫質(zhì)效果。為此,在用戶放大時(shí),播放器根據(jù)用戶選擇,自動(dòng)適配到高分辨率碼率流,如從780P切換到1080P、2K、4K等碼率播放,對(duì)于用戶體驗(yàn),相同view尺寸區(qū)間,像素基本差別不大,確??s放不降低播放畫面質(zhì)量。
5 結(jié)論
視頻播放是4G/5G時(shí)代重要需求,不僅在終端用戶領(lǐng)域有較大需求,在視頻監(jiān)控等視頻相關(guān)領(lǐng)域均有舉足輕重地位。隨著使用不斷擴(kuò)大,人們對(duì)視頻的需求也在不斷增加,視頻縮放播放功能將會(huì)使人們對(duì)視頻的理解、應(yīng)用帶入一個(gè)新的時(shí)代。
參考文獻(xiàn)
[1]《HTTP Live Streaming draft-pantos-http-live-streaming-12》.
作者簡(jiǎn)介
杜慶峰(1977-),男,工程師,專業(yè)為控制理論與控制工程。
作者單位
南京寧矩智能科技有限公司 江蘇省南京市 211100endprint