1桶错、什么是RTMP
RTMP是Real Time Messaging Protocol(實(shí)時(shí)消息傳輸協(xié)議)的首字母縮寫(xiě)航唆。該協(xié)議基于TCP,是一個(gè)協(xié)議族院刁,包括RTMP基本協(xié)議及RTMPT/RTMPS/RTMPE等多種變種糯钙。RTMP是一種設(shè)計(jì)用來(lái)進(jìn)行實(shí)時(shí)數(shù)據(jù)通信的網(wǎng)絡(luò)協(xié)議,主要用來(lái)在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米碰、利用開(kāi)源的SDK
3窝革、主要說(shuō)明開(kāi)源SDK的選擇
百度云推流SDK: 官方文檔
優(yōu)點(diǎn):官方文檔說(shuō)明十分詳盡,30分鐘可以完全了解吕座,接口明了虐译。
缺點(diǎn):不支持對(duì)Camera的豐富操作,比如 Filter(濾鏡)吴趴。只能進(jìn)行簡(jiǎn)單的縮放漆诽、對(duì)焦等功能
七牛推流SDK:Github上的官方源碼及說(shuō)明
優(yōu)點(diǎn):提供豐富的接口,可以滿足各種復(fù)雜的需求锣枝。需要權(quán)限驗(yàn)證厢拭,安全性有一定保障。提供CDN加速選擇撇叁。
缺點(diǎn):后端代碼需要利用七牛的SDK,不過(guò)可以二次開(kāi)發(fā)供鸠。
網(wǎng)易云推流SDK:官方文檔
優(yōu)點(diǎn):官方文檔說(shuō)明比較好
缺點(diǎn):直播推流地址由網(wǎng)易云信提供,所以限制比較大陨闹。并且還要收費(fèi)楞捂。