2019年4月10日,2019北京第七屆“亞太內(nèi)容分發(fā)大會”暨CDN峰會在北京隆重召開。本屆大會共設(shè):CDN領(lǐng)袖峰會、邊緣計算論壇、視頻云論壇、智能網(wǎng)絡(luò)論壇、國際論壇、移動&應(yīng)用分發(fā)論壇、電視&媒體分發(fā)論壇、版權(quán)&安全分發(fā)論壇共計8大主題論壇,在4月10日下午舉行的視頻云論壇上,蘇寧視頻云首席高級開發(fā)工程師董昊做了題為《視頻云服務(wù)平臺建設(shè)實踐》的主題演講。
蘇寧視頻云后端服務(wù)架構(gòu)主要有以下四點:第一,視頻云后端整體架構(gòu)。第二,文件上傳與CDN加速。第三,短視頻編碼與播放。第四,視頻云產(chǎn)品特性。
視頻云的點播服務(wù)是把文件上傳到視頻云上,供客戶端下載和觀看,視頻云支持幾乎市面上所有的文件格式,上傳方式支持的是web、移動端安卓和ios、JAVA服務(wù)端和服務(wù)端接口上傳。
這個是服務(wù)的總體架構(gòu),首先是官網(wǎng)和管理后臺,供客戶上傳視頻。在這個地方可以設(shè)置自己視頻轉(zhuǎn)碼的模板,或者對視頻信息進行管理,以及視頻文件的基本操作。在流量監(jiān)控方面采用的是一種算法,當訪問量比較大時可以進行減低流量的峰值。校驗一般對外的API接口為了防止用戶的攻擊性訪問以及超時訪問,一般會設(shè)置校驗,可以在HTTP里加一些校驗參數(shù)。還有服務(wù)的降級,服務(wù)的降級主要是為了防止包括數(shù)據(jù)庫負載過高時出現(xiàn)大面積的查詢不可訪問、上傳不可使用的情況。
文件上傳完成之后,會通知CC服務(wù),會再進一步進行文件的壓制,或者當用戶請求播放時,會請求調(diào)度來獲得視頻在CDN節(jié)點上的播放地址。下一層是壓制調(diào)度服務(wù),根據(jù)用戶傳過來的視頻壓縮參數(shù)進行視頻轉(zhuǎn)碼,支持從流暢到超清的轉(zhuǎn)碼。調(diào)度一般根據(jù)IP的調(diào)度獲得視頻在SDN上的播放地址,以達到更好的播放效果。
講述文件的上傳流程,用戶端根據(jù)提供的算法自己算出來的,是文件唯一的標識。當它請求到云上傳服務(wù)的時候,上傳服務(wù)會根據(jù)這個拿到文件的FID。如果相同的話,則認為它是同一個文件。在上傳的時候,如果說同一個文件已經(jīng)上傳網(wǎng)絡(luò)了,會出現(xiàn)一個秒傳的過程。不會進行實際的上傳,只有一條記錄,是為了減少文件的存儲。
當請求通過fid獲得一個上傳的地址,其實獲得的是一個上傳的分段地址,通過不斷循環(huán)上傳完成文件的上傳流程。當文件上傳完后,它會提交一個文件的上傳清單給后面的存儲服務(wù),存儲服務(wù)會把文件合并,算一個文件的整體MD5的簽名值,客戶端自己也算一個文件的MD5,進行文件的比對,MD5相同的話才表明文件是整體的上傳完成了。
此外還有一個上傳文件的CDN加速。一般CDN加速往往用在靜態(tài)資源的加速上,現(xiàn)在做到上傳文件的動態(tài)資源加速上。用一個智能鑒黃模塊,當用戶上傳的文件上傳到加速平臺的中間層時,它相當于會分發(fā)一定的流量過來,給到它智能鑒黃的集群里去進行鑒黃校驗,這個地方主要是為了給文件做打分標識。這個地方不會影響文件整體上傳的過程,只會分發(fā)一段流量過來。
現(xiàn)在比較火的是抖音短視頻,蘇寧也做了非常完善的短視頻,只不過它的用戶是在蘇寧APP里面的視頻里,短視頻比較多。包括智能編輯、濾鏡、美顏、混音、字幕都已經(jīng)做得比較完善。
目前蘇寧的短視頻一般分為三種:一種是在手機端傳輸視頻,需要在客戶端進行轉(zhuǎn)碼,然后上傳到文件服務(wù)器上。第二種是客戶端無需轉(zhuǎn)碼的,直接上傳到文件服務(wù)器上就可以。第三種是為了滿足蘇寧易購商家上傳的視頻,一般不會上傳MP4,往往上傳的是各種各樣的格式都有,為了兼容這一服務(wù),又把短視頻也放在了壓制平臺上去,提供MP4播放地址。
用戶獲得MP4地址都是自己通過集成蘇寧的SDK來生成的。在播放地址里一般會加上時間戳的校驗。當用戶在播放視頻時,首先做一層CDN的加速服務(wù),當CDN上沒有資源時,回源到文件服務(wù)器上。目前一般可以由用戶來指定客戶端的緩存時間和CDN資源平臺節(jié)點上的緩存時間?,F(xiàn)在服務(wù)的主要是蘇寧易購和PP體育,一些精彩好球會用到短視頻,它是一個短視頻的播放流程,也支持大文件的播放,因為一場比賽的視頻大概2、3個小時左右,編碼已經(jīng)做好了,為了支持這種視頻直接的播放,也做了流式或者Range的播放。
蘇寧的資源比較豐富,技術(shù)實力比較強。完善了文檔、DEMO以及技術(shù)支持,在官網(wǎng)上已經(jīng)做得很完善,把一些代碼開源出來了。服務(wù)穩(wěn)定性,為了支持PP體育半夜的賽事,24小時都可以做到支持。
蘇寧目前服務(wù)的廠商包括蘇寧易購、PP體育、海口電視臺、紅孩子等等。