直播推流拉流概念介绍

先上图



推流,指的是把采集阶段封包好的内容传输到服务器的过程。介绍一下目前有主流的推送协议,以及各自的优缺点。

  • 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可以实现点对点通信,通信双方延时低,是实现“连麦”功能比较好的选择。

拉流是指服务器已有直播内容,用指定地址进行拉取的过程。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/54118.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

做直播拉流 , 准备的一些资料,亲测有效

知识性的内容 比较详细的说了说推流的过程 : https://www.jianshu.com/p/447df915984e 推流拉流的:https://www.jianshu.com/p/e516a5b31480 对比 hls 和 rtmp的:http://www.samirchen.com/ios-rtmp-vs-hls/ 直播原理:https:/…

使用软件实现直播推流

rtmp媒体服务器:这里使用srs :https://github.com/ossrs/srs 首先clone到本地,进入到trunk目录: git clone https://github.com/ossrs/srs.git cd srs/trunk ./configure 最后执行:make 执行成功后,就…

直播平台入门到精通-推流拉流

推流:将直播内容推送至服务器的过程 拉流:为服务器已有直播内容,用指定地址进行拉取的过程 推流与拉流示意图 推流码: RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。 一种设计用…

玩转引流新思路——小程序直播

前言: 说到直播相信大家对它都不陌生,作为近几年的热门娱乐模式,逐渐渗透到现在的各行各业,它能够更全面地传递商品信息,可以通过聚集的人气去营造团购氛围,能够去打造用户的应用场景,增强粉丝…

Python实现推流直播

Python实现推流直播 首先给出展示结果,大体就是检测工业板子是否出现。采取检测的方法比较简单,用的OpenCV的模板检测。 大体思路 opencv读取视频将视频分割为帧对每一帧进行处理(opencv模板匹配)在将此帧写入pipe管道利用ffmpeg进行推流直播 中间遇…

直播-拉流和推流概述

拉流(播放) 根据协议类型(如RTMP、RTP、RTSP、HTTP等),与服务器建立连接并接收数据; 解析二进制数据,从中找到相关流信息;根据不同的封装格式(如FLV、TS)解…

网红直播辅助推流设备(可同时多平台推流直播)

1. 多平台推流需求 许多刚入行的小主播,不知道哪个平台适合自己,也不知道哪个平台的流量最好,因此都很希望能同时在多个平台尝试,鸡蛋分开放到多个篮子是最安全的。这就催生了多平台推流的需求。 2. 软件方案 在百度上搜索多平…

微信直播如何引流获客?

微信作为国内最大的社交平台,拥有巨大的流量,很多商家因此想通过微信直播进行引流获客。但是对于不同的行业,不同的领域的商家来说,直播引流获客的方式也不同,如创客匠人平台打通微信直播渠道,通过多种工具…

H5直播之从推流服务搭建到视频直播

最近视频直播比较火,发现目前 WEB 上主流的视频直播方案有 HLS 和 RTMP,移动 WEB 端目前以 HLS 为主,PC端则以 RTMP 为主实时性较好,接下来将围绕这两种视频流协议来展开H5直播主题分享,下面通过本文给大家分享HTML5视…

chatgpt赋能python:Python中连接函数的使用

Python中连接函数的使用 在Python编程中,连接函数是一个非常重要的部分。连接函数主要是用来连接字符串和序列。它可以把多个字符串或序列合并成一个字符串或序列。本篇文章将介绍Python中连接函数的基本用法。 连接字符串 使用加号()可以…

chatgpt赋能python:Python内连接介绍

Python内连接介绍 Python是一种高级编程语言,因其简单易懂、易于学习、高效易用而备受欢迎。内连接是Python编程中的一个重要概念,其可以用于连接两个或更多数据集,极大地方便了数据的处理和分析。 Python内连接是指通过相同的列将两个或更…

chatgpt赋能python:Python连接Hive:深度剖析

Python连接Hive:深度剖析 简介 近年来,数据分析和处理在企业中扮演着越来越重要的角色。因此,数据仓库系统(如Hive)的需求也越来越迫切。对于数据分析工程师和开发人员而言,Hive提供了一种基于Hadoop的SQ…

chatgpt赋能python:Python如何连接数据库?

Python如何连接数据库? Python作为一种高级编程语言,已经被广泛应用于数据科学和Web开发。连接数据库是Python的一项重要功能,可以使我们的代码访问各种数据源来收集、分析和存储数据。在这篇文章中,我们将介绍Python如何连接各种…

【VMware workstation】虚拟机/主机互相ping不通的问题排查

环境:主机 Windows10 VMware workstation pro; 虚拟机 Windows XP 参考:VMware虚拟机和主机互相ping不通排查以及解决 workstation下载:感谢原作者!截止到目前是可用的 问题描述 虚拟机无法上网,主机与虚拟机互相pi…

免费主机 虚拟主机 香港虚拟主机

免费主机 虚拟主机 香港虚拟主机http://zhuji.zzhinan.com/

虚拟呼叫中心运营管理平台压力测试

今次将以实际的案例来说明,asterisk 的并发量,通过对比发现asterisk 1.8 性能比asterisk1.4 版本高了很多。 普通4线程的CPU,2G 内存,Asterisk 1.8 运行100路并发,系统负载最大负载也只有到1,但是Asterisk …

host-only模式,主机能ping通虚拟机,虚拟机无法ping通主机解决办法

一、问题描述 今天配环境发现VMware下的虚拟机处于host-only模式时:主机能ping通虚拟机,虚拟机无法ping通主机。 二、解决办法 1、打开控制面板—->Windows防火墙——>允许应用或功能xxx 2.勾选“文件和打印机共享” 然后点确定。

为什么VM虚拟机ping得通主机,但主机ping不通虚拟机?

云计算这门课程要搭建hadoop集群环境,我就按着老师得要求,在我win 10里的VMware中安装了Ubuntu。 确认安装Hadoop,然后两台机子还要互ping。之前的步骤顺风顺水,到这一步就出现问题了。我主机ping不通虚拟机,但是Ubun…

VMware 主机与虚拟机ping不通问题

VMnet1:是host-only,也就是说,选择用VMnet1就相当于VMware提供了一台虚拟机,仅虚拟机和真实系统连接,虚拟机可用与真实系统共享文件,但是虚拟机无法访问外网 VMnet8:是网络地址转换&#xff08…

为什么选择香港虚拟主机?

虚拟主机的工作原理是在单个物理服务器托管多个站点——在这台共享的服务器上,各种用户以非常低的成本来享受资源配置,适合不需要高级配置或流量不高的小型网站。而位于香港数据中心的虚拟主机通常拥有免备案、高稳定性的特点,尤其适合拓宽国…