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