• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      CDN存量MP4視頻播放優(yōu)化方法

      2020-10-26 06:36:52黃潤懷陳戈
      廣東通信技術(shù) 2020年10期
      關(guān)鍵詞:分片播放器客戶端

      [黃潤懷 陳戈]

      1 現(xiàn)有MP4文件播放方法概述

      MP4文件格式是目前各大影音網(wǎng)站使用的主流格式,客戶端從服務(wù)器逐步獲取MP4文件并進(jìn)行播放。MP4文件有一個(gè)最重要的組成部分稱為MP4BOX,MP4BOX中不包含具體媒體數(shù)據(jù),但包含MP4文件中所有媒體數(shù)據(jù)的宏觀描述信息,記錄了創(chuàng)建時(shí)間、修改時(shí)間、時(shí)間度量標(biāo)尺、可播放時(shí)長等,以及文件中每個(gè)媒體軌道的具體信息。MP4文件需要通過配合MP4BOX中的信息才能夠進(jìn)行播放。

      在現(xiàn)有技術(shù)中,播放器要播放一個(gè)MP4格式的內(nèi)容,就首先需要下載MP4BOX,只有下載完MP4BOX后,才能獲得播放的必要信息,播放器播放啟動(dòng)等待時(shí)間長。為優(yōu)化MP4播放等待時(shí)長問題,業(yè)界在編碼時(shí),即對MP4BOX進(jìn)行優(yōu)化,如把MP4切成小分片,每個(gè)小分片有一個(gè)MP4BOX,或直接使用DASH等MP4分片新格式。

      對于CDN已經(jīng)存儲(chǔ)的海量MP4文件而言,對其進(jìn)行重編碼和重新注入是一件極為費(fèi)時(shí)費(fèi)力的工作。本文提出了一種CDN存量MP4視頻播放優(yōu)化方法,并在實(shí)際應(yīng)用取得了較好的效果。

      2 CDN虛擬分片方案

      為優(yōu)化CDN MP4存量內(nèi)容的播放速度,可在現(xiàn)有MP4文件的基本上為其增加相應(yīng)索引,如圖1所示。

      圖1 CDN對MP4文件虛擬分片的交互架構(gòu)

      CDN掃描存量的MP4文件,并成生一個(gè)外部索引文件頭,其中,MP4文件被虛擬切分為多個(gè)分片,索引文件頭包括各個(gè)分片的分片文件頭索引。播放器可根據(jù)分片文件頭索引獲取分片文件頭,并根據(jù)分片文件頭獲取并播放分片。

      分片文件頭索引為分片文件頭的地址索引或存儲(chǔ)分片文件頭地址的路徑索引。為支持拖動(dòng)、快進(jìn)等損傷,索引文件頭還包括各分片的時(shí)間范圍,播放器在響應(yīng)用戶的拖動(dòng)操作時(shí),根據(jù)分片文件頭索引確定拖動(dòng)位置所在的分片,并向CDN服務(wù)器發(fā)送獲取分片請求,獲取分片請求包含對應(yīng)分片和用戶拖動(dòng)位置信息的請求。

      MP4索引文件頭可以是Json格式的文件,索引文件頭中可以包含表1所示的關(guān)鍵字。

      表1 MP4索引文件頭信息

      根據(jù)索引文件頭中的URL信息可以得到分片文件頭的地址。分片文件頭可以與MP4文件分片分離存儲(chǔ),同一個(gè)MP4文件的分片文件頭可以存儲(chǔ)在一起。同一個(gè)MP4文件的分片文件頭以一個(gè)結(jié)構(gòu)體與所有的分片文件頭連續(xù)存儲(chǔ)而成,其中存儲(chǔ)在分片文件頭之前的結(jié)構(gòu)體的定義如下:

      在結(jié)構(gòu)體MP4ClipHeader中定義了分片的數(shù)目mdwClipCount,和與分片數(shù)目相等的MP4ClipInfo結(jié)構(gòu)體。每個(gè)MP4ClipInfo結(jié)構(gòu)體對應(yīng)一個(gè)分片的分片文件頭和分片內(nèi)容信息,其中,mdwHeaderStartPos為分片頭在頭文件中的起始位置,mdwHeaderLength為分片頭的長度,mllContentStartPos為分片內(nèi)容在原始文件中的起始位置,mdwContentLength為分片內(nèi)容的長度。

      索引文件頭中的分片文件頭索引中包含MP4ClipHeader結(jié)構(gòu)體的地址信息,由于每個(gè)MP4ClipInfo所占用空間相同,因此可以用MP4ClipInfo占用的空間×(分片序號(hào)-1)+4的計(jì)算式獲得對應(yīng)分片的MP4ClipInfo地址,從而獲得對應(yīng)分片文件頭的地址,確定分片文件的地址。

      3 業(yè)務(wù)流程與播放器升級(jí)

      為支持虛擬MP4分片,播放器也需要進(jìn)行升級(jí),升級(jí)后的播放器需支持MP4虛擬分片的外部索引,并根據(jù)索引信息進(jìn)行相應(yīng)的播放操作。播放器支持的分片文件頭索引內(nèi)容簡單,只需MP4ClipHeader結(jié)構(gòu)體的地址信息、每個(gè)MP4ClipInfo所占用空間和分片序號(hào)即能計(jì)算得到分片文件頭地址的存儲(chǔ)路徑。這種方式能夠有效縮小索引文件頭,簡短客戶端從服務(wù)器獲取索引文件頭的時(shí)間。

      播放器訪問虛擬分片的業(yè)務(wù)流程如圖2所示。

      圖2 升級(jí)后的播放器訪問虛擬分片的業(yè)務(wù)流程

      如圖2所示的業(yè)務(wù)流程,CDN可通過判斷客戶端的版本,為播放器提供不同的流服務(wù)。對于未升級(jí)不支持虛擬分片的播放器,CDN為其提供原有的流服務(wù),對于已升級(jí)的播放器,CDN為其提供如圖2所示的流服務(wù)。

      CDN服務(wù)器接收到播放器獲取分片請求消息之后的處理流程可以如圖3所示。

      如圖3所示的CDN處理流程中可以看出,虛擬分片的處理工作,大部分交由了CDN來進(jìn)行處理,播放器升級(jí)的地方很少。

      服務(wù)器接收到客戶端的獲取分片請求后,服務(wù)器判斷請求中是否含有查詢字符串,如果不含查詢字符串,判斷該請求不是MP4分片請求;否則服務(wù)器解析請求,獲取請求的分片序號(hào)。服務(wù)器計(jì)算請求的分片文件頭的地址信息的存放位置。服務(wù)器讀取分片文件頭存儲(chǔ)的地址信息。服務(wù)器根據(jù)分片文件頭的地址讀取分片文件頭的內(nèi)容。經(jīng)過以上的步驟,服務(wù)器根據(jù)收到的獲取分片請求讀取到了分片文件頭信息。

      圖3 CDN響應(yīng)客戶端的處理流程示意

      服務(wù)器判斷獲取分片請求中是否含有定位信息。定位信息是用戶拖動(dòng)分片,并且拖動(dòng)點(diǎn)不在分片的起始位置的標(biāo)識(shí),如果含有定位信息,則服務(wù)器讀取原分片文件頭和分片的信息,根據(jù)定位信息構(gòu)造新的分片文件頭。如果不含有定位信息,則服務(wù)器讀取分片文件頭對應(yīng)的分片。對于請求中有定位信息的情況,服務(wù)器讀取的是根據(jù)定位信息構(gòu)造的新的分片。

      服務(wù)器根據(jù)定位信息,計(jì)算新的分片的起始地址,構(gòu)造新的分片。在MP4文件的分片為邏輯分片,分片文件頭單獨(dú)存儲(chǔ)的情況下,新的分片的起始地址=原分片的起始地址+拖動(dòng)位置的媒體內(nèi)容在所處分片的相對地址;在MP4文件的分片與對應(yīng)的分片文件頭連續(xù)存儲(chǔ),且分片文件頭存儲(chǔ)在對應(yīng)分片之前的情況下,新的分片的起始地址=原分片的起始地址+拖動(dòng)位置的媒體內(nèi)容在所處分片的相對地址-原分片的分片文件頭長。

      4 應(yīng)用效果

      本文方案由于無需對CDN存量內(nèi)容進(jìn)行重編碼、重注入,同時(shí),播放器升級(jí)改造簡單,也兼容客戶端不升級(jí)方案,因此,在實(shí)際應(yīng)用中,大大提升了用戶MP4視頻的播放速度,取得了較好的應(yīng)用效果。

      猜你喜歡
      分片播放器客戶端
      上下分片與詞的時(shí)空佈局
      詞學(xué)(2022年1期)2022-10-27 08:06:12
      降低跨分片交易回滾概率的多輪驗(yàn)證方案
      分片光滑邊值問題的再生核方法
      Walkman誕生40周年 索尼適時(shí)發(fā)布NW-ZX500和NW-A100系列播放器
      基于STM32的MP3播放器設(shè)計(jì)
      電子制作(2019年9期)2019-05-30 09:41:44
      基于模糊二分查找的幀分片算法設(shè)計(jì)與實(shí)現(xiàn)
      Moon ACE播放器/放大器一體機(jī)
      縣級(jí)臺(tái)在突發(fā)事件報(bào)道中如何應(yīng)用手機(jī)客戶端
      孵化垂直頻道:新聞客戶端新策略
      基于Vanconnect的智能家居瘦客戶端的設(shè)計(jì)與實(shí)現(xiàn)
      電子測試(2018年10期)2018-06-26 05:53:34
      灵石县| 鄂州市| 县级市| 涡阳县| 游戏| 民权县| 南宫市| 齐河县| 石城县| 遂川县| 水城县| 枞阳县| 楚雄市| 顺义区| 北宁市| 安平县| 龙井市| 岱山县| 元阳县| 改则县| 南部县| 来凤县| 松阳县| 长阳| 乌什县| 株洲市| 耒阳市| 大庆市| 昆山市| 慈利县| 托克托县| 汝城县| 乳山市| 繁峙县| 浮梁县| 广丰县| 丹江口市| 乌恰县| 新邵县| 肇庆市| 怀化市|