开发者社区> 五花肉扣663588161> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

app直播源码“助力”直播架构,走上探索之路

简介: 对于直播app的开发来讲,app直播源码是一个非常重要的存在。直播架构在开发过程中也是一件非常重要的事情,如果架构的设立不能从根本上解决问题或防止问题的发生,那么在前端app运行时就会出现一定的运行错误。接下来主要跟大家简单分享一下关于直播架构方面的内容。
+关注继续查看

对于直播app的开发来讲,app直播源码是一个非常重要的存在。直播架构在开发过程中也是一件非常重要的事情,如果架构的设立不能从根本上解决问题或防止问题的发生,那么在前端app运行时就会出现一定的运行错误。接下来主要跟大家简单分享一下关于直播架构方面的内容。
1.直播架构的演进
(1)CDN直播架构
目前最流行的直播架构就是CDN直播架构,主播通过手机或电脑等设备,将自己的视频流上传到服务器,然后接入对应的CDN服务,通过CDN 进行网络分发,分发到各地的用户,然后所有的用户都可以看到主播的表演了。
(2)实时互动直播架构
实时互动直播并不能使用CDN方案,因为CDN方案的性质决定了延时达不到实时的需求。通常,实现实时互动的架构中,主播把自己的视频流上传到服务器,再通过这台服务器分发给其他用户,再次采用合适的传输协议,并且延时可以做到很小,从主播到服务器再到观众的延时,加上编解码和抖动的延时,可以将延时控制在几百毫秒以内。虽然这个结构很简单,大势有一个缺点就是没有考虑到覆盖不同地区和用户的问题。
(3)分布式实时互动直播架构
主播的视频流在上传到接入服务器后,这个服务器会把这个视频流分发到我们所部署在世界各地的服务器,然后这些服务器可以接入本地的用户,再把视频传下去。在这个架构里,部署在世界各地的服务器,可以让用户快速就近地接入,整个视频流通过我们在互联网上做的分布式传输算法将它实时传输到世界各地的机房,而且可以避免机房或者骨干性网络的故障,从而对传输造成一定的影响。
u_1400761938_3193773607_fm_26_gp_0_wps_

2.解决覆盖问题
需要先部署大量边缘服务器,边缘服务器的地理位置越接近用户约越好,最好是同一个SP。在这里举个简单的例子,比如在中国国内,我们有的是大量的电信、联通和移动服务器,当我们发现接入的用户是联通用户,这时候就会去找到联通的线路,但是如果有边缘地区的用户观看直播,那么就必须部署很多边缘服务器。还需要有分配服务,如果部署了边缘服务器之后,用户还是没办法接入边缘服务器,所以就需要配套的算法,根据用户的SP,从而找到与其最为匹配的边缘服务器,进行接入分配。
3.DNS解析问题
目前的无线互联网,也就是我们常用的WiFi已经非常普及。但是在使用WiFi时,会出现一个比有线宽带还严重的问题:DNS解析。在用户接入时,第一步就是通过域名解析到最近的服务器,但是做DNS解析式,无线网络的信号就会收到一定的影响,从而导致DNS解析失败,所以就需要优先使用解析,如果解析不到再用静态IP配置。
4.“骨干型”网络故障问题
在“骨干型”的网络中,经常会出现问题,如果出现故障,可以通过路由的方式构建想用的应对方式。先连接到分配服务,分配服务会给出一批可接入的机房,如果接入机房坏了,就会立即切换到下一个可用机房,如果切换到下一个机房发现还是坏的,就会再次接入分配服务,从而继续寻找当前可用的服务器。
5.蜂拥
这是一种在实时互动直播过程中非常突出的一种现象,在短时间内大量的用户进入频道或者使用服务就可以称之为是蜂拥,对于后台的冲击力也十分巨大。大多数直播后台的服务器每秒接入大概千的量级,但是对于蜂拥而来的用户,处理量还远远不够。这时候通常就会出现一个问题就是,后台处理响应的速度越来越慢,很多用户的请求就会出现超时。超时之后就会进入更多的请求,导致整个后台系统不能响应。

 总而言之,app直播源码固然重要,但是在开发过程中,如果不注意直播架构方面的问题,那么在前端运行的过程中也会出现不少问题。毕竟对于直播app来说,最重要的还是用户的体验感受。

