直播APP開發技術實現難度在哪?都是原生開發嗎?

就類似花椒直播這樣的就可以


直播app開發發展勢頭非常之猛,企業要想分一杯羹還得加把勁才行。目前攔在企業開發直播app的三個坑有技術難題、直播模式還停留在電腦時代和盈利方式簡單等。

1.技術難題:雖然開發一個直播app並不是很難的事情,基本上會編程程序員就能開發出來。但是支持幾個人同時直播和讓上百萬人一起直播卻是兩回事。要想做一個上規模的直播平台,不僅需要比較強的寬頻吞吐能力,而且在一定範圍內用戶數據的波動也是要求比較高的。畫面還原、不出現卡屏等也都是企業在開發直播app時需要解決的問題,但是這些問題解決起來又比較難。可以說,卡頓、延遲和掉線是直播技術大三大難題。

2.直播模式還停留在電腦時代:2016是手機視頻直播的元年,由於電腦端經驗的積累,其主要的直播方式還是和電腦端一樣。都是主播與用戶的互動,並沒有什麼新意,對於移動互聯網的新技術等運用得也是非常少,可以說整個行業還存在著一定的瓶頸。

3.盈利方式簡單:雖然直播的盈利方向是最為清晰的,廣告、打賞等。但是各大平台與網紅、明星等簽約的價格都不菲,單單只是靠廣告和打賞來盈利還是存在著一定的問題。企業還需尋找新的盈利方式才行!

雲豹網路科技認為,直播app開發必定會是大勢所趨,但是想要獲得盈利還得解決掉攔在前路的三個難題才行。


直播產品的基本架構已經很成熟,一般來說,一個完整直播產品應該包含三個環節:推流端(採集、前處理)、服務端處理(編碼、轉碼、錄製、截圖、鑒黃)、播放器(拉流、解碼、渲染和互動系統)。 這些環節各有不同的技術難點,雲豹網路科技為您解讀一下。

推流端:直播內容的生產工廠

直播推流端即主播端,就是直播內容的生產環節。直播畫面和音頻,經過設備採集後,並不能直接拿來播放,而是要經過一系列前處理、編碼、封裝,然後才能推流到CDN進行分發。形象地說,這就是直播內容的加工廠。

1、採集

採集的技術難度與設備息息相關。一般來說,iOS系統的設備採集是比較簡單的,而Android設備則要做些機型適配工作,最麻煩的是傳統PC上的各種奇葩攝像頭驅動。所以一般會建議放棄PC只支持手機主播,從實際應用來看,也確實沒有用電腦攝像頭直播的必要。這樣相對來說,難度要降低一些。

2、前處理

在這個環節主要處理美顏、連麥等效果。現在美顏功能幾乎是直播的標配,哪怕是非商用的企業直播平台,也建議添加美顏功能,畢竟沒有人希望自己在鏡頭前一臉憔悴不上鏡。但美顏有一個需要難點是,要平衡美顏效果和功耗之間的關係,美顏效果越好,程序功耗越大,設備就會越發發熱,從而有可能影響到視頻的採集。

另外一個重要的功能就是連麥。連麥就是多人實時通話,這是隨著直播用戶對互動加強而提出的新要求。從目前市場來看,低功耗、高性能的美顏功能是行業趨勢,很多直播雲服務商如阿里雲、星域CDN等,都已添加這些功能。

3、推流

直播內容採集、處理好之後,還要上傳到伺服器,通過CDN進行分發,才能向用戶播放,這就是推流。推流有回源、直推、轉推等多種形式,各有優點。

推流的難點在於直播場景中,網路不穩定是非常常見的,這時就需要保證網路不穩情況下的用戶觀看直播的體驗,通常是通過主播端和播放端設置緩存,讓碼率均勻。另外,針對實時變化的網路狀況,動態碼率和幀率也是最常用的策略。

事實上,在網路傳輸方面全部自己來做基本不現實,找提供推流服務的CDN服務商提供解決方案才是最好的選擇。目前大多數直播平台都會同時接入多個視頻雲服務提供商,提高直播的流暢性和穩定性。比如今日頭條、芒果TV、優酷土豆、手機淘寶、一直播等平台都是阿里雲的客戶,愛奇藝、小米、觸手TV等是星域CDN的客戶,而熊貓TV、陌陌、B站等,既使用了阿里雲,也使用了星域CDN的服務。

服務端:編碼技術是關鍵

要想適配各終端和平台,服務端還需要對流進行轉碼,如支持RTMP、HLS、FLV等格式拉流,支持一路轉多路適配不同網路和解析度的終端設備。同時根據直播行業政策的要求,還要進行加水印、鑒黃等操作。

1、編碼

為了便於手機視頻的推流、拉流以及存儲,通常採用視頻編碼壓縮技術來減少視頻的體積,因為手機或攝像頭採集到的原始音視頻的體積是非常大的,需要經過編碼壓縮處理來提高傳輸效率。

