由於升級版的RTMP Streamer採取全Kotlin編碼,對執行環境與開發者的技能要求都比較高,因此為了方便講解,這裡以標準版的RTMP Streamer為例,介紹如何使用RTMP Streamer開啟手機的APP直播推流。
一、下載RTMP Streamer
由於最新版的RTMP Streamer被升級得面目全非,難以為國內開發者使用,並且RTMP Streamer升級之後,原本在Github上託管的舊程式碼也不翼而飛,不知是不是老外對我們封鎖高科技。因此博主尋尋覓覓,花了好長時間才找到合適版本的RTMP Streamer原始碼,如果大家需要這套原始碼,可在京東自營購買
二、載入RTMP Streamer
下載的RTMP Streamer原始碼是個完整的AS專案,啟動小海豚版本的Android Studio,依次選擇選單:File→Open,在彈出的檔案對話方塊中選擇解壓後的RTMP Streamer原始碼目錄。Android Studio就開始自動下載相關元件,並執行gradle同步等操作。為了加快RTMP Streamer專案的載入速度,可開啟專案級別的build.gradle,在repositories節點內部補充以下配置:
增加以上配置的目的是引入國內的倉庫地址,以便加快相關依賴包的下載速度。
等待RTMP Streamer專案成功載入完畢,檢視Android Studio左側的導航圖,可見RTMP Streamer專案由下列五個模組組成:
app模組:這是RTMP Streamer的演示介面模組,也是APP工程的主入口。
encoder模組:這是RTMP Streamer給音訊流和影片流分別編碼的模組。
rtmp模組:這是RTMP Streamer處理RTMP協議通訊的模組。
rtplibrary模組:這是處理RTP協議資料傳輸的公共庫,rtmp模組和rtsp模組都調到了該庫。
rtsp模組:這是RTMP Streamer處理RTSP協議通訊的模組。
三、啟動RTMP Streamer
Android Studio成功載入RTMP Streamer之後,即可在手機上安裝RTMP Streamer的演示APP了。有關APP編譯和安裝的詳細步驟參見《Android Studio開發實戰:從零基礎到App上線(第3版)》一書第2章的“2.1.1 App的執行環境”,這裡不再贅述。
RTMP Streamer的演示APP在手機上安裝完畢,啟動後的初始介面是下面這樣的。
可見RTMP Streamer提供了豐富多樣的直播形式,既可以透過手機攝像頭直播,還能把手機上的影片檔案分享直播,還能對手機的螢幕操作進行直播。具體的直播協議又包括RTMP和RTSP兩種,可以滿足絕大多數場景的直播需求,而且RTMP Streamer是個開源軟體,提供了完整的APP直播錄製全套程式碼,非常適合開發者學習和研究。
更多詳細的FFmpeg開發知識參見《