本文声明原创,转载请注明出处。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
开发手机直播App:如何在真旺云配置七牛直播计费【完结篇】
商城APP开发商 - 真旺云(https://www.maxwon.cn/) 专业手机app制作软件平台,配置直播计费教程终于进入终章了!
2160 0
干货|app自动化测试之Capability 使用进阶
干货|app自动化测试之Capability 使用进阶
19 0
干货|app自动化测试之Andriod WebView如何测试
Hybrid App(混合模式移动应用)是介于 Web-app、Native-app 之间的 app,本质上是 Native-app 中嵌入 WebView 组件,在 WebView 组件里可以访问 Web App。Hybrid App 在给用户良好交互体验的同时,还具备了 Web App 的跨平台、热更新机制等优势。 Android WebView 在 Android 平台上是一个特殊的
50 0
干货|app自动化测试之Appium WebView 技术原理
混合应用测试或微信小程序测试,都会涉及到 WebView 组件,这节内容将分析一下 WebView 的技术原理。首先通过日志分析查看 Appium 的运行过程。 ## WebView日志分析 要想查看 ChromeDriver 的日志,需要在 Capability 里开启 一个开关项 showChromedriverLog。让 Appium 运行测试用例时能够生成 ChromeDrive
111 0
干货|app自动化测试之Appium 原理 与 JsonWP 协议分析
想要使用 Appium 进行测试,那么就一定要先了解Appium的原理。Appium 不仅能够实现移动端的 JSONWP,并且延伸到了 Selenium 的 JSONWP,它能够控制不同移动设备的行为,例如通过会话安装和卸载 APP。 ## Appium 原理 ![](https://ceshiren.com/uploads/default/original/3X/4/3/435691a3
63 0
干货|app自动化测试之Appium 源码修改定制分析
Appium 是由 Node.js 来实现的 HTTP 服务,它并不是一套全新的框架,而是将现有的优秀的框架进行了集成,在 Selenium WebDriver 协议(JsonWireProtocol/Restful web service)的基础上增加了移动端的支持,使 Appium 满足多方面的需求。 官方提供更详细的 Appium 结构说明:https://appium.io/docs/e
55 0
干货|app自动化测试之Appium 源码分析
Appium 是由 Node.js 来实现的 HTTP 服务,它并不是一套全新的框架,而是将现有的优秀的框架进行了集成,在 Selenium WebDriver 协议(JsonWireProtocol/Restful web service)的基础上增加了移动端的支持,使 Appium 满足多方面的需求。 官方提供更详细的 Appium 结构说明:https://appium.io/docs/
26 0
干货|app自动化测试之Appium问题分析及定位
使用 Appium 进行测试时,会产生大量日志,一旦运行过程中遇到报错,可以通过 Appium 服务端的日志以及客户端的日志分析排查问题。 ## Appium Server日志-开启服务 通过命令行的方式启动 Appium Server,下面来分析一下启动日志,日志第一行显示了 Appium 版本信息和服务在本地的运行地址。 ``` $ appium -g appium.log [Appi
37 0
干货|app自动化测试之Capability 使用进阶
Capability 是一组键值对的集合(比如:"platformName": "Android")。Capability 主要用于通知 Appium 服务端建立 Session 需要的信息。客户端使用特定语言生成 Capabilities,最终会以 JSON 对象的形式发送给 Appium 服务端。 ## Appium底层架构 ![](https://ceshiren.com/uploa
30 0
干货|app自动化测试之模拟器控制
测试时需要用到测试设备,通常测试人员会选择使用模拟器进行自动化调试。模拟器分为原生模拟器与第三方模拟器。我们今天介绍的就是原生模拟器是 Android SDK 中自带的模拟器,可以通过 Android Studio 工具创建模拟器。 ## 创建/管理 原生模拟器 Android 虚拟设备(AVD)是一种配置,它可以定义 Android 模拟器例如:Android 手机、平板电脑、Wear O
35 0
+关注
五花肉扣663588161
热爱写作~专业分享直播系统知识~感兴趣的伙伴可以沟通交流哦
30
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载