【如何快速的開發一個完整的iOS直播app】(原理篇)

《羣聯筱筱轉載qlkj-888vx》
直播搭建交流羣:【如何快速的開發一個完整的iOS直播app】(原理篇)
一、個人見解(直播難與易)
直播難:個人認爲要想把直播從零開始做出來,絕對是牛逼中的牛逼,大牛中的大牛,因爲直播中運用到的技術難點非常之多,視頻/音頻處理,圖形處理,視頻/音頻壓縮,CDN分發,即時通訊等技術,每一個技術都夠你學幾年的。
直播易:已經有各個領域的大牛,封裝好了許多牛逼的框架,我們只需要用別人寫好的框架,就能快速的搭建一個直播app,也就是傳說中的站在大牛肩膀上編程。
二、瞭解直播
熱門直播產品
映客,鬥魚,熊貓,虎牙,花椒等等
1.一個完整直播app功能(來自落影loyinglin分享)

1、聊天

私聊、聊天室、點亮、推送、黑名單等;

2、禮物

普通禮物、豪華禮物、紅包、排行榜、第三方充值、內購、禮物動態更新、提現等;

3、直播列表

關注、熱門、最新、分類直播用戶列表等;

4、自己直播

錄製、推流、解碼、播放、美顏、心跳、後臺切換、主播對管理員操作、管理員對用戶等;

5、房間邏輯

創建房間、進入房間、退出房間、關閉房間、切換房間、房間管理員設置、房間用戶列表等;

6、用戶邏輯

普通登陸、第三方登陸、註冊、搜索、修改個人信息、關注列表、粉絲列表、忘記密碼、查看個人信息、收入榜、關注和取關、檢索等;

7、觀看直播

聊天信息、滾屏彈幕、禮物顯示、加載界面等;

8、統計

APP業務統計、第三方統計等;

9、超管

禁播、隱藏、審覈等;

2.一個完整直播app原理
直播原理:把主播錄製的視頻,推送到服務器,在由服務器分發給觀衆觀看。
直播環節:推流端(採集、美顏處理、編碼、推流)、服務端處理(轉碼、錄製、截圖、鑑黃)、播放器(拉流、解碼、渲染)、互動系統(聊天室、禮物系統、贊)
3.一個完整直播app實現流程
1.採集、2.濾鏡處理、3.編碼、4.推流、5.CDN分發、6.拉流、7.解碼、8.播放、9.聊天互動

【如何快速的開發一個完整的iOS直播app】(原理篇)
4.一個完整直播app架構
【如何快速的開發一個完整的iOS直播app】(原理篇)
5.一個完整直播app技術點
【如何快速的開發一個完整的iOS直播app】(原理篇)
三、瞭解流媒體(直播需要用到流媒體)

流媒體開發:網絡層(socket或st)負責傳輸,協議層(rtmp或hls)負責網絡打包,封裝層(flv、ts)負責編解碼數據的封裝,編碼層(h.264和aac)負責圖像,音頻壓縮。
幀:每幀代表一幅靜止的圖像

GOP:(Group of Pictures)畫面組,一個GOP就是一組連續的畫面,每個畫面都是一幀,一個GOP就是很多幀的集合

直播的數據,其實是一組圖片,包括I幀、P幀、B幀,當用戶第一次觀看的時候,會尋找I幀,而播放器會到服務器尋找到最近的I幀反饋給用戶。因此,GOP Cache增加了端到端延遲,因爲它必須要拿到最近的I幀
GOP Cache的長度越長,畫面質量越好

碼率:圖片進行壓縮後每秒顯示的數據量。

幀率:每秒顯示的圖片數。影響畫面流暢度,與畫面流暢度成正比:幀率越大,畫面越流暢;幀率越小,畫面越有跳動感。

由於人類眼睛的特殊生理結構,如果所看畫面之幀率高於16的時候,就會認爲是連貫的,此現象稱之爲視覺暫留。並且當幀速達到一定數值後,再增長的話,人眼也不容易察覺到有明顯的流暢度提升了。

分辨率:(矩形)圖片的長度和寬度,即圖片的尺寸
壓縮前的每秒數據量:幀率X分辨率(單位應該是若干個字節)
壓縮比:壓縮前的每秒數據量/碼率 (對於同一個視頻源並採用同一種視頻編碼算法,則:壓縮比越高,畫面質量越差。)

視頻文件格式:文件的後綴,比如.wmv,.mov,.mp4,.mp3,.avi,

主要用處,根據文件格式,系統會自動判斷用什麼軟件打開,
注意: 隨意修改文件格式,對文件的本身不會造成太大的影響,比如把avi改成mp4,文件還是avi.

視頻封裝格式:一種儲存視頻信息的容器,流式封裝可以有TS、FLV等,索引式的封裝有MP4,MOV,AVI等,

主要作用:一個視頻文件往往會包含圖像和音頻,還有一些配置信息(如圖像和音頻的關聯,如何解碼它們等):這些內容需要按照一定的規則組織、封裝起來.

注意:會發現封裝格式跟文件格式一樣,因爲一般視頻文件格式的後綴名即採用相應的視頻封裝格式的名稱,所以視頻文件格式就是視頻封裝格式。

視頻封裝格式和視頻壓縮編碼標準:就好像項目工程和編程語言,封裝格式就是一個項目的工程,視頻編碼方式就是編程語言,一個項目工程可以用不同語言開發。

國內最高防段
117.27.250.
117.27.251.

廣東BGP
103.73.205.*

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章