難點就是編碼壓縮技術,目前用得比較多的是H.264技術,但新的H.265技術更為先進,壓縮能力更高,做到了僅需要原來一半帶寬即可播放相同質量的視頻,低於1.5Mbps的網路也能傳輸1080p的高清視頻,所以H.265編解碼技術已有全面取代H.264的趨勢。目前市場上根據提供服務的時間先後和使用情況看,星域CDN的H.265技術提供時間最早,用戶比較多,應該是業界比較領先的,其次是金山雲也提供了H.265編碼技術。

2、轉碼

編碼後的內容需要通過轉碼,然後才能適配不同平台的需求,比如將用戶推流碼率較高(比如720P)實時轉化成較低清晰度(比如360P)的流以適應播放端的需求。如果要自己搭建實時轉碼系統,成本將會極高的,一台8核設備只能實時轉10路流,如果一個正常的直播平台有1000路流,就需要100台設備,加上後期的運維成本,一般公司就吃不消了,所以基本上都會選擇直播雲計算服務商,目前國內一線的雲服務商都提供了實時轉碼技術。

3、鑒黃

鑒黃是監管政策的硬性規定,為了安全直播產品鑒黃成了必需環節,使用技術手段去鑒黃是移動直播平台必然採用的方案。市面上提供鑒黃服務的方案主要有兩種:

第一種是對視頻進行截圖,然後對圖片進行鑒黃,返回鑒黃結果和分值。典型的企業有阿里(綠網)、圖譜科技,他們目前都支持直接傳入視頻,經過服務端分析返回結果。通常由業務系統接入鑒黃服務,根據鑒黃結果對直播流進行控制,如切斷直播流、封禁賬號等。

第二種是和CDN結合,直接對直播流進行分析,識別結果分為色情、疑似色情、性感和正常,業務系統根據識別結果直接控制直播流。典型的企業是Viscovery,這套方案的優點是實時性保證比較好,缺點是必須部署到CDN或自己的機房,使用成本相對高一些。

還有一種一站式直播解決方案提供商,他們的做法是,用戶只需在控制台對鑒黃服務進行配置就可以針對每個應用、每一路直播流進行實時審核。在控制台中,雲服務商實時將鑒黃結果返回,用戶可以直接查看色情直播和違規界面的截圖,同時可以對直播流進行控制,切斷問題直播流。

4、截圖、錄製、水印

另外國家明確提出了,所有直播都必須打有水印並回放留存15天以上。這就要用到水印、截圖和錄製等功能,這些功能相對來說比較簡單,目前基本上直播雲計算服務商都能提供。

播放端:與用戶關係最緊密

播放端是於用戶關係最直接、最緊密的部分,也是遇到用戶投訴最多的,因為所有的問題都是在觀看的時候體現的。因此做好播放端的工作,對用戶體驗度的影響最大。

用戶的需求其實很簡單,無非就是要秒開、不能卡、延遲不能高,如果延遲高了,要追回來,追的時候聲音不能變,最好在不卡的同時,畫面還能夠高清。但從技術層面來說,要滿足這些要求,意味著很高的難度。在播放器端如何做到秒開,直播過程中保證畫面和聲音清晰度的同時,穩定、流程、無卡頓的直播流量,這些工作都需要播放器端配合服務端來做優化,做到精確調度。

比如,如果要低延遲,就要把緩衝隊列做的盡量短;如果緩衝隊列短,就避免不了卡頓。因此,最優解決方案必須是要找到不卡頓和低延遲的平衡點,讓語音視頻不卡頓的情況下,達到最低的延遲。

另外互動系統也是播放端令人頭疼的部分。比如主播發消息,動輒要同時傳送給十幾萬、幾十萬觀眾,這比起IM軟體一對一、或是一對幾百要難多了。另外還有觀眾彈幕、禮物系統,也是幾十萬同時發、幾十萬同時看,對伺服器壓力極大,如何解決也是很考驗技術水平的事情。

雲豹直播認為這些技術,還不僅僅是說挖到一兩個大牛就能解決的問題,無一不是要靠時間來積累的。依靠自己來開發解決根本不現實,就算有這樣的技術團隊,也付不起這樣的時間成本,最好的辦法,還是尋找一站式直播搭建服務商,因為它們在技術實力和實操經驗上,都有遠非一般團隊所能企及的積累。總的來說,完全依靠自己力量搭建一個直播平台,是不太可能的事情,實際上,也沒有這個必要。直播產業已發展成為一個很成熟的生態,既然有很多高水平、好服務的第三方服務商,為何不直接使用呢?


直接找個正規公司做就行了,還方便,自己搭建太麻煩


推薦閱讀:

TAG:視頻直播 | 網路直播 | 直播 | 花椒直播 |