【音视频处理】直播工作原理,直播CDN、推流拉流、流媒体服务究竟是什么

12 篇文章 22 订阅
订阅专栏

大家好,欢迎来到停止重构的频道。

本期我们讨论直播技术

我们将会介绍,直播工作原理,流媒体服务的作用,推流/拉流、直播CDN等等。

这里需要特别说明的是,直播指的是:1对多的直播,平常直播平台的那种,至于视频会议是另外一种场景。

我们按这样的顺序讨论 :

1、  直播工作原理 

2、  直播源数据获取

3、  直播转码

4、  直播流输出及直播CDN 

直播的工作原理

大体上,直播的工作原理与视频文件的转码工作原理是一样的

在往期视频转码工作原理中介绍过完整的视频转码工作原理是,解封装->解码->处理->编码->封装这一流式过程。

直播与视频文件转码的最大区别是封装格式上,直播需要在直播源接收以及直播输出这一头一尾做特殊处理。

 

一般情况下,直播需要从网络接收直播源的视频数据,也需要把处理后的视频数据输出到网络上。

所以在直播系统中,除了视频转码程序以外,还需要两个流媒体服务。

一个用于获取直播源数据,转码程序从这个流媒体服务中拉取视频流处理。

另一个用于用户拉取视频流观看,转码程序会不断将处理完的视频数据推送到这个流媒体服务中。

流媒体服务的具体软件根据不同视频流协议而不同,当然,如果直播推流协议和直播观看协议是相同的话,也可以只用一个流媒体服务。

这里顺便一提,拉取、推送视频流数据也就是常听到的拉流、推流。你可能发现,一个流媒体服务即可以被推流也可以被拉流,甚至拉流和推流的地址是完全一样的。

实质上,流媒体服务就是视频流数据的中转站,流媒体服务会在内存中实时存储视频流的一部分数据,随着时间的推移,数据会被循环覆盖。

所以一般场景下,直播工作原理可以简化为,直播流数据获取->直播转码->直播流数据输出

 

直播源数据获取

接下来我们详细讨论直播源数据获取,直播源数据一般是通过网络传输的,所以一般需要流媒体服务作为视频数据的中转站。但实际上由于具体协议与应用场景的不同,会有一些区别

比如直播平台直播的场景下,也就是一般场景下,主播需要将视频流推送直播平台的流媒体服务。协议一般为RTMP,流媒体服务软件可以是SRS、加入了rtmp-server插件的Nginx等等。

 

如果是转播的场景则不需要自身系统的流媒体服务参与接收视频转码软件直接拉取对方的视频流即可,实际上就是直接拉取对方系统的流媒体服务的视频流数据。

此时的协议可能是RTMP、HLS、HTTP-FLV、RTSP等等。但无论是什么协议,提供流媒体服务的是对方系统,只要自身的视频转码软件支持这个协议就可以了。

 

还有一种场景是文件直播,业务上也被称为录播,其实就是直播源是视频文件,这种场景下也不需要流媒体服务参与接收,只需要视频转码软件按播放时间慢慢读取就可以了。

 

直播转码

直播转码也就是视频转码,这里可以对直播流加上水印、高清/流畅转换、码率限制、直播录像等等。

直播转码程序其实与视频文件转码程序大体上区别不大,一些简单的功能,如高清/流畅转码、码率限制等等,甚至可以通过设置一些流媒体服务软件就可以实现了。

 

顺便一提,如果不需要任何转码处理,且没有安全权限等设置的话,是可以直接从流媒体服务中拉取视频观流看的,且推流和观看地址一般是一样的。

研发直播转码程序的意义在于一些高级功能,如直播倒计时、信号中断自动补帧、导播/轮播、画中画等等。这部分正是一个直播系统的技术核心,毕竟流媒体服务软件一般是与协议绑定且现成的。

当然这部分的实现是非常复杂的,但正是音视频处理的核心内容,这些内容将会在后续内容中根据具体问题详细讨论,这里先不展开讨论。

直播流输出及直播CDN

