美文网首页
直播推拉流是什么

直播推拉流是什么

作者: zewweb | 来源:发表于2022-04-12 15:03 被阅读0次

关键词 Live Stream

前言

本文简单的介绍了一下直播视频推拉流相关概念以及优缺点。

推流

概念

推流,顾名思义,就是将采集阶段封包好的内容传输到服务器的过程。

流程

  1. 经过输出设备(AVCaptureVideoDataOutput)得到原始的采样数据--视频数据(YUV)和音频数据(AAC);
  2. 使用硬编码(对应系统的API)或软编码(FFMpeg)来编码压缩音视频数据;
  3. 分别得到已编码的H.264视频数据和AAC音频数据;
  4. 根据不同的封装格式(如FLV、TS、MPEG-TS)
  5. 通过流上传到服务器;
  6. 服务器进行相关协议的分发

主流推送协议

RTMP
概念

RTMP是RealTime Messaging Protocol(实时消息传输协议)的缩写,是Adobe公司为Flash/AIR平台和服务器之间音、视频及数据传输开发的实时消息传送协议。RTMP协议基干TCP包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。

RTMP协议中,视频必须是H264编码,音频必须是AAC或MP3编码,且多以flv格式封包。

优点
  1. 难度低:目前最主流的流媒体传输协议,对CDN支持良好,实现难度较低,是大多数的直播平台的选择
  2. 实时性高:RTMP的实时性在3秒之内
  3. 支持加密:RTMPE和RTMPS为加密协议
  4. 稳定性高:在PC平台上flash播放的最稳定方式是RTMP,
  5. 编码器接入:能在不同编码器之间切换,那么RTMP作为服务器的输入协议会是最好的选择。系统容错:RTMP的流没有标识,切到其他的服务器的流也可以继续播放
  6. 可监控:在监控系统或者运维系统的角度看,流协议应该比较合适监控。
缺点
  1. 不支持浏览器,目Adobe已不再更新。因此直播服务要支持浏览器的话,需要另外的推送协议支持。
  2. 协议复杂
HTTP
优点
  1. 性能很高:。如果分发的量特别大,譬如点播视频网站,没有直播的实时性要求,HTTP协议是最好选择。
  2. 没有碎片
  3. 穿墙
缺点
  1. 实时性差:基本上没有实时性这个说法。
  2. 原生支持不好
HLS
概念

Http Live Streaming是由Apple公司定义的基于HTTP的流媒体实时传输协议。它的原理是将整个流分为多个小的文件来下载,每次只下载若干个。服务器端会将最新的直播数据生成新的小文件,客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。基本上,HLS是以点播的技术实现了直播的体验。因为每个小文件的时长很短,客户端可以很快地切换码率,以适应不同带宽条件下的播放。

优点
  1. 性能高:和HTTP一样。
  2. 穿墙:和HTTP一样。
  3. 原生支持很好:IOS上支持完美。Android上支持差些。PC/flash上现在也有各种as插件支持HLS。
缺点
  1. 实时性差:基本上HLS的延迟在10秒以上。
  2. 文件碎片:若分发HLS,码流低,切片较小时,小文件分发不是很友好。特别是一些对存储比较敏感的情况,譬如源站的存储,嵌入式的SD卡。
WebRTC
概念

WebRTC(Web Real-Time Communication),即“源自网页即时通信”。WebRTC是一个支持浏览器进行实时语音、视频对话的开源协议。WebRTC的支持者甚多,Google、Mozilla、Opera推动其成为W3C推荐标准。

优点
  1. 兼容性好:支持目前的主流浏览器,并且基于SRTP和UDP,即便在网络信号一般的情况下也具备较好的稳定性。
  2. 延时低:可以实现点对点通信,通信双方延时低,是实现“连麦”功能比较好的选择。

拉流

概念

指服务器已有直播内容,用指定地址进行拉取的过程。根据协议类型(如RTMP、RTP、RTSP、HTTP等),与服务器建立连接并接收数据;

流程

当客户可提供源服务器时,无需源站进行推流配置,网宿CDN系统直接从客户源服务器拉取直播数据流。

后言

希望本文会对你有所帮助,如果有什么问题,可在下方留言沟通

相关文章

  • 直播推拉流是什么

    关键词 Live Stream 前言 本文简单的介绍了一下直播视频推拉流相关概念以及优缺点。 推流 概念 推流,顾...

  • 直播推拉流

    https://blog.csdn.net/sunxiaopengsun/article/details/6288...

  • ffmpeg直播推拉流

    推流 -re减慢帧率速率-c 音视频编码方式-f flv 已flv文件格式 拉流

  • iOS-直播推拉流

    1 . 音视频处理的一般流程: 数据采集→数据编码→数据传输(流媒体服务器) →解码数据→播放显示 1、数据采集:...

  • FFmpeg - Android 直播推拉流

    1. 搭建自己的流媒体服务器 在实际的开发过程中,我们是可以不用自己来搭建流媒体服务器的,访问后台的接口会返回媒体...

  • 直播资料整理

    直播 直播推拉流概念推流:指的是把采集阶段封包好的内容传输到服务器的过程拉流:是指服务器已有直播内容,用指定地址进...

  • 微信原生组件|基于小程序实现音视频通话

    1 微信小程序原生推拉流组件功能简介 本文将介绍如何使用微信小程序原生推拉流组件 和 进行推拉流,快速实现...

  • 视频直播推拉流之初体验

    目前我学习的是大神已经写的框架即 LFLiveKit 推流 LFLiveKit这个推流框架的关键类是LFLiveS...

  • 配置直播推拉流地址的CNAME

    准备域名 如:welcome.com 在直播控制台生成推拉流的地址: 此时我们可能先把要推的地址填上,如:push...

  • java实现直播(推拉流)和保存直播视频

    首先墨迹一下前提:公司接了个电商的项目,然后甲方要求有类似于淘宝的直播的功能。重点是!!!甲方爸爸不愿意除阿里云直...

网友评论

      本文标题:直播推拉流是什么

      本文链接:https://www.haomeiwen.com/subject/eofnsrtx.html