前言

今天和大家讲一下音视频直播技术架构。之前的关注点主要放在客户端如何采集音频数据上,经过这两天的思考,我觉得应该先给大家讲一下音视频直播技术架构,这样更容易从整体上理解视频直播技术是如何运转的,之后再逐步的介绍每一个主题。

简单的音视频直播架构

直播架构

这种架构非常的简单,利用已经有的CDN网络如阿里,帝联,蓝讯等,自己再搭建一个信令服务器,这样就将服务层搭建好了。

共享者首先向信令服务器发送共享音视频指令,之后通过 Camera 或 摄像头采集数据,数据经编码后通过RTMP协议将流推送给CDN网络。

接收端向信令服务器发指令,获取共享者共享的流名称,然后通过流名称从CDN网络拉取音视频流,再经过解码后渲染在屏幕上。

实时交互的音视频直播架构

直播架构

这种架构与上一种比要复杂不少,其中最主要的差别是增加了自有网络。客户端通过 UDP 进行数据传输,这样可以大大减少由于网络及CDN结构导致的音视频延迟问题。

共享者共享音视频时,都是通过UDP协议上传到自有网络服务器上。如果有其它参与人要与共享者进行实时互动,那么参与者也是通过UDP连接到自有网络,这样才能达到实时互动的效果。

共享者的音视频数据上传到自有网络后,还要通过专门的服务将数据流转成RTMP流推到CDN网络,这样对于大多数不参与时实互动的用户就可以从CDN获取数音视频数据了。

这种架构既可以满足实时互动的需求,也可以满足大批用户只观看不互动的需求。

解决高负载大并发问题

直播架构

为了解决实时互动大负载,高并发的问题,需要增加资源管理服务器,实时监测各服务的资源。第次当用户共享音视频时,资源管理器都可以分配最佳的服务器给共享用户使用,并且服务器资源可以根据需要横向扩容。

注意 为了增加执行效率,服务端基本都是用 C/C++ 程序编写。

小结

实时互动直播是未来的直播趋势,大看可以看一下我另一篇文章音视频直播漫谈中的介绍。有了这个架构我们后面就可以逐步的给大家讲解每个主题。如 Android、IOS、windows、mac下如何进行音视频数据采集,如何进行编码,是采用硬编还是使用软编?它们各自有什么优势,如何使用 opengl 进行渲染,如何进行网络优化等等。

作者:音视频直播技术专家
链接:https://www.jianshu.com/p/db3482971758
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