在处理完视频源后,需要将视频数据输出到流媒体服务,用户从流媒体服务中拉取视频流数据就可以观看了。

直播流观看的协议一般是HTTP-FLV、HLS等等。如果是延迟度要求高 则一般使用RTMP、WEBRTC等等。需要注意的是 RTMP协议目前主流浏览器是不支持的(禁用了Flash)。

 

另外,用户直接拉取流媒体服务的视频流是可以观看的,但是这样占用的带宽是很大的,视频码率的单位和带宽的单位是一样的,如果视频流的码率是2Mbps,服务器带宽是100Mbps,则理论上支持50人观看。

如果观看人数很多,则需要使用直播CDN,直播CDN实际上也可以看作是流媒体服务,只是它有很多边缘节点,分摊了请求压力。

如果是使用直播CDN的话,视频转码软件直接将视频流数据输出到直播CDN即可,一般是通过RTMP协议推送到CDN服务。

当然也有主动拉取的CDN服务,但主动拉取的CDN服务不建议使用,因为主动拉取的CDN服务可能会同时存在多个服务器回源,这样就很难准确预估带宽的需要。

另外,直播CDN一般提供自动转观看协议的功能,一般会提供RTMP、HTTP-FLV、WEBRTC、HLS等协议的观看地址。

 

但一般直播CDN是不提供转码服务的,如高清、流畅转换等 一般需要额外的直播转码云服务或自己的视频转码软件。

因为观看协议转换实际上就是视频转码中的重封装,就是解封装后直接重新封装,是不怎么消耗性能的。但是转码是非常耗性能的,一般视频转码的云服务都是按时间计算费用的。

​总结

本期介绍了直播的工作原理,里面提到了很多协议,直播的常用协议将会在下一期详细展开。

