推流:将直播内容推送至服务器的过程
拉流:为服务器已有直播内容,用指定地址进行拉取的过程
在推流中,我们想要进行传输到服务端, 那么肯定要将数据使用传输协议进行封装,变成流数据。常用的流传输协议有哪几种呢?
-
RTSP
:实时效果比较好,比较适合视频聊天和视频监控;可允许客户端向服务端发送请求;可基于RTP
数据; -
RTMP
:Adobe
公司,低延迟,稳定性高 浏览器支持的比较好,来个flash
插件就行了。视频流可以任意时间向服务器发送请求进行播放; -
HLS
:苹果公司提出实现的基于HTTP
流媒体传输协议,实现流媒体的直播点播,点播是分段的HTTP
点播;与其他协议最大的不同就是: 直播客户端获取到的不是一个完整的数据流。HLS
协议在服务端将直播数据流存储为连续的很短时长的媒体(MPEG-TS
格式),客户端不断的下载并播放这些小文件,就实现了直播;当然也可以通过ts
文件生成m3u8
格式的文件;所以这个性质, 延迟就会比普通的要高了。
推流码:RTMP
是Real Time Messaging Protocol
(实时消息传输协议)的首字母缩写。
一种设计用来进行实时数据通信的网络协议。
每一个推流码地址唯一指向单个的直播活动。它由rtmp://
开头,包含了上传服务器地址,上传目录名和上传节点,三部分组成。所有的rtmp
地址都是这种结构组成,基本同一个平台不同直播的地址前两部分是不变的。