音视频直播--技术架构相关推荐

  1. 微信直播服务器架构,音视频直播--技术架构—易龙天

    今天和大家讲一下音视频直播技术架构.之前的关注点主要放在客户端如何采集音频数据上,经过这两天的思考,我觉得应该先给大家讲一下音视频直播技术架构,这样更容易从整体上理解视频直播技术是如何运转的,之后再逐 ...

  2. 音视频开发(23)---音视频直播技术--10分钟搭建好直播平台

    音视频直播技术--10分钟搭建好直播平台 前言 今天给大家讲一下如何搭建最简单的音视频直播平台.在之前的文章中我已经给大家介绍过音视频直播技术架构,没看过的同学可以看一下.了解了直播的技术架构,我们就 ...

  3. 移动端实时音视频直播技术详解(一):开篇

    移动端实时音视频直播技术详解(一):开篇 1.引言 随着互联网用户消费内容和交互方式的升级,支撑这些内容和交互方式的基础设施也正在悄悄发生变革.手机设备拍摄视频能力和网络的升级催生了大家对视频直播领域 ...

  4. 【音视频第6天】基础知识-移动端实时音视频直播技术详解和开源工程WebRTC的技术原理和使用浅析

    本文是系列文章中的第1篇,本系列文章的大纲如下: <移动端实时音视频直播技术详解(一):开篇> <移动端实时音视频直播技术详解(二):采集> <移动端实时音视频直播技术详 ...

  5. 关于音视频直播技术的总结

    流媒体协议 流媒体协议是服务器与客户端之间通信遵循的规定.当前网络上主要的流媒体协议如图所示. 直播平台参数对比 主流互联网视音频平台直播服务的参数对比如图所示: 直播技术架构图: 可以看到直播的流程 ...

  6. 一对一语音直播系统源码——如何解决音视频直播技术难点

    直播作为对实时性和互动性要求较高的音视频应用场景,存在着诸多技术难点,即使是一对一的直播模式也不例外.低延迟.流畅性.回波消除.国内外互操作性.大规模并发等问题都是开发过程中的难点.但是,在开发过程中 ...

  7. 如何快速搭建超火爆的视频直播技术架构

    开课啦开课啦!小伙伴们快搬好板凳做好~ 课程简介: 本次课程主要针对直播.流媒体行业的开发者或爱好者,分享在国内错综复杂的网络情况下,如何构建一个高并发.稳定.低延时的直播系统,以及过程中重点解决的问 ...

  8. 即时通讯开发时移动端实时音视频直播技术之处理

    视频或者音频完成采集之后得到原始数据,为了增强一些现场效果或者加上一些额外的效果,我们一般会在将其编码压缩前进行处理,比如打上时间戳或者公司 Logo 的水印,祛斑美颜和声音混淆等处理.在主播和观众连 ...

  9. 移动端实时音视频直播技术中推流和传输详解

    推流是直播的第一公里,直播的推流对这个直播链路影响非常大,如果推流的网络不稳定,无论我们如何做优化,观众的体验都会很糟糕.所以也是我们排查问题的第一步,如何系统地解决这类问题需要我们对相关理论有基础的 ...

最新文章

  1. 基坑计算理论m法弹性支点法_基坑支护结构设计应注意的一些问题
  2. 虚拟仪器软件LabView使用初步了解
  3. 1064 Complete Binary Search Tree (30 分)【难度: 一般 / 知识点: 完全二叉搜索树】
  4. 计算机位运算:左移乘以2,右移除以2
  5. P3714 [BJOI2017]树的难题(点分治/线段树/单调队列)
  6. ECMA学习小结(3)——constructor 和 prototype
  7. java对象数组排序_java 对象数组排序
  8. 2020高中计算机会考成绩查询,2020年高中会考成绩查询入口
  9. matlab 去高光,Specular-Highlight-Mitigation-Removal-master
  10. 微信小程序开发(第一篇 开发环境的准备+demo获取微信用户信息)
  11. 全球首款短视频聚合应用「酱爆视频」设计横竖屏的海报宣传图
  12. 三台路由器两台计算机华为,两台华为路由器桥接设置方法
  13. Windows Route 路由表命令详解
  14. SECS/GEM EAP 设备自动化功能原理和设计方案
  15. C语言入门(前期准备工作)——超级详细的建议和教学,带你顺利跨越编程门槛
  16. Sequoia(基于JDBC的数据库集群中间件)用户手册
  17. 独热编码(One-Hot Encoding)
  18. 第十六章: 请多一点
  19. php 表单必选改为选填,织梦dedecms自定义表单选项必填修改解决方法
  20. andriod-概述

热门文章

  1. 经典C语言程序100例之十二
  2. C语言结构体与联合体
  3. c++ 预处理命令 预定义变量用法
  4. C/C++指针函数和函数指针
  5. chmod 文件夹及子文件夹_了解linux文件属性之chgrp,chown,chmod
  6. 「Jupyter」ubuntu下安装jupyterlab后jupyterlab:未找到命令
  7. HBase不同版本集群之间数据迁移
  8. B05_NumPy从数值范围创建数组(numpy.arange,numpy.linspace,numpy.logspace)
  9. Docker容器间通讯,直接路由方式实现网络通讯
  10. spark sql基本使用方法介绍(转载)