CDN直播中的运用
KQe397773106的博客
03-01 1237
CDN的全称为Content Delivery Network,即内容分发网络,是一个策略性部署的整体系统,主要用来解决由于网络带宽小、用户访问量大、网点分布不均匀等导致用户访问网站速度慢的问题。这中间就有了很多的CDN节点,简单一点理解就相当于我们开始学习计算机选择网络。具体实现是通过在现有的网络中,增加一层新的网络架构,将网站的内容发布到离用户最近的网络节点上,这样用户可以就近获取所需的内容,解决之前网络拥塞、访问延迟高的问题,提高用户体验。
CDN流媒体和应用分发的支持及优化 | 高可用CDN架构详解
weixin_45583158的博客
08-07 1103
此文是根据马涛在【QCon高可用架构群】中的分享内容整理而成,转发请注明出处。马涛,前迅雷网络CDN系统研发工程师,也曾任EMC/Pivotal大数据处理系统Hawq研发...
直播 CDN 分发网络(基本业务)
AlexWoo0501的博客
03-07 3253
直播 CDN 分发网络(基本业务) 传统直播一般是基于 CDN 网络进行分发,可支持大规模并发(并发数取决于 CDN 网络容量)。与传统 CDN 的大文件,小文件分发不同,由于主播分布区域分散,一般除了提供播放端的下行分发网络外,还提供上行主播推流汇聚网络。只有一些直播内容资源集中的业务方,会要求直播 CDN 直接回自己的源站,如电视台。 上行汇聚 目前传统直播 CDN 上行一般使用...
Android IOS WebRTC 音视频开发总结(五八)-- 图文解说视频直播原理
weixin_34238642的博客
01-08 259
本文主要介绍rtmp&hls视频直播原理,文章最早发表在我们的微信公众号上,详见这里,欢迎关注微信公众号blackerteam,更多详见www.blackerteam.com   现在视频直播很火,应用场景很多,比如在线教育、美女秀场、在线医疗、电商活动、游戏直播、体育直播,中国好声音。   市面上与之相关的app也很多,比如搜狐视频、乐视体育、虎牙直播、9158,作为it人员我们...
直播相关讲解 -- 视频直播技术大全、直播架构、技术原理和实现思路方案整理(转载)
暖暖的博客
11-27 4940
转载自:视频直播技术大全、直播架构、技术原理和实现思路方案整理_AI架构师易筋-CSDN博客_直播技术说明本文包括原理篇/思路篇/实践篇/方案篇/前端篇/总结直播难:个人认为要想把直播从零开始做出来,绝对是牛逼中的牛逼,大牛中的大牛,因为直播中运用到的技术难点非常之多,视频/音频处理,图形处理,视频/音频压缩,CDN分发,即时通讯等技术,每一个技术都够你学几年的。直播易:已经有各个领域的大牛,封装好了许多牛逼的框架,我们只需要用别人写好的框架,就能快速的搭建一个直播app,也就是传说中的站在大牛肩膀上编程。
CDN直播讲解
uestc_lxp的专栏
10-11 1302
到处都在谈直播直播技术目前越来越大众化,但也面临着更多的挑战。本次分享主要介绍直播的一般流程,CDN的技术原理及架构,CDN直播技术的难点和对应的解决方案。希望能够给大家带来帮助,更希望能推动实时直播技术的改进和改革。下面是本文的要点: 直播的一般流程; CDN的技术原理及架构; CDN直播的技术难点和应对方案; 基于SD-RTN的,针对低延迟、强互动场景的直播技术。 直播的流程 正如上图所示,整个直播流程分为以下几个关键步骤: 主播客户端,将本
音视频直播CDN介绍
微信公众号: 后端码匠
11-03 977
以下内容是从一个运维的角度看待问题,主要借鉴了某某云和某站的直播架构总结的经验,还加入了一些自己的思考,希望能在CDN这条道路上走得更远。主播推流直播中心接收流边缘节点为用户提供分发可以参考云厂商官方文档的介绍。
我的直播需要使用CDN吗?
Alex_joker的博客
05-24 213
在本文中,我们将会讨论:你为什么应该在下一场直播中使用CDN,以及它是如何影响终端用户体验的。 我的直播需要使用CDN吗? 答案非常简单:是的!使用CDN将有助于: 服务在地理位置上广泛分布的观众 减少源服务器的负载 降低延迟 减少视频缓冲 防御DDoS攻击,从而提升安全性 其他还有很多! 但是,你知道为什么CDN会帮助你提升直播性能吗?为了理解其中的原因,让我们来看下CDN是如何工作的。 什么是CDN? 正如上文所提到的,CDN(内容分发网络)将
iOS视频推流拉流原理
irainsa的博客
03-15 978
Real Time Messaging Protocol(简称 RTMP)是 Macromedia 开发的一套视频直播协议。和 HLS 一样都可以应用于视频直播,区别是 RTMP 基于 flash 无法在 ios 的浏览器里播放,但是实时性比 HLS 要好。所以一般使用这种协议来上传视频流,也就是视频流推送到服务器。对比:RTMP 首先就是延迟低,基于TCP的长链接,对于数据处理及时,收到即刻发送,推荐使用场景:即时互动。HLS 延迟高,短链接,原理是集合了一段时间的视频数据,切割ts片,逐个下载播放。
【SRS】流媒体服务器(推流+拉流+转流)
irainsa的博客
11-19 599
环境ubuntu16.04make编译完之后可以执行make install,默认是安装到/usr/local/srs 配置文件:/usr/local/srs/conf/rtmp.conf listen 6666;vhost defaultVhost { } 其中listen默认为1935,是rtmp流推送的默认端口;max_connections值最大连接;
一秒延时直播CDN+P2P服务分析-
08-24
一秒延时直播CDN+P2P服务分析 直播发展 市场直播CDN BMS VS YFMS 点播VS直播峰值 直播CDN+P2P的应用
hls拉流实例1,hls推流,C#源码.rar
10-10
推流端通常由直播编码软件或硬件实现,它们将摄像头或其他音视频输入源的数据编码成H264/AAC等格式,然后通过特定的协议(如RTMP、SRT等)推送到支持HLS的服务器。 三、C#实现HLS推流拉流 1. C#实现HLS推流: 在...
FFmpeg入门详解之83:流媒体直播技术
福优学苑@音视频+流媒体
10-14 1792
流媒体又叫,它是这个过程的一系列相关的包称为“流”。流媒体实际指的是一种新的媒体传送方式,而非一种新的媒体。流媒体技术全面应用后,人们在网上聊天可直接语音输入;如果想彼此看见对方的容貌、表情,只要双方各有一个摄像头就可以了;在网上看到感兴趣的商品,点击以后,讲解员和商品的影像就会跳出来;更有真实感的影像新闻也会出现。流媒体技术发端于美国,在美国目前流媒体的应用已很普遍,比如惠普公司的产品发布和销售人员培训都用网络视频进行。所谓流媒体是指。
Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
最新发布
走向CTO的路上...
06-14 1054
本项目介绍如何在Linux下利用Nginx和ffmpeg搭建Rtmp流媒体服务器,实现视频直播功能。在Linux环境中,Nginx是一个高性能的HTTP和反向代理服务器,通过集成Nginx RTMP模块(nginx-rtmp-module),可以将其扩展为支持RTMP(Real-Time Messaging Protocol)协议的流媒体服务器。这种配置使得Nginx能够接收、处理和分发实时音视频流,从而实现视频直播功能。
什么是CDN
zhaohong_bo的专栏
04-26 4050
** 一、cdn简介 ** CDN的全称是Content Delivery Network,即内容分发网络。其目的是通过在现有的internet中增加一层新的网络架构,将网站的内容发布到最接近用户的网络边缘,使用户可以就近取得所需的内容,提高用户访问网站的响应速度。CDN有别于镜像,因为它比镜像更智能,或者可以做这样一个比喻:CDN=更智能的镜像+缓存+流量导流。因而,CDN可以明显提高Inter...
直播原理,直播CDN及相关协议
cristianoxm的博客
12-16 1202
它可以与常见的传输协议如RTP(Real-time Transport Protocol)结合使用,以在网络上传输实时音视频流。HLS(HTTP Live Streaming)是一种基于HTTP的流媒体传输协议,主要用于实现在互联网上通过 HTTP 协议传输音视频内容。由于基于UDP,也可用于一些交互性较高的直播场景,例如直播带货,但如果用于直播场景,则需要在中间架设webRTC服务器。Streaming,ABR),可以根据观众的网络条件和设备性能,动态调整传输的码率,以提供更好的观看体验。
快速实现 CDN 直播
ZEGO即构科技
08-12 1019
ZEGO Express SDK 支持推流CDN(Content Delivery Network,内容分发网络),包括转推 CDN 和直推 CDN 两种功能。开发者基于该功能可打通 RTC 产品和 CDN 直播产品,方便用户从网页或第三方播放器直接观看和收听直播内容。为了保证安全,推流CDN 时默认开启 CDN 鉴权。为防止攻击者盗取或伪造您的推流 URL 地址,您可以参考。...
cdn技术简介(偏直播方向)
Dont_talk的博客
11-26 532
CDN的全称为Content Delivery Network,即内容分发网络,是一个策略性部署的整体系统,主要用来解决由于网络带宽小、用户访问量大、网点分布不均匀等导致用户访问网站速度慢的问题。如果把某个互联网系统比喻为一家企业,那内容分发网络就是它遍布世界各地的分支销售机构。一个运作良好的内容分发网络,能为互联网系统解决跨运营商、跨地域物理距离所导致的时延问题,能为网站流量带宽起到分流、减负的作用。网站服务器接入网络运营商的链路所能提供的出口带宽。
视频点播cdn加速\直播cdn加速解决方案
abb187998的博客
09-26 1653
视频点播cdn加速\直播cdn加速解决方案 随着互联网的发展,短视频娱乐等越来越受到欢迎,很多视频媒体网站,要想保证用户的访问速度,就需要使用cdn加速。视频cdn加速可以分为点播cdn加速,直播cdn加速,他俩之间有什么区别呢? 什么是点播cdn加速? 视频内容已经存放在服务器上,我们通过网络筛选自己想要看的视频,然后进行播放,这种形式的cdn加速就叫点播cdn加速。 支持在线点播加速业务,如mp4、flv视频文件的点播加速。主要的业务场景是视频点播,建议可以搭配对象存储BOS服务,可提升回源速度,节
写文章

