天天看點

淘寶直播技術分享:如何打造體驗優秀的“直播+”産品?

2016年是移動直播爆發年,不到半年的時間内無數移動直播app掀起了全民直播的熱潮。很多不同産品都在自己的應用裡面增加了直播子產品,希望能趁着這波移動直播的風潮能快速推進自己的産品。而在電商類的app中,淘寶率先在手機直播裡面試水電商直播,并用實際的資料證明了這是一種非常具備前景的新模式。

本文将重點介紹淘寶直播在業務模式上的探索、移動直播背後的技術難點、優化使用者體驗等方面的内容。主要内容出自阿裡巴巴進階技術專家陳舉鋒(豐火)在2016杭州雲栖大會上的分享。

淘寶直播項目,于2015年11月立項,在今年4月份正式在手機淘寶上線。之後除了對基礎的直播體驗持續打磨,在産品形态和互動玩法上也進行了很多的探索,如導購鍊路、互動打賞、粉絲連麥等,極大提升了使用者在直播場景下購買體驗。

不過回到淘寶直播的産品設計上來,在原有産品能力加上直播功能,并不隻是簡單的加一個功能,還要考慮如何與産品原有能力融合、是否對業務資料有提升等問題,這些都是要重點關注的點。

第一個面臨的就是内容整合的問題,直播如何與商品結合,與商家的能力結合、與整個生态上的各個角色結合。在這方面淘寶有很強的優勢,有大量活躍在整個淘寶生态上的模特、淘女郎,她們自己的粉絲,有自己的流量來源,而粉絲也有在日常購買習慣上跟随這類草根明星(網紅)的習慣,除此之外,她們也有與粉絲交流、直接給粉絲推送商品的場景,而直播作為一個實時的互動平台,正是連接配接這三方的一個很好的産品形态。

淘寶直播技術分享:如何打造體驗優秀的“直播+”産品?

(淘寶直播産品形式)

據統計,通過淘寶直播做營銷,成交轉化率4%,進店率30%,關注率9%.

同時,結合直播+電商的特殊性,淘寶直播支援實時對直播内容進行分片,并和商品内容進行關聯,無論是作為點播内容或者作為商品的介紹視訊,也是很好的素材來源,主播也可以根據沉澱下來的直播内容持續分傭。

淘寶直播技術分享:如何打造體驗優秀的“直播+”産品?

這是目前一些主流直播app産品的技術架構,包括各種sdk、httpdns、cdn、視訊流處理、推流、播放等等子產品。淘寶直播在架構上也參考了業界的思路。

淘寶直播技術分享:如何打造體驗優秀的“直播+”産品?

這是淘寶直播目前主要的核心架構,分為上下兩層:

上層是用戶端,左邊是推流,右邊是播放,采用了常見的編解碼和推流協定。下層是服務端,包括tcp接入、cdn、資料分發、錄像生成等等。淘寶自主研發了cdn分發方案,完成整個直播鍊路的傳輸。另外和業界典型方案不同的還有一個點,就是雙向互動通道,用于互動營銷方案,主播跟粉絲進行一些互動,這是基于阿裡自研的支援億級日活的accs網絡通道來做的。

做一個直播平台,使用者體驗的關鍵基本上就七個字、三個點就可以概括:“不卡、不掉、不延遲”,分别對應播放流暢、互動穩定、内容實時。具體到業務上,大概有這些方面:

首屏秒開

帶寬成本優化

roi優化

時延優化

下面分别介紹淘寶直播的做法。

首屏秒開優化

淘寶直播技術分享:如何打造體驗優秀的“直播+”産品?

直播的首屏秒開指的是點選一個直播就能立即播放,目前業界也做得比較成熟,淘寶直播在其基礎上對細節進行了分類,包括業務邏輯、網絡、緩沖、渲染等優化:

并行處理:清單頁、擷取播放位址、房間狀态、連接配接消息通道 整體時延超過3s

請求合并:房間狀态、位址、主播資訊層、點贊數量、觀看人數、線上清單

傳統dns基于udp,解析時間過長。使用httpdns:預解析、防止域名劫持、精準排程(就近接入)、避免延遲

收流伺服器主動推送 gop 至邊緣節點,邊緣節點緩存 gop,播放端則可以快速加載,減少回源延遲

根據tcp擁塞視窗做智能排程,當擁塞視窗過小說明丢包率過高,需要切換節點和故障排查

增加上行、下行帶寬探測接口,當帶寬不滿足時降低視訊品質,即降低碼率

通過這些優化手段,能夠做到95%的直播點選後在900ms以内能夠播放。

帶寬成本優化主要是對音視訊解碼進行優化。直播是一個很燒錢的事情,淘寶直播上線以後,帶寬消耗非常巨大。降低成本的手段第一是窄帶高清,降低整體碼率的消耗,還有一個重要的是采用了h265編解碼,在畫質上,其帶寬消耗要遠遠低于h264,但帶來附加上的技術問題是首先背景要有轉碼,我們在端上的解碼用h265來看,但在主播端是用h264的編碼來傳,通過雲端的叢集将h264轉成h265,需要阿裡雲的叢集轉碼能力才能實作,對于h265的解碼進行定制化的方案,目前做到的效果要比自帶解碼器的效率提升30%以上。

淘寶直播技術分享:如何打造體驗優秀的“直播+”産品?

roi是指region of interest,根據視訊畫面不同區域的重要程度配置設定相應的碼率,基于人臉識别,需要實時的對視訊流進行處理。其實作在業界直播有一些美顔、實時裝飾技術,原理上大家都差不多,隻是roi技術優化的目的在于優化碼率。。

淘寶直播技術分享:如何打造體驗優秀的“直播+”産品?

在做首屏秒開優化的時候,會預加載關鍵幀,但這個預加載會造成一定的時延,這時需要用算法進行決策加速、正常還是放慢播放,自動追幀丢幀,讓主播和觀衆之間的時間差盡量小。

淘寶直播的互動包括留言、禮物、紅包、商品櫥窗等等。這些互動都是基于weex開發而來。

淘寶直播技術分享:如何打造體驗優秀的“直播+”産品?

從業務的類型而言,淘寶直播是一個很典型的淘系的業務。在建構整個邏輯體系的時候,采用weex經過了多方面的考慮,因為初始團隊比較小,很難同時兼顧多平台的開發,另外工期短,要求開發效率要高,使用weex達成了覆寫多平台的目的,并且能滿足團隊在功能和性能上的需求。

淘寶直播的下一步是打造開放平台,實作技術、内容上集團内共享,提供完備的直播服務。未來,阿裡百川還将基于淘寶直播的技術,向開發者提供直播sdk,不僅提供正常的直播和推流技術支撐,也将把淘寶直播在電商互動方面的積累開放給廣大開發者。