快手科技音視頻技術(shù)公開多媒體傳輸協(xié)議KTP
快手的核心理念就是記錄,力圖打造一個簡單、平等、普惠的平臺。在快手,每個人都可以通過記錄和分享來獲得獨特的幸福感,也因此,快手的視頻內(nèi)容匯聚了中國社會生活的方方面面,被稱為“流動的清明上河圖”。
如今快手的日活達(dá)1.3億,月活超過3億,擁有累計超過70億條原創(chuàng)內(nèi)容,并且以每天1500萬條的速度在遞增。在用戶使用過程中,上傳視頻、直播推流的體驗直接關(guān)系到用戶留存。因此,開發(fā)使內(nèi)容傳輸更穩(wěn)定、更快速、更實時的傳輸協(xié)議,顯得格外重要。
快手的業(yè)務(wù)形態(tài)包括短視頻和直播,由于業(yè)務(wù)的多樣化,對傳輸協(xié)議的要求也各不一樣。在短視頻業(yè)務(wù)中,短視頻上傳的成功率與速度對用戶體驗至關(guān)重要。在快手,每天都有海量的視頻上傳和播放,并且視頻的分辨率達(dá)到720p。高分辨率提高了視頻的清晰度,卻也給視頻的上傳和播放帶來挑戰(zhàn)。
快手用戶多,分布廣,短視頻上傳的網(wǎng)絡(luò)和地理環(huán)境更是非常復(fù)雜。在一些網(wǎng)絡(luò)條件苛刻的地方,例如山區(qū)、地鐵、鬧市等,要么基站覆蓋不夠好,要么人多網(wǎng)絡(luò)競爭激烈,保證視頻上傳的成功率,對于提升用戶留存和作品數(shù)量均有很大的影響。此外,視頻的上傳速度直接決定了上傳耗時,進(jìn)而會影響用戶上傳的取消率。一般而言,耗時越久,取消率越高,所以視頻的上傳速度也是需要考慮的關(guān)鍵指標(biāo)。
除了短視頻,直播也是快手的主要業(yè)務(wù)之一??焓值闹辈ビ脩粢?guī)模大,且場景豐富,包括戶外直播、游戲直播、才藝直播、自拍直播等等。與傳統(tǒng)的一些直播平臺相比,快手主播直播時的物理和網(wǎng)絡(luò)環(huán)境更加多樣化且不可控。此外,快手的直播玩法多樣,雖然都屬于直播的范疇,對傳輸?shù)木唧w要求卻有很大的差異。
例如,從延遲的角度,游戲直播能容忍的延遲一般大于普通互動直播,但二者都在秒級范圍內(nèi)。而直播連麥則對延遲的要求極高,一般不能超過400ms。在清晰度方面,游戲直播對清晰度的要求則非常高,目前,快手已經(jīng)支持藍(lán)光質(zhì)量的游戲直播,而普通互動直播和連麥,對清晰度和分辨率的要求則遠(yuǎn)遠(yuǎn)低于游戲直播。
無論短視頻上傳,還是直播推流,均是快手內(nèi)容的源頭。短視頻上傳的成功率和速度,影響了用戶的留存和內(nèi)容供給量;主播的推流質(zhì)量,則直接影響成千上萬粉絲的觀看體驗。因此,在各種異構(gòu)且不可控的網(wǎng)絡(luò)環(huán)境下,保證快手內(nèi)容生產(chǎn)源頭的服務(wù)質(zhì)量,對于提升快手的總體用戶體驗至關(guān)重要。
為了滿足多樣的業(yè)務(wù)需求,同時能進(jìn)行深度的優(yōu)化,快手建立了自己的音視頻云端服務(wù),開發(fā)了快手多媒體傳輸協(xié)議KTP(Kwai Transport Protocol,快手傳輸協(xié)議),從內(nèi)容產(chǎn)生的源頭優(yōu)化用戶體驗。據(jù)介紹,快手KTP的設(shè)計,涵蓋網(wǎng)絡(luò)狀態(tài)估計、網(wǎng)絡(luò)傳輸控制、信源信道聯(lián)合優(yōu)化等多個維度,支持動態(tài)碼率自適應(yīng)、幀率自適應(yīng)、混合FEC/ARQ、非對稱差錯保護(hù)等。
目前,KTP已全面服務(wù)于快手的業(yè)務(wù),在性能方面,短視頻上傳可以達(dá)到抗90%丟包,上傳失敗率相比傳統(tǒng)TCP降低27%,取消率降低23%;在直播連麥時,延遲低于400ms,并且對20%丟包做到無感知;在直播推流場景下,當(dāng)網(wǎng)絡(luò)丟包率為零時,KTP直播推流的帶寬利用率比TCP推流提升約25%,隨著丟包率增大,KTP相對TCP的增益越明顯,當(dāng)網(wǎng)絡(luò)丟包率增大到20%時,KTP直播推流的帶寬利用率達(dá)到TCP推流的六倍。此外,KTP還支持多路復(fù)用,可以做到無感知網(wǎng)絡(luò)切換,比如用戶在WIFI和4G間互相切換時,網(wǎng)絡(luò)也不會中斷。
KTP是一個面向多媒體業(yè)務(wù)的傳輸協(xié)議,具有很強(qiáng)的擴(kuò)展性,能夠靈活支持各種業(yè)務(wù)場景,還可以在各個場景之間無縫切換,動態(tài)支持各類延時模式。此外,KTP內(nèi)部各個功能模塊相互解耦,能非常容易地集成各種新算法。依托快手的流媒體大數(shù)據(jù)系統(tǒng),能快速通過AB測試,驗證算法性能。從技術(shù)角度來看,KTP是基于UDP而實現(xiàn)的,所有的算法與策略均在UDP之上,與TCP相比,KTP更加靈活可控。
KTP的設(shè)計目標(biāo)是突破地域、網(wǎng)絡(luò)業(yè)務(wù)的限制,達(dá)到高流暢、高清晰、高可靠、低延遲的內(nèi)容傳輸,同時在各種極端的弱網(wǎng)環(huán)境下能做深度的優(yōu)化。
為進(jìn)一步提升用戶體驗,快手計劃在KTP中采用質(zhì)量自適應(yīng)技術(shù),通過深度學(xué)習(xí)的方式,聯(lián)合優(yōu)化應(yīng)用層與網(wǎng)絡(luò)層,根據(jù)網(wǎng)絡(luò)情況自適應(yīng)視頻質(zhì)量。此外,在消費(播放)端,KTP計劃支持超低延遲的多碼率自適應(yīng)方案,進(jìn)一步降低播放端的卡頓率與延遲,提升觀看體驗。