用戶的等待只有 0.3 秒!如此苛刻該用什麼樣的播放器?

2017 年,馬克·扎克伯格接受 CNBC 採訪時說:「視頻是大趨勢,將來咱們會在視頻尤爲是短視頻上投更多資源。日後五年你會發現,在互聯網你們最樂於傳播的必定是短視頻。」git

10 秒時代

圖片描述

如今,彷佛沒人會懷疑這個論點了。Vidyard 最新發布的視頻報告更印證了他的論點——短視頻更能吸引觀衆的注意。時長 90 秒如下的視頻播放完成率最高(53%),而 30 分鐘以上的長視頻的完成率只有 10%。算法

對內容製造者來講殘酷的現實是:大部分觀衆在看視頻時只看了前 10 秒。緩存

圖片描述
當觀衆只有 10 秒鐘決定要不要繼續看這個視頻,播放體驗顯得尤爲重要。若是你的視頻首開慢、卡頓,觀衆還有什麼耐心看下去?安全

影響播放體驗的核心因素網絡

影響用戶播放體驗的核心因素有兩個方面,第一個方面是:網絡傳輸的質量,第二個方面是:播放器的質量。架構

網絡傳輸的質量主要影響要素是 CDN 和 本地網絡。網絡質量問題當然重要,但這主要是雲服務商和運營商的優化內容。性能

播放器是離用戶最近的一端,可是在播放器上的技術創新每每最容易被開發者忽略。對有視頻播放的產品來講,一個優秀的播放器 SDK 對提高播放體驗來講事半功倍。測試

播放器的質量主要體如今兩方面:
對媒體文件的解析和渲染的質量和效率
功能是否豐富,是否能知足各類應用場景下的需求優化

一個好的播放器不但要能應對複雜的網絡環境,多樣的編碼算法和封包格式,更須要知足客戶不一樣場景下的業務需求,高效高質量播放視頻文件。編碼

在播放器上優化用戶體驗

優秀播放器的標準

從最終觀衆的角度來看,一款優秀播放器應該作到:首開快、不卡頓、功能豐富。
從開發者的角度開看,一款優秀播放器應該作到:跨平臺播放器,包體小,更強的兼容性,更豐富的功能、方便二次開發。

七牛雲播放器架構設計思路

好的架構設計可讓產品的工程更加靈活、可維護、易讀。這些特色最終會體如今產品的穩定性、靈活性、易用性上。下面咱們來講說七牛現有播放器內核的總體架構。
圖片描述

從上圖能夠清晰地看到,播放器流程中有諸多功能。這些功能是單獨的組件,他們能夠像拼裝玩具同樣,根據業務須要靈活地參與到整個播放過程中。

若是播放器領域有新技術演進或者新功能需求,能夠經過替換上面這些功能模塊靈活組合。好比,H.265 編解碼技術就能夠加入到 Decoder 模塊中。七牛雲播放器內核架構以下圖所示。
圖片描述

換一個角度看一樣的過程,咱們會發現七牛播放器作了分層設計。所謂分層設計就是控制層和數據層解耦。數據層就像工廠的加工模組,控制層就像總控的流水線。播放器播放過程其實就是一個把數據在不一樣地方變成另一種格式的數據,並加以控制的過程。因此咱們能夠經過數據來驅動各類模塊,反過來得到本身須要的格式數據。

七牛雲播放器特點功能詳解

七牛徹底自主研發新版跨平臺多媒體播放器,能夠靈活根據目前市場新興使用場景作針對性優化。
圖片描述

圖片描述

毫秒級首開

咱們進行了主流機型在多種環境下的直播流首開測試。測試結果,首開速度控制在 200ms 左右。除了播放器直播流首開速度快之外,在播放點播視頻的首開上也作了深度的優化。

特點功能

1.HLS 自適應碼率切換播放,輕鬆應對終端用戶複雜網絡環境

