【流媒体】推流与拉流简介

简介: 【流媒体】推流与拉流简介

一、概念

话不多说,先了解概念,再看示意图更直观:

1.1 推流

推流:将直播的内容推送至服务器的过程。即指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验很是糟糕。要想用于推流还必须把音视频数据使用传输协议进行封装,变成流数据。常用的流传输协议有RTSP、RTMP、HLS等,使用RTMP传输的延时通常在1–3秒,对于手机直播这种实时性要求非常高的场景,RTMP也成为手机直播中最常用的流传输协议。最后通过一定的Qos算法将音视频流数据推送到网络断,通过CDN进行分发。

1.2 拉流

拉流:指服务器已有直播内容,用指定地址进行拉取的过程。即是指服务器里面有流媒体视频文件,这些视频文件根据不同的网络协议类型(如RTMP、RTSP、HTTP等)被读取的过程,称之为拉流,说的简单点,你观看优酷视频就可以看成是拉流,视频文件存储在优酷的服务器上面,你通过HTTP(或者RTMP/RTSP)协议,也就是网页的形式去获取视频观看,这就是拉流的过程,在这个过程中有三个要素:1-服务器【提供视频文件存储的地方】 2-传输协议【就是你要通过什么方式传输视频】3-读取终端【就是通过什么播放出来】

二、示意图

以下是从网络上搜寻到的有关推流与拉流的示意图,

推流与拉流示意图(1)

一张示意图没有看明白,没有关系,再来一张示意图:

推流与拉流示意图(2)

其实可以简要的理解为推流就是直播端,而拉流就是客户端哦。

三、RTMP传输协议

流媒体中的传输协议有很多种,以下先介绍一种,其他可以参照此协议方便理解。

RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。一种设计用来进行实时数据通信的网络协议。

每一个推流码地址唯一指向单个的直播活动。它由rtmp://开头,包含了上传服务器地址,上传目录名和上传节点,三部分组成。所有的rtmp地址都是这种结构组成,基本同一个平台不同直播的地址前两部分是不变的。

协议构成

四、流媒体协议与格式

各种流媒体协议与格式示意图

后续再写各种流媒体协议之间的区别。

完结!


相关文章
|
Web App开发 编解码 监控
【开源视频联动物联网平台】推流,拉流,转发,转码?
【开源视频联动物联网平台】推流,拉流,转发,转码?
1481 2
|
网络协议 Linux
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
2706 0
|
Web App开发 流计算 内存技术
安防领域常用的视频流协议介绍
安防领域常用的视频流协议介绍
1549 0
|
Web App开发 编解码 Android开发
2023年音视频开发知识技术合集(基础入门到高级进阶)
2023年音视频开发知识技术合集(基础入门到高级进阶)
|
编解码 网络协议 安全
一文看懂音视频流媒体协议及信令技术
音视频通信完整流程有如下几个环节:采集、编码、前后处理、传输、解码、缓冲、渲染等。 每一个细分环节,还有更细分的技术模块。比如,前后处理环节有美颜、滤镜、回声消除、噪声抑制等,采集有麦克风阵列等,编解码有H.263,H.264、H.265等,传输就涉及到了本文重点介绍的RTSP/RTMP/RTP/RTCP等流媒体协议以及相关的信令技术。
一文看懂音视频流媒体协议及信令技术
|
Web App开发 编解码 算法
发现一个非常好用的RTC(实时音视频通信)方案,做直播和视频通话都很牛
HaaS RTC是阿里云IoT联合视频云开发的IoT设备端上的实时通讯服务,主要面向直播,音视频通话等各种场景。
3166 20
发现一个非常好用的RTC(实时音视频通信)方案,做直播和视频通话都很牛
|
应用服务中间件 Linux nginx
FFmpeg学习笔记(一):实现rtsp推流rtmp以及ffplay完成拉流操作
这篇博客介绍了如何使用FFmpeg实现RTSP推流到RTMP服务器,并使用ffplay进行拉流操作,包括在Windows和Linux系统下的命令示例,以及如何通过HTML页面显示视频流。
3720 0
|
编解码 流计算
直播推流的工作原理是什么
直播推流将视频和音频数据从设备实时传输到服务器并分发给观众,涉及采集、编码、推流、传输、拉流和显示六个关键步骤。首先通过摄像机或麦克风采集音视频,再利用编码器如OBS压缩数据,采用H.264等格式编码,接着通过RTMP等协议推流至服务器,服务器调整格式后通过HLS等协议分发给不同设备,观众即可实时观看。此流程确保了低延迟的全球内容传递。
|
编解码 监控 网络协议
如何使用FFmpeg实现RTSP推送H.264和H.265(HEVC)编码视频
本文详细介绍了如何使用FFmpeg实现RTSP推送H.264和H.265(HEVC)编码视频。内容涵盖环境搭建、编码配置、服务器端与客户端实现等方面,适合视频监控系统和直播平台等应用场景。通过具体命令和示例代码,帮助读者快速上手并实现目标。
3893 6