1. 程式人生 > >android視訊直播-直播流程概述

android視訊直播-直播流程概述

最近都在忙著做視訊直播的專案,有一個月沒有寫部落格了,現在直播流程終於通了,寫個部落格總結一下。

首先,如果你要實現的是攝像頭直播,那其實很簡單,因為已經有很多第三方支援攝像頭直播了,你所要做的,無非就是接入他們的sdk。
或者你也可以去github上找一套攝像頭直播的程式碼。

因為我們專案要實現的是手機錄屏的直播,所以跟攝像頭直播有些區別,無法直接使用第三方的sdk。
ps:關於手機錄屏的內容,請看我的另外一篇部落格:android視訊錄製--MediaProjection

好,廢話少說,先上圖:
直播流程

要完成整個直播流程,客戶端需要如下幾步:
1. 視訊內容的採集(攝像頭還是螢幕錄製)
2. 視訊的編碼(flv,h264)
3. 視訊內容的傳輸

目前直播的傳輸基本上有兩種:
1. rtp/rtsp/rtmp協議,對應的格式是flv。
2. HLS協議(HTTP Live Streaming),這個是Apple搞出來的。它跟rtp的不同之處在於,它是基於HTTP的流媒體傳輸協議。

後端要完成的,也是rtmp或者hls協議,接受客戶端的流檔案。