如何快速打造一款高清又極速的短視頻APP?

整個短視頻的市場規模一直在增長,網絡數據顯示2018年已經突破100億大關,在2019年預測將超過200億。縱觀行業,在生活資訊、美食、搞笑、遊戲、美妝等領域,短視頻流量巨大但競爭激烈,但是在教育、財經、軍事、旅遊等行業還存在較大的機會。那麼在這些垂直行業裏,我們如何結合短視頻能力,實現業務突破?

近期的雲棲TechDay音視頻技術專場中,阿里雲視頻雲高級技術專家王海華現場分享了《高清極速-全面提升短視頻應用體驗》議題。他表示,作爲短視頻SDK服務提供方,視頻雲一直和客戶同樣關注如何把短視頻的產品和體驗做得更極致。本次分享講從端到雲再到端,探討如何進行思考與優化,實現視頻體驗的全面提升。

短視頻的業務特徵
短視頻可以隨時隨地進行拍攝、分享與瀏覽,所以它存在着海量的上傳和播放
用戶在移動端消費短視頻的機型和網絡情況十分複雜
用戶對短視頻體驗的追求是清晰和流暢,而作爲開發者,也需要考慮到流量與用戶體驗的平衡
關於視頻雲全鏈路優化的技術實踐
阿里雲視頻雲提供一站式短視頻解決方案,並從整個鏈路上進行技術優化。在生產端,短視頻SDK支持視頻拍攝、導入編輯和視頻上傳的能力;當視頻傳到雲端,支持媒體轉碼、存儲、視頻AI分析處理功能。在分發環節,通過全球節點、智能調度和熱門視頻預熱資源,將視頻內容更穩定極速的分發至消費端;最終在播放端,播放器SDK可以實現快速啓播、播放緩存、無縫循環播放和多清晰度切換。

如何快速打造一款高清又極速的短視頻APP?

一、視頻生產端-幀率與低端機型體驗優化
在視頻拍攝階段,用戶最關注視頻的清晰度和流暢度。這其中的優化包括幾個環節:

  1. 預覽幀率的提升
    攝像頭採集到數據直到呈現到屏幕上,採用GPU驅動渲染,保證渲染的實時性,減少延遲和丟幀的情況。同時,針對人臉特效的渲染,採集3buffer的CPU回調方案,減少buffer資源等待造成的幀率下降。

  2. 錄製幀率的提升
    錄製是把視頻幀編碼的過程。整體採用GPU直接渲染到硬編Surface的方案,同時保留了之前的buffer方案作爲軟編的適配,在編碼的延遲和丟幀縮短到最小。

如何快速打造一款高清又極速的短視頻APP?

  1. 針對低端機型 定義最優適配
    移動終端機型複雜度極高,硬件能力、性能、屏幕分辨率等等指標千差萬別,如果想要最大限度保證低端機上的視頻質量,就要在提升清晰度和流暢度的時候,降低分辨率。那麼問題又來了,在什麼機型上降低?怎麼降低?到底降低多少合適?阿里雲短視頻SDK又多往前走了一步,多做了一點點。經過大量的數據分析和適配測試完成了在不同性能手機的適配。

要提升整個視頻的清晰度視頻編碼是永遠繞不開的一個話題,在阿里雲除了在編碼器算法的優化以外,也從更加貼近業務場景的角度進一步優化。在如此多的業務場景,一種編碼技術和編碼參數是解決不了所有問題,所以針對不同場景,需要完成相應的編碼優化。比如以質量優先的場景,會適當犧牲轉碼速度或者壓縮率,以保證清晰度最佳;以轉碼速度優先的場景,會調整質量,以適實現更高的轉碼速度。這樣更有針對性的編碼調優,就可以根據需求實現場景化的平衡。

除此之外,還從更加上層的用戶體驗上做了很多細節的優化。

