為什麼 youku 很多卡到播放不出來的的視頻,廣告都很流暢?
從這個問題想到的:為什麼YouTube在至少5秒的廣告後就能看到1440p的視頻,但優酷卻要等至多45秒,還只能碼率很低的720p? - 計算機網路
前http://tudou.com的CDN系統作者。2007-2009。高票答案已經解釋了緩存,我就從CDN的角度做一下解釋。即尚未緩存的時候,為何廣告的載入比內容視頻更快。
CDN系統就是用於直接提供視頻播放的集群。每當有用戶請求一個視頻時,就會由分發系統選擇擁有該視頻的伺服器,列出一個可用於播放的URL列表給用戶來實際播放。播放器按照順序依次找到第一個可播放的URL來播放。這個列表的順序是動態改變的,每個用戶不同,不同時間段也不同。
CDN的伺服器有級別之分,一般分為3級,即大城市(北上廣)、衛星城(天津、濟南、寧波、湛江)、窮鄉僻壤。大城市的帶寬最貴質量最好速度最快,CDN系統往往只購買很少的大城市帶寬。衛星城會便宜不少,質量和速度也還不錯,但肯定沒法跟大城市比。窮鄉僻壤的帶寬極其廉價,網路跳數(TTL)、ping值、丟包等參數也很嚇人。
實際返回的視頻URL列表也會根據多種參數進行動態調整。瀏覽器上一般用js存儲用戶最近看過的20個視頻的ID。然後伺服器會根據這20個視頻ID評估用戶價值,基於統計學的方法。具體參數有很多。當評估出來用戶價值很高時,就會優先返回大城市的CDN伺服器,確保用戶看視頻速度飛快。當用戶就是個沒有消費能力的人,則可能返回窮鄉僻壤的URL。而大部分用戶看的視頻都是返回的衛星城的URL。
所以題主的問題就很明確了。每次請求視頻時,廣告視頻妥妥的走大城市CDN伺服器,而內容視頻則最大的可能是衛星城CDN伺服器。兩者速度差別就來源於此。
還是沒有人達到點子上啊=。=
因為瀏覽器有緩存機制,廣告一般都是絕對路徑。比如說 http://ad.youku.com/ad1.mp4等等而視頻為了省流量,防盜鏈等等,進行了動態加密處理,所以url是通過演算法算出來的(每次都不同,url也不同,可惜並沒有什麼卵用0v0),而且有鏈接有效期。這樣就會導致瀏覽器無法正確進行緩存,而且在多段視頻切割下,為了防止佔用過多內存,都有播放後自動從flash舞台unload的做法(所以如果沒被gc,還可以點回上一段看,gc了就得重新緩存了),當然分段也可以緩解較長視頻內存佔用過多的問題(尼瑪,你就說為了省寬頻吧,技術還不到家,flash直接掐斷stream不久行了 (@_@))其次,廣告文件一般比較小,而且幾乎每時每刻都會被訪問,這樣,大部分 反向代理(cdn拉)根據熱點圖都不會flush掉這部分cache,而視頻就不一樣了0v0,冷門視頻由於cache size很快就會被flush掉,cdn的痛點就是回源,一旦回源,一般速度都會非常慢。比如說lz之前發現百度盤可以自己構造key來指定cdn server。。結果就發現百度內部回源速度及其緩慢,只有1.8Mbps左右。這樣就不難理解為什麼廣告一般比視頻快很多啦0v0(手機打的 排版見諒反對 @喵嗚的觀點,優酷視頻播放廣告的時間大部分沒有載入視頻。如這張抓包圖所示:這是我在沒有緩存的情況下打開一個45秒廣告的優酷視頻。紅框中橫向為時間軸,綠條與藍條表示一次請求響應。較長的藍條對應耗時較久的視頻響應。圖中可以看出前15秒內只載入了幾段廣告。42秒以後才真正開始分段請求視頻,也就是用戶看廣告的大部分時間並沒有緩存視頻。
猜想:廣告視頻的碼率比較低,畢竟不需要超清廣告……非熱門視頻在cdn節點上未必有熱數據,可能需要回源
優酷是在廣告結束3秒前開始載入視頻的。
有沒有優酷的人,我想問個問題,我20M電信,為什麼用優酷客戶端很卡,有些時候只能用標清,經常是緩存到一定時候就不自動緩存了,然後播放到那裡就卡了。我用騰訊視頻客戶端都是開的超清甚至原畫,現在基本不想打開優酷。。。或者用網頁版。。
補充一個昨天遇到的實例。
1、關閉Adblock2、打開優酷,載入視頻,進入廣告3、打開Adblock4、刷新5、在Adblock攔截的情況下優酷進入了廣告這充分說明優酷的廣告不是在線請求來的而是提前緩存好的前優酷運維部員工,2012-2014,一度負責運維資產和IDC建設(非採購),在職期間優土新增伺服器60%以上是經我手從上架到上線;也做CDN運維的工作。
看了排名第一 @Ovear 和第二 @gashero 的答案。我覺得主要還是緩存方面造成的差異,比如經常沒有正確的被緩存啊,比如廣告片很小,而且可以被緩存到本地啊。
而CDN造成的差異,第二的答案關於CDN的觀點沒什麼問題,但總感覺有些怪怪的,誇大了不同地域的CDN流暢度的差別,或者說用「大城市、小地方」來形容帶寬質量有點簡單化處理了……
優土CDN伺服器從硬體上講同一批次都是同樣配置,帶寬方面從地理位置上看,確實也有北上廣、二三線城市、四線以下城市之分,最多的是二三線城市,最少的是四線以下城市。但CDN節點的建立本身就是為了優化用戶體驗。離用戶越近的節點,服務對象的地域越明確,也應當更流暢,就像是深入基層。(甚至合作節點裡,比如XX寬頻的用戶訪問的都是XX寬頻專屬的優酷CDN伺服器,伺服器就放他們的機房,運營商走內網可以省大筆帶寬費,用戶看視頻也更流暢)。
每次採購新機房的帶寬的時候,我們都會提前測試和收集忙、閑時刻的延遲等數據,才決定是否採用,小節點的網路質量也沒那麼不堪啦。
即使廣告伺服器都放到省級核心節點上,對用戶來說,延遲誰更高點並不是一定的啊……所以我覺得更多還是第一的答案說的那些……我沒記錯的話,廣告都是提前預緩存的到本地的。﹉﹉﹉所以其實看廣告是為了讓我們安靜的等要看的視頻緩存進度。﹉﹉﹉分割線以內已經被證實是錯誤的,廣告播放過程中沒有緩存視頻,請知悉。
大殺器 不說名字了看視頻,沒見過廣告,直接點開就看的,客戶端不想下,是感覺跟踩了shi一樣,各種推送打包。
優酷廣告卡死了,難道只有我一個人嗎。。。
我們正在努力讓看視頻的體驗更好,比如在各個端加入p2p技術。至於為什麼廣告不卡,因為整個站點就那麼幾個廣告,播放頻率很高,當然在各個地方緩存的就多啦。廣告其實不是好的商業模式,等視頻行業完整生態系統建成,免去飽受詬病廣告也不是不可能。
你需要買個會員
我猜因為優酷對非會員限速了。家裡100M聯通,平時下載的速度在12M左右,有次看一個6分鐘的短視頻,半小時都沒緩存完。登了朋友的賬號,瞬間緩衝完成
為什麼大家都從技術角度分析,這種情況最大的可能性就是公司重視程度不一樣,它更重視廣告能不能播出來而不太在乎視頻內容播放體驗。一般廣告是放在與其它內容不同的伺服器上的,公司為了保證廣告能流暢播放會投入大量技術手段,比如將廣告內容分布到全國許多機房,用戶點播時選擇網路最通暢的機房提供廣告內容,或者給廣告相關伺服器配置性能最好的硬體設備、分配更多的網路帶寬。在給其它內容伺服器分配資源的時候就會更多地考慮性價比。總之技術根本不是問題,一切都是利益。
廣告一般是第三方的DSP公司在做,他們的網路一般不需要經受專門的視頻公司(比如優酷)那樣的網路鴨梨。
猜想:可能緩存在你電腦裡面;可能有專門的伺服器提供廣告
youku對廣告屏蔽插件動了手腳吧,如果是廣告播放不出來,就會讓視頻播放卡頓,馬上複製鏈接放到ie里無屏蔽,放完了廣告放視頻,從無卡頓緩衝情況.
其實廣告就算了,畢竟優酷也要賺錢,但是我非常非常非常討厭有聲音的廣告,無聲的我可以頁面放到一邊,正片出來的時候再看,有聲的就太噁心了,關閉廣告聲音的按鈕必須每個廣告開頭就點,加個記憶功能會死?不! 壓根就是故意不加的!
30秒的正片放一分半鐘的廣告有沒有這麼噁心的玩法?
連續看到優酷視頻,每次都要放個廣告,有沒有考慮用戶的感受?
賺錢第一,用戶是傻逼,是被強姦的對象,他們沒辦法反抗,只能躺著被強姦,這就是國內一些廠商的用戶體驗了.
其實優酷上並沒有多少含金量的視頻存在,只是很多網站當作了視頻播放平台而已,不少都是從youtube上轉來的,一般我都會直接去找源視頻來看,鏈接國外的伺服器播放不卡還高清,還沒廣告,有夠諷刺的.
現在優酷的視頻我都直接不看了,最終的選擇權還是在我手裡的,那些不考慮用戶體驗的公司早死早超生.有時候看完一二分鐘的廣告,然後告訴你視頻播放不了。。。。
靠廣告吃飯呀
推薦閱讀:
※知乎居然搜索不到關於「裡屋」的問題?幾年沒玩,請問一下「裡屋」近況,(提問時間2014年05月)?
※雷軍做對了哪些節點使他發展這麼快?
※如何理解賭徒謬誤和大數定律的關係?
※請教:PE、PM、PD、PR是什麼崗位?|
※在你所知的領域裡,你認為什麼是該領域談論的界限?這個界限能夠區分門外漢和研究者嗎?
TAG:互聯網 |