短視頻App的用戶停留時間長、黏性大、使用頻次高,其次日留存、7日留存甚至是月留存同樣也非常高,而大多數公司在進行自己產品APP的開發時,也會在其中集成垂直分類或一些社區化的短視頻功能。短視頻APP開發行業之所以如此火爆,就是因為它將手機的視頻錄制和碎片化時間這兩個特點都發揮到了極致,短視頻app開發業務也隨之變得被大眾熟知起來。
短視頻APP開發錄制模塊的重點在于幀數據獲取,除了可以通過攝像頭獲取視頻幀,還可以通過屏幕錄制獲取視頻幀,而音頻幀數據主要還是通過麥克風進行獲取;虛線部分的Filter模塊主要實現了內置美顏/濾鏡功能,另外因為有紋理和YUV數據的CallBack回調機制,所以也支持第三方庫的美顏、濾鏡、特效等功能;處理后的數據會經過OpenGL進行裁剪,縮放,旋轉等操作,這些工作雖然可以由CPU來進行,但是會比較耗時,利用GPU是更明智的選擇;最后得到紋理后,會被分成兩路,一路渲染顯示,另一路進行編碼封裝,這兩個線程共享同一個紋理,這樣的處理大大減少了資源的占用,提高了SDK的工作效率。
在短視頻APP開發業務服務器端,當生產者生產出一個視頻并將其上傳至業務服務器后,系統會入庫這條短視頻的Matedata并存儲到數據源中,真正的短視頻文件則會安放在存儲中。這里需要注意的是,一些小運營商的DNS緩存會降低上傳成功率,我們需要通過技術優化來克服此類問題。當某用戶消費此短視頻時,通過使用CDN對整體過程進行加速來提升消費體驗,同時CDN也幫我們提高緩存命中率節省帶寬成本。而用戶經常消費的一些高質量視頻內容離不開可靠的運營后臺,運營后臺可幫助視頻生產者完成編輯、推薦、分類等工作。現在我們平時用到的很多APP都會根據用戶行為構造人物畫像并通過人工標注或算法生成等方式將這些內容進行標注,從而獲知用戶感興趣的內容并進行精準化推薦,人物畫像與智能推薦系統對大多數APP來說都是一個非常重要的系統,可有效增大用戶黏性。
隨著短視頻APP開發的不斷的發展,以及實時直播的崛起,帶寬的壓力會越來越大,所以能夠結合著P2P+CDN的方式來緩解服務端的帶寬壓力,不過P2P主要會面臨著防火墻的問題、以及節點網絡質量的影響,同時也依賴與視頻播放的熱度,這種對于效果都會有一些影響,同時為了更好的播放流暢度,單一的P2P無法滿足需求,需要基于P2P和CDN的輔助進行。而帶寬的另外一個節省之道,就是通過更好的編碼標準來進行優化,比如H.265的編碼標準,通過這個能夠節省1半的流量,只不過目前H.265在硬編支持不是很好,只有個別手機機型支持,而軟編碼的方式相比與H.264,編解碼速度要慢個幾倍,這種對于能耗消耗比較高,處理也比較慢,不過隨著硬件的不斷升級,H.265將會是后續的一個趨勢,同時依托于這個之上的一些圖片編碼標準也能夠得到有效的應用,從而來節省帶寬。