直播推流拉流概念介绍
先上图
推流,指的是把采集阶段封包好的内容传输到服务器的过程。介绍一下目前有主流的推送协议,以及各自的优缺点。
- RTMP
RTMP是Real Time Messaging Protocol(实时消息传输协议)的缩写,是Adobe公司为Flash/AIR平台和服务器之间音、视频及数据传输开发的实时消息传送协议。RTMP协议基于TCP,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。
RTMP协议中,视频必须是H264编码,音频必须是AAC或MP3编码,且多以flv格式封包。RTMP是目前最主流的流媒体传输协议,对CDN支持良好,实现难度较低,是大多数的直播平台的选择。
不过RTMP有着一个最大的不足——不支持浏览器,且Adobe已不再更新。因此直播服务要支持浏览器的话,需要另外的推送协议支持。
- HLS
Http Live Streaming是由Apple公司定义的基于HTTP的流媒体实时传输协议。它的原理是将整个流分为多个小的文件来下载,每次只下载若干个。服务器端会将最新的直播数据生成新的小文件,客户端只要不停的按顺序播放从服务器获取到的文件,就实现了直播。基本上,HLS是以点播的技术实现了直播的体验。因为每个小文件的时长很短,客户端可以很快地切换码率,以适应不同带宽条件下的播放。
分段推送的技术特点,决定了HLS的延迟一般会高于普通的流媒体直播协议。
传输内容包括两部分:一是M3U8描述文件,二是TS媒体文件。TS媒体文件中的视频必须是H264编码,音频必须是AAC或MP3编码。
由于数据通过HTTP协议传输,所以完全不用考虑防火墙或者代理的问题,而且分段文件的时长很短,不过HLS的
- WebRTC
WebRTC(Web Real-Time Communication),即“源自网页即时通信”。WebRTC是一个支持浏览器进行实时语音、视频对话的开源协议。WebRTC的支持者甚多,Google、Mozilla、Opera推动其成为W3C推荐标准。
WebRTC支持目前的主流浏览器,并且基于SRTP和UDP,即便在网络信号一般的情况下也具备较好的稳定性。
此外,WebRTC可以实现点对点通信,通信双方延时低,是实现“连麦”功能比较好的选择。
拉流是指服务器已有直播内容,用指定地址进行拉取的过程。
直播推流拉流概念介绍相关推荐
- java阿里云直播推流拉流工具类
package com.core.common.utils;import com.alibaba.fastjson.JSONObject;import java.util.HashMap; impor ...
- video 拉流卡顿_【video】视频直播推流拉流慢、卡顿解决方案
一.摘要 视频直播类App当前已经普遍采用CDN来实现访问加速,但还是经常遇到推拉流慢.卡顿的问题,一般是由于调度不精准.域名劫持.终端手机接入网络动态切换等因素导致.结合使用CDN和HTTPDNS可 ...
- 推流拉流RMTP方案:Nginx+ffmpeg/obs+vlc/h5
RMTP方案:Nginx+ffmpeg/obs+vlc/h5 服务器安装 1.依赖 sudo apt-get update sudo apt-get install libpcre3 libpcre ...
- 微信小程序推流拉流live-pusher/live-player示例,使用本地搭建RTMP服务
适用读者: 对微信小程序已经有基本的了解. 例如:小程序账号申请. 常用组件.小程序开发工具 对nodejs已经有基本的了解. 对微信小程序流媒体/实时音视频组件感兴趣的童鞋. 对小鱼易联/小鱼在家, ...
- 【SRS】流媒体服务器(推流+拉流+转流)
文章目录 前言 安装 推流 拉流 转流 前言 课程作业需要搭建一个视频流服务器,最初我采用的是HLS推流方式,发现那延迟卡的我一愣一愣的,这主要还是由于HLS需要等待切片完成.那行吧,那就换一个吧,一 ...
- Android 直播 直播测试拉流播放器和地址
Android 直播 直播测试拉流播放器和地址 直播拉流播放器 直播拉流测试地址 测试类抖音视频 直播拉流播放器 推荐VLC 直播拉流测试地址 香港财经 *****:rtmp://202.69.69. ...
- 不止直播:腾讯云直播MLVB 插件除了推流/拉流还有哪些亮眼功能
在之前几篇的文章中,我们介绍了腾讯云移动直播插件MLVB的一些基础概念()以及移动直播控件可以拓展的直播场景(),今天就来分享MLVB插件除了直播的基础推拉流功能以外还有哪些功能来帮助直播APP和小程 ...
- 直播系统(推流拉流) nginx+JavaCV+springboot
nginx安装配置 1) 下载安装nginx,我下载的版本是nginx-1.7.11.3-Gryphon(提取码:xj6f),下载完成后解压 2) 下载服务器状态检查程序(提取码:i6hw),下载完成 ...
- 一个小时开发的直播推拉流软件来了
一.简介 目前市面上直播推流的软件有很多,拉流也很常见.近期因为业务需要,需要搭建一整套服务端推流,客户端拉流的程序.随即进行了展开研究,花了一个小时做了个基于winfrom桌面版的推拉流软件.另外稍 ...
最新文章
- c++入门之初话结构体
- Qt下的OpenGL 编程(3)绘制平面几何体
- 索引中丢失IN或OUT
- JavaScript作用域学习笔记(ife2015spring学习心得)
- Linux 下Oracle11g 自动随系统启动
- global与nonlocal关键字
- (转)三大博弈定义+结论
- 测试MongoDB的自动分片
- 使用命令重定向操作符 (Redirection Operators)
- Java代码性能优化常用方法
- Java调用Lua脚本(热载实现)
- 毕设日志——linux服务器anaconda下安装caffe
- windows 搭建HTTP文件服务器(Nginx 方式)
- VS2012番茄助手安装破解教程
- 贪吃蛇c加加代码_c语言贪吃蛇代码
- jquery版本共存_多个jQuery版本共存的处理方案
- manjaro设置字体_Manjaro 常用配置
- wdr7660虚拟服务器设置,TP-LINK WDR7660用手机怎么设置?
- phpStudy2018中Apache启动失败
- ElasticSearch中 如何使用“group by“ 进行日 周 月 年统计呢?(ElasticsearchTemplate进行聚合查询)