【知识拓展】音视频中的推流与拉流

简介: 【知识拓展】音视频中的推流与拉流

一、什么是推流?

先来看张图片,看着图再配上文字容易理解:

推流,指的是把采集阶段封包好的内容传输到服务器的过程。其实就是将现场的视频信号传到网络的过程。“推流”对网络要求比较高,如果网络不稳定,直播效果就会很差,观众观看直播时就会发生卡顿等现象,观看体验很是糟糕。

要想用于推流还必须把音视频数据使用传输协议进行封装,变成流数据。常用的流传输协议有RTSP、RTMP、HLS等,使用RTMP传输的延时通常在1–3秒,对于手机直播这种实时性要求非常高的场景,RTMP也成为手机直播中最常用的流传输协议。最后通过一定的Qos算法将音视频流数据推送到网络断,通过CDN进行分发。

在直播场景中,网络不稳定是非常常见的,这时就需要Qos来保证网络不稳情况下的用户观看直播的体验,通常是通过主播端和播放端设置缓存,让码率均匀。另外,针对实时变化的网络状况,动态码率和帧率也是最常用的策略。

直播中使用广泛的“推流协议”一般是RTMP(Real Time Messaging Protocol——实时消息传输协议)。该协议是一个基于TCP的协议族,是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。支持该协议的软件包括Adobe Media Server/Ultrant Media Server/red5等。

二、什么是拉流?

还是先看张图片,看着图再配上文字容易理解:

拉流是指服务器已有直播内容,根据协议类型(如RTMP、RTP、RTSP、HTTP等),与服务器建立连接并接收数据,进行拉取的过程。拉流端的核心处理在播放器端的解码和渲染,在互动直播中还需集成聊天室、点赞和礼物系统等功能。

拉流端现在支持RTMP、HLS、HDL(HTTP-FLV)三种协议,其中,在网络稳定的情况下,对于HDL协议的延时控制可达1s,完全满足互动直播的业务需求。RTMP是Adobe的专利协议,开源软件和开源库都支持的比较好,延时一般在1-3秒。HLS是苹果提出的基于HTTP的流媒体传输协议,优先是跨平台性比较好,HTML5可以直接打开播放,移动端兼容性良好,但是缺点是延迟比较高。

看看RTMP、HLS、HDL(HTTP-FLV)三种协议之间的区别:

【参考资料】

知识性的内容

1、比较详细的说了说推流的过程 : https://www.jianshu.com/p/447df915984e

2、推流拉流的:https://www.jianshu.com/p/e516a5b31480

3、对比 hls 和 rtmp的:http://www.samirchen.com/ios-rtmp-vs-hls/

4、直播原理:https://www.jianshu.com/p/bd42bacbe4cc

5、直播中关键词讲解 : https://www.cnblogs.com/junhuawang/p/7457786.html

6、做直播拉流,准备的一些资料,亲测有效:https://blog.csdn.net/u014600626/article/details/81097101


相关文章
|
6月前
|
网络协议 Linux
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
音视频学习之rtsp推拉流学习2(流媒体服务器ZLMediaKit)
552 0
|
12月前
|
存储 Cloud Native Ubuntu
音视频 ffmpeg命令直播拉流推流
音视频 ffmpeg命令直播拉流推流
|
2月前
|
编解码 流计算
直播推流的工作原理是什么
直播推流将视频和音频数据从设备实时传输到服务器并分发给观众,涉及采集、编码、推流、传输、拉流和显示六个关键步骤。首先通过摄像机或麦克风采集音视频,再利用编码器如OBS压缩数据,采用H.264等格式编码,接着通过RTMP等协议推流至服务器,服务器调整格式后通过HLS等协议分发给不同设备,观众即可实时观看。此流程确保了低延迟的全球内容传递。
|
3月前
|
编解码 网络协议 开发工具
Android平台RTSP|RTMP直播播放器技术接入说明
大牛直播SDK自2015年发布RTSP、RTMP直播播放模块,迭代从未停止,SmartPlayer功能强大、性能强劲、高稳定、超低延迟、超低资源占用。无需赘述,全自研内核,行业内一致认可的跨平台RTSP、RTMP直播播放器。本文以Android平台为例,介绍下如何集成RTSP、RTMP播放模块。
145 0
|
网络协议 算法 网络性能优化
【流媒体】推流与拉流简介
【流媒体】推流与拉流简介
468 0
|
6月前
|
编解码
音视频录制播放原理
音视频录制播放原理
109 1
|
6月前
|
存储 编解码 CDN
【视频媒体】深入了解直播视频流
【视频媒体】深入了解直播视频流
65 0
|
6月前
[音视频 ffmpeg] 复用推流
[音视频 ffmpeg] 复用推流
|
移动开发 编解码 缓存
【知识拓展】音视频中的推流与拉流
【知识拓展】音视频中的推流与拉流
393 1
|
12月前
|
存储 Cloud Native Linux
音视频 ffplay命令播放媒体
音视频 ffplay命令播放媒体