1、什么是RTMP
RTMP是Real Time Messaging Protocol(實(shí)時(shí)消息傳輸協(xié)議)的首字母縮寫。該協(xié)議基于TCP,是一個(gè)協(xié)議族,包括RTMP基本協(xié)議及RTMPT/RTMPS/RTMPE等多種變種。RTMP是一種設(shè)計(jì)用來進(jìn)行實(shí)時(shí)數(shù)據(jù)通信的網(wǎng)絡(luò)協(xié)議,主要用來在Flash/AIR平臺(tái)和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間進(jìn)行音視頻和數(shù)據(jù)通信。支持該協(xié)議的軟件包括Adobe Media Server/Ultrant Media Server/red5等。
2、方案選擇
針對(duì)Android端的RTMP推流選擇方案主要有兩大類:
1、利用FFmpeg進(jìn)行直播推流
? ? 利用FFmpeg,坑比較多,請(qǐng)自行百度。
2、利用開源的SDK
3、主要說明開源SDK的選擇
百度云推流SDK: 官方文檔
優(yōu)點(diǎn):官方文檔說明十分詳盡,30分鐘可以完全了解,接口明了。
缺點(diǎn):不支持對(duì)Camera的豐富操作,比如 Filter(濾鏡)。只能進(jìn)行簡(jiǎn)單的縮放、對(duì)焦等功能
七牛推流SDK:Github上的官方源碼及說明
優(yōu)點(diǎn):提供豐富的接口,可以滿足各種復(fù)雜的需求。需要權(quán)限驗(yàn)證,安全性有一定保障。提供CDN加速選擇。
缺點(diǎn):后端代碼需要利用七牛的SDK,不過可以二次開發(fā)。
網(wǎng)易云推流SDK:官方文檔
優(yōu)點(diǎn):官方文檔說明比較好
缺點(diǎn):直播推流地址由網(wǎng)易云信提供,所以限制比較大。并且還要收費(fèi)。