Client SDK
整个直播的业务架构是:
+---------+ +-----------------+ +---------+
| Encoder +-->---+ SRS/CDN Network +--->---+ Player |
+---------+ +-----------------+ +---------+
EXOPlayer
EXOPlayer是基于Android新的播放器框架的新播放器,支持众多的协议,包括HTTP-FLV和HLS。虽然不支持RTMP,但是支持FLV,因此延迟可以比HLS低很多。
IJKPlayer
ijkplayer是B站出的一个播放器,基于FFMPEG软件解码,可以在Android和iOS上用。
FFmpeg
FFmpeg is a complete, cross-platform solution to record, convert and stream audio and video.
WebRTC
WebRTC is Real-time communication for the web.
LIBRTMP
LIBRTMP或者SRS-LIBRTMP,只是提供了Transport(RTMP)的功能,用于只需要做传输的场景,比如一些安防摄像头厂商,Transport之前是用RTSP/RTP做的,如果需要接入互联网,将流送到CDN给PC和移动端观看,直接使用H5或者Flash,不需要装插件时,可以用librtmp将已经编码的流MUX成FLV(RTMP传输实际上用的是FLV格式),然后通过librtmp发送出去。
PC
有些应用场景,还是会用PC端推流,当然是用OBS。
注意:OBS推流时,流名称的翻译有问题,流名称是要写在流密钥这里的,如下图所示。
Winlin 2017.4