王海華表示:“從相冊選擇資源進入編輯界面,從點擊合成按鈕進入發佈界面,從點擊發布界面回到APP的主界面等這些環節的交互流暢度也直接影響用戶體驗。這其中的優化點:首先是當從相冊選擇多個圖片或者視頻合成視頻時,我們底層支持圖片視頻混編的能力從而縮短loading時間,減少等待時間;其次支持後臺合成和後臺上傳,點擊合成按鈕和發佈按鈕的時候我們直接進入後臺進行合成和上傳,讓APP可以更快的進入到下一個界面,從而提升用戶體驗。”

如何快速打造一款高清又極速的短視頻APP?

“在視頻生產端經過了以上的優化後,看起來我們可以根據對應的場景拿到自己需要的視頻,所有的問題都解決了。但是面臨着海量上傳和播放,以及複雜的網絡,我們怎麼保證上傳速率和上傳功率?在播放環節上又怎樣去保證播放流暢度?作爲開發者(我們的客戶)又怎麼控制帶寬成本呢?”接下來,王海華帶我們瞭解了在上傳、雲端處理和分發以及播放幾個環節中的優化點以及帶來的效果。

二、視頻上傳鏈路優化
在視頻上傳鏈路,需要核心關注速度和上傳成功率兩個指標。視頻雲支持動態加速,選擇最優路徑來就近上傳數據,保證極速上傳。同時,採用分片、斷點續傳技術,針對不同地域和場景決定分片大小,確保上傳成功率在99.2%以上。

三、雲端處理&分發
當視頻上傳到雲端,就需要對其進行轉碼等處理,並進行內容分發。這其中我們針對三個指標進行關注和優化:

  1. 視頻發佈速度
    不同的場景,需要的視頻發佈速度是不同的。對於聊天場景下的視頻發佈,直接在端上進行轉碼,把原視頻直接訪問,最大限度提升速度。對於對實時性要求並沒有那麼高的視頻社交APP等場景往往在上傳的時候會上傳一個碼率相對較高的高清視頻,爲了視頻快速啓播,我們推薦可以先運用低複雜度轉碼來加快轉碼速度;在未來,也會將視頻端上合成、上傳和雲端轉碼並行處理,大幅度縮短處理時間。

  2. 轉碼成本 vs. 帶寬成本
    在很多社區裏面當一個視頻變成熱門視頻的時候,這時候帶寬會帶來更大的成本,這個時候建議對熱門視頻重新轉碼,提升轉碼複雜度,將視頻文件變小,降低帶寬成本。

  3. 提升播放體驗
    因爲用戶的終端和網絡情況不同,所以需要進行多清晰度轉碼,並採用推薦視頻預熱方案,提升啓播速度和流暢度

四、視頻播放優化
播放端直接影響着用戶體驗,這裏我們需要關注幾個指標:

打開速度的快慢影響着用戶對產品的第一印象,啓播環節用到協議優化、解碼渲染優化、視頻列表預加載等方案,實現極速啓播。
短視頻通常比較短小,通常會採用循環播放的方式來吸引用戶重複觀看,避免流失。那無縫地循環播放、同時邊播放邊緩存就十分必要,可以節省流量。
終端網絡情況複雜,但播放流暢度依然是用戶十分在意的指標。當用戶出現網絡環境的變更,需要快速切換多種清晰度的視頻,保證視頻播放的流暢。
如何快速打造一款高清又極速的短視頻APP?
如何進行產品快速落地
一、客戶端
短視頻SDK將最新最流行的功能、交互集成到產品級Demo中,並開放了源碼,開發者拿到以後可以直接集成到應用中,或者基於源代碼進行業務的適配,快速開發出一款短視頻APP。

Demo提供了拍攝、編輯、播放等模塊,同時提供相冊管理、音樂、動圖、字體等資源的下載和管理,也提供了異步上傳發布功能、AppServer業務服務器的SampleCode。

二、服務端
在雲端,短視頻SDK與視頻點播服務打通,提供了豐富的媒體管理和媒體處理能力,開發者通過簡單的配合和API調用就可以將以下功能集成到業務當中。

媒資存儲:音頻,視頻,圖片,字幕等豐富的存儲能力;
媒資管理:提供了分類,打標,搜索,審覈能能力等;
數據統計:存儲,流量/帶寬,播放量等數據統計;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章