1.
視頻直播功能,這是一款直播App最主要的功能,要能支持視頻直播RTMP推流,使畫面?zhèn)鬏斄鲿?、清晰?/div>
2. 聊天功能,用戶之間的互動(dòng)聊天,包括文字和表情;
3. 互動(dòng)功能,用戶與主播間的互動(dòng),點(diǎn)亮個(gè)燈,送一束花等等;
4. 支付&提現(xiàn)功能,用戶用現(xiàn)金購買禮物送給心儀的主播,主播收到禮物后可再兌換成現(xiàn)金取出;
5. 視頻回放功能,在直播的過程中同時(shí)錄像,使得沒看到直播的小粉絲也有機(jī)會(huì)再看;
6. 分享功能,將房間號(hào)分享到微信、微博、QQ等。
第二步:尋找合適的云服務(wù)SDK進(jìn)行嵌入,在APICloud的聚合API中可以輕易找到以上的功能模塊,挑選合適的模塊封裝到自己的App中
1. 視頻直播功能有ytylive qupaiLive 親加云等模塊。
拿ytylive舉例,此模塊支持主流 RTMP 服務(wù)器 支持目前所有主流的 RTMP 服務(wù)器 (simple-rtmp-server、crtmpserver、FMS 等)。 支持所有的 RTMP 協(xié)議 支持所有 RTMP 協(xié)議及變種 (RTMP、RTMPT、RTMPE、RTMPS、RTMPTE、RTMPTS 等)。 性能強(qiáng)大 資源 (CPU/內(nèi)存) 占用率低,使用硬件加速進(jìn)行編碼,壓縮比例大,延時(shí)小。 支持實(shí)時(shí)濾鏡 支持多種實(shí)時(shí)濾鏡效果 (Gray、InvertColors、Sepia、Fisheye、Glow、GaussionBlur)。
而像親加云模塊共有4個(gè),包括視頻直播基礎(chǔ)模塊、視頻直播模塊、視頻播放器模塊和視頻直播聊天室模塊。
2. 聊天文本/表情輸入有chatbox,UIChatbox等模塊。效果如下:
3. 及時(shí)通訊(互動(dòng)功能):融云,環(huán)信等模塊,也可以自己通過socketManager自己封裝協(xié)議實(shí)現(xiàn);
4. 支付提現(xiàn):支付寶、ping++、微信支付、銀聯(lián)支付、現(xiàn)在支付等模塊;
5. 視頻回放:視頻回放功能的實(shí)現(xiàn)其實(shí)是錄像+存儲(chǔ)到服務(wù)器中,因此使用APICloud的數(shù)據(jù)云功能,或是七牛云存儲(chǔ),又拍云等模塊都可以實(shí)現(xiàn);
6. 直播/主播分享:微信、新浪微博、QQ等平臺(tái)分享模塊。
第三步:完成App開發(fā)5步驟
現(xiàn)在我們所有的模塊已經(jīng)挑選完畢,開發(fā)者按照之前和大家分享過App開發(fā)5步驟的內(nèi)容就可以完成一款直播App的開發(fā)。這5步驟包括:
1. App框架搭建,在APICloud Studio中直接創(chuàng)建應(yīng)用框架,有三個(gè)常用頁面框架備選;
2. 積木式拼裝,將所有你挑選好的模塊,用JavaScript編寫頁面及模塊調(diào)用,運(yùn)用HTML5+CSS3搭建應(yīng)用的界面UI,完成App編碼全過程;
3. 真機(jī)調(diào)試,通過模擬器和真機(jī)調(diào)試功能進(jìn)行App優(yōu)化,一鍵點(diǎn)擊即可在iOS和Android手機(jī)中進(jìn)行App優(yōu)化;
4. 云編譯,在APICloud官網(wǎng)上傳App的icon、啟動(dòng)頁和證書,一鍵“云編譯”即可同時(shí)生成iOS和Android的原生安裝包;
5. 云修復(fù),使用云修復(fù)快速迭代,隨時(shí)發(fā)布新版本、新功能,無需提交新的安裝包。
做完以上這三個(gè)步驟,開發(fā)直播App的全過程也就結(jié)束了。估計(jì)大家還會(huì)考慮開發(fā)成本的問題,除去部分模塊是收費(fèi)之外,其他步驟都是免費(fèi)的。況且,由于是積木式拼裝的方式,開發(fā)時(shí)間會(huì)大幅縮短。
最后,再分享一些開發(fā)直播App的難點(diǎn)和細(xì)節(jié)。
1. 在網(wǎng)絡(luò)信號(hào)弱的情況下,需要保證視頻質(zhì)量。用戶如果經(jīng)常會(huì)發(fā)生信號(hào)不好需要緩存的情況,那么會(huì)大大降低用戶體驗(yàn)。
2. 直播畫面的延遲情況。數(shù)據(jù)傳輸是按照客戶端上傳到服務(wù)器,服務(wù)器再下傳到客戶端的模式,數(shù)據(jù)越大尤其是高清視頻畫面,那么整體上傳下載速度越慢,客戶端顯示出現(xiàn)延遲,用戶會(huì)出現(xiàn)不停緩沖等狀況,影響用戶的使用。
3. 頁面交互動(dòng)畫。互動(dòng)直播的內(nèi)在就是主播與用戶的一個(gè)互動(dòng)過程。主流的直播APP通常會(huì)添加諸如送花、打賞等等,對(duì)于系統(tǒng)兼容性、直播APP運(yùn)行速度以及流暢度都會(huì)造成一定的影響,甚至?xí)霈F(xiàn)BUG。