直播源代码搭建过程中的常用协议及模块划分种类

  1. 云栖社区>
  2. 博客>
  3. 正文

直播源代码搭建过程中的常用协议及模块划分种类

yunbao111 2020-05-06 16:34:26 浏览529

直播源代码常用协议:
RTMP协议,该协议与TCP是一个协议组,包括RTMP基本协议及RTMP/RTMPS/RTMPE等多种变种。RTMP协议主要用于实时数据通信的网络技术协议,目前RTMP协议还需要依靠播放器中的flash插件实现流媒体播放。
现在的直播平台用flash插件播放的已经很少了,毕竟到今年年底,flash插件就无法再使用。现在直播平台播放用到最多的是HTML5播放格式,这类格式对编解码要求小,能用最少的流量传递原视频质量。HTML5多用在网页端直播,软件类直播还是用RTMP居多。
根据运营商不同,Android端和iOS端使用的协议也不一样
iOS端多用HLS协议,HLS苹果动态码率的自适应技术,主要用户PC端和苹果终端的音视频服务,包括m3u8的索引文件和key加密串文件

直播源代码模块划分种类:
视频录制端。一般是指电脑上的音视频输入设备或手机端摄像头、麦克风,目前以移动端的手机视频为主,技术:webRTC
视频播放端。可以是电脑上的播放器,手机端的Native播放器,还有就是H5的video标签等,目前还是以手机端的Native播放器为主。技术:HLS协议或RTMP协议(用途:视频播放)、ffmpeg(用途:使用RTMP协议时负责移动端视频的解码)
视频服务器端。一般是一台nginx服务器,用来接受视频录制端提供的视频源,同时提供给视频播放端流服务。技术:RTMP协议(用途:上传视频流)、nginx rtmp-module或SRS(simple-rtmp-server)(用户:留服务器)

以上直播源代码的模块分类和播放协议仅为部分,具体选择还要看运营商的需求和平台搭建的需求。
本文已声明云豹原创,转载请注明出处。