單碼率視頻沒法應對客戶端網絡帶寬環境的變化,七牛雲播放器支持 HLS 協議,讓客戶在不一樣的網絡帶寬環境下,播放不一樣碼率、分辨率的視頻,得到最佳的觀看體驗。

實現原理:
HLS 的實現原理是把整個多媒體文件切成一個個小的基於 HTTP 的資源(Transport Stream 格式的文件),生成一個包含元數據的擴展 M3U (M3U8) Playlist 文件,每次只下載列表中的一些資源,客戶端根據帶寬環境能夠選擇不一樣的的資源。M3U8 是一種播放多媒體列表的文件格式,能夠指定一個或多個多媒體資源的位置,而且 M3U8 Playlist 中能夠包含多個子 M3U8 文件。

2.獨家自研動態追幀播放策略,有效下降播放延時和卡頓

複雜的網絡抖動是直播最大的挑戰之一,若是採用常規的丟幀或者追幀策略,用戶就會感受到聲調的異樣。七牛推出的無感知動態追幀策略能夠在有效快速追幀的同時,不改變音頻聽感,遇到網絡情況較差的狀況還能夠經過調節策略下降卡頓率。

3.DRM 版權保護,防止數字媒體的非法複製

Digital Rights Management,DRM 數字版權保護,能夠經過必定的安全算法/協議對視頻進行加密保護,使得視頻在未經受權的條件下即便被非法複製和分發後,也沒法正常播放,從而有效地保護了視頻資源,阻止了盜版行爲。 七牛雲 DRM 架構以下圖所示。
圖片描述

4.支持 H.265 播放

H.265 支持是將來音視頻領域的一大趨勢,能夠幫助客戶節省將近 40% 的 CDN 帶寬,這些節省的帶寬費用全都是企業的利潤點。可是 H.265 的解碼算法要遠遠比 H.264 複雜,所以播放器解碼 H.265 會有更大的功耗,也對播放器的解碼性能提出了更高的要求。目前七牛播放器已經支持 H.265 軟解。

5.支持軟硬解自動切換

所謂軟解就是用 CPU 對視頻文件進行解碼,而硬解是用 GPU 對視頻文件進行解碼。軟解的好處是比較通用,而硬解的好處就是效率比較高。因此若是要優化播放效率的同時還要兼顧兼容性,就要作到如下兩點:

首先能用 GPU 解碼的就儘可能用 GPU 去解碼,這樣就優先作到了高效率;
當有些機型的 GPU 不支持對解碼視頻文件時,又能夠自動切回軟解,這樣也解決了硬解不支持的狀況下的兼容問題。

目前七牛的播放器同時具有高效和兼容的特色。

六、支持本地緩存、邊下邊播

咱們知道網絡傳輸是有必定抖動的,因此播放在線視頻時,播放器通常採起這樣的策略:在網好的時候,多下載一點放到播放的一個隊列裏面暫時存着,網差的時候就能夠播放暫存的視頻。這樣總體在線視頻的播放體驗就會比較流暢。這個暫時放視頻內容的地方就是播放器緩存。

邊下邊播其實就是:一邊下載視頻到緩存隊列裏面,一邊直接播放出來。那麼本地緩存功能就多了一個步驟,將緩存裏面已經播放過的視頻存儲到本地的一個 storage 裏面。

總結

2016 年到 2017 年,直播和短視頻產品分別崛起,七牛也提供了完善的直播和短視頻解決方案。同時七牛的播放器產品推出以來一直很是受市場的歡迎,咱們在 Github 上收穫了數千 star,運行在諸多知名的應用內。

七牛新版本播放器在原有基礎上進行了深度優化,徹底自研了播放器的內核。與目前市面上大多數的播放器相比起來,包體更小、首開更快、功能更加豐富、性能也更加出色,而且提供了極其豐富的接口,方便自定義開發。

關注公衆號七牛雲 瞭解更多信息

相關文章
相關標籤/搜索