热门文章

  • linux wifi开机自动连接 wifi连接 10404
  • 从0开发10几个大型软件项目后总结低代码不完全是软件的未来-打造国内首个面向项目过程的架构平台。 8941
  • Web网页播放器 7589
  • Web网页播放器制作(videojs7)-(一)入门 5974
  • 【音视频处理】RTMP、HLS、HTTP-FLV、WebRTC、RTSP的区别?直播协议详解 5229

分类专栏

  • 基础技术 6篇
  • 开源框架 5篇
  • 经验分享 3篇
  • 音视频处理 12篇
  • 前端架构 8篇
  • 后端架构 10篇
  • 宏观整体架构 15篇
  • 架构概述 6篇
  • 杂谈 8篇

最新评论

  • 【网站架构】软件架构是什么?

    M_iilk: 写的这么好,简洁,明确,看的人却不多,可惜

  • 【开源】后端模块化轻框架,让SpringBoot开发效率激增,低代码内核,所有代码只写1次

    停止重构: Once2框架 【github】https://github.com/YiiGaa/Once 【gitee】https://gitee.com/yiigaa/Once 【文档说明】https://stoprefactoring.com/#content@content#framework/once/

  • 【开源】后端模块化轻框架,让SpringBoot开发效率激增,低代码内核,所有代码只写1次

    停止重构: Once2框架 【github】https://github.com/YiiGaa/Once 【gitee】https://gitee.com/yiigaa/Once 【文档说明】https://stoprefactoring.com/#content@content#framework/once/

  • 代码管理 详解,用好Git

    CSDN-Ada助手: 不知道 CS入门 技能树是否可以帮到你:https://edu.csdn.net/skill/gml?utm_source=AI_act_gml

  • 代码管理 详解,用好Git

    CSDN-Ada助手: 推荐 CS入门 技能树:https://edu.csdn.net/skill/gml?utm_source=AI_act_gml

