1、什么是RTMP
RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。
2、方案选择
针对Android端的RTMP推流选择方案主要有两大类:
1、利用FFmpeg进行直播推流
利用FFmpeg,坑比较多,请自行百度。
2、利用开源的SDK
3、主要说明开源SDK的选择
百度云推流SDK: 官方文档
优点:官方文档说明十分详尽,30分钟可以完全了解,接口明了。
缺点:不支持对Camera的丰富操作,比如 Filter(滤镜)。只能进行简单的缩放、对焦等功能
七牛推流SDK:Github上的官方源码及说明
优点:提供丰富的接口,可以满足各种复杂的需求。需要权限验证,安全性有一定保障。提供CDN加速选择。
缺点:后端代码需要利用七牛的SDK,不过可以二次开发。
网易云推流SDK:官方文档
优点:官方文档说明比较好
缺点:直播推流地址由网易云信提供,所以限制比较大。并且还要收费。