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

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

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

短視頻的業務特徵

  1. 短視頻能夠隨時隨地進行拍攝、分享與瀏覽,因此它存在着海量的上傳和播放
  2. 用戶在移動端消費短視頻的機型和網絡狀況十分複雜
  3. 用戶對短視頻體驗的追求是清晰和流暢,而做爲開發者,也須要考慮到流量與用戶體驗的平衡

關於視頻雲全鏈路優化的技術實踐

阿里雲視頻雲提供一站式短視頻解決方案,並從整個鏈路上進行技術優化。在生產端,短視頻SDK支持視頻拍攝、導入編輯和視頻上傳的能力;當視頻傳到雲端,支持媒體轉碼、存儲、視頻AI分析處理功能。在分發環節,經過全球節點、智能調度和熱門視頻預熱資源,將視頻內容更穩定極速的分發至消費端;最終在播放端,播放器SDK能夠實現快速啓播、播放緩存、無縫循環播放和多清晰度切換。緩存

1、視頻生產端-幀率與低端機型體驗優化

在視頻拍攝階段,用戶最關注視頻的清晰度和流暢度。這其中的優化包括幾個環節:服務器

1. 預覽幀率的提高網絡

攝像頭採集到數據直到呈現到屏幕上,採用GPU驅動渲染,保證渲染的實時性,減小延遲和丟幀的狀況。同時,針對人臉特效的渲染,採集3buffer的CPU回調方案,減小buffer資源等待形成的幀率降低。異步

2. 錄製幀率的提高ide

錄製是把視頻幀編碼的過程。總體採用GPU直接渲染到硬編Surface的方案,同時保留了以前的buffer方案做爲軟編的適配,在編碼的延遲和丟幀縮短到最小。性能

3. 針對低端機型 定義最優適配測試

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

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

除此以外,還從更加上層的用戶體驗上作了不少細節的優化。

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

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

2、視頻上傳鏈路優化

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

3、雲端處理&分發

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

1. 視頻發佈速度

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

2. 轉碼成本 vs. 帶寬成本

在不少社區裏面當一個視頻變成熱門視頻的時候,這時候帶寬會帶來更大的成本,這個時候建議對熱門視頻從新轉碼,提高轉碼複雜度,將視頻文件變小,下降帶寬成本。

3. 提高播放體驗

由於用戶的終端和網絡狀況不一樣,因此須要進行多清晰度轉碼,並採用推薦視頻預熱方案,提高啓播速度和流暢度

4、視頻播放優化

播放端直接影響着用戶體驗,這裏咱們須要關注幾個指標:

  1. 打開速度的快慢影響着用戶對產品的第一印象,啓播環節用到協議優化、解碼渲染優化、視頻列表預加載等方案,實現極速啓播。
  2. 短視頻一般比較短小,一般會採用循環播放的方式來吸引用戶重複觀看,避免流失。那無縫地循環播放、同時邊播放邊緩存就十分必要,能夠節省流量。
  3. 終端網絡狀況複雜,但播放流暢度依然是用戶十分在乎的指標。當用戶出現網絡環境的變動,須要快速切換多種清晰度的視頻,保證視頻播放的流暢。

如何進行產品快速落地

1、客戶端

短視頻SDK將最新最流行的功能、交互集成到產品級Demo中,並開放了源碼,開發者拿到之後能夠直接集成到應用中,或者基於源代碼進行業務的適配,快速開發出一款短視頻APP。

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

2、服務端

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

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

感興趣的用戶,能夠掃描上方二維碼體驗demo,點擊訪問阿里雲官網短視頻解決方案頁面,瞭解詳情,或者點擊瀏覽趣視頻解決方案文檔,更快上手



本文做者:樰籬

閱讀原文

本文爲雲棲社區原創內容,未經容許不得轉載。

相關文章
相關標籤/搜索