大家在看

  • ROS激光雷达介绍 344
  • 数学建模 第二讲 - 初等建模
  • NOIP 2016 普及组初赛试题及解析(第四部分:完善程序(1-2))
  • ArcGIS10.2/10.6安装包下载与安装(附详细安装步骤) 199
  • 【2024华为杯D题】大数据驱动的地理综合问题思路、代码、论文助攻

最新文章

  • Jenkins 详解,几分钟学会,自动编译/部署/发布软件
  • 【开源】后端模块化轻框架,让SpringBoot开发效率激增,低代码内核,所有代码只写1次
  • 【经验】不写注释 提升代码易读性的秘诀
2024年6篇
2023年23篇
2022年41篇
2019年6篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家菏泽佛像校园玻璃钢景观雕塑四川室内商场美陈怎么样达州玻璃钢雕塑摆件加工定制美陈商场方案动物玻璃钢雕塑批发价格商场模特美陈大理市玻璃钢雕塑哪里买烟台玻璃钢卡通雕塑价格范围酒店玻璃钢雕塑定做嵩明玻璃钢仿真雕塑玻璃钢草莓雕塑佛山玻璃钢浮雕雕塑品牌河北中庭商场美陈批发价衢州玻璃钢人物雕塑价格范围石家庄景区玻璃钢雕塑哪家便宜玻璃钢瓜果雕塑价格临沧市玻璃钢雕塑设计公司玻璃钢雕塑厂商定制山东周年庆典商场美陈批发价清远玻璃钢楼盘景观雕塑定制厂家玻璃钢茶杯雕塑梅州玻璃钢雕塑代理价格贺州广西玻璃钢造型雕塑玻璃钢雕塑3d建模清远党建文化玻璃钢雕塑苏南广场玻璃钢雕塑设计合浦玻璃钢雕塑公司淄博市玻璃钢人物雕塑供应商阳江玻璃钢果蔬雕塑潍坊玻璃钢雕塑制作香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化