A Powerful Live Streaming Setup
搭建强大的直播系统

Recently we had a project requiring live streaming setup, but wasn’t for sure what the load 
or client usage would be. The prerequisite was to be prepared for 1-1000 users watching the 
event live. Thus we developed this configuration to insure end users would have a good 
streaming experience. As we continue using this configuration, I’ll be sure to stop back 
and update any configuration changes…
最近,我们有项目要求搭建一套直播系统,但是不确定加载的内容和客户端将如何使用;
先决条件是要准备支持1-1000个用户可以观看这个直播;
因此,我们开发了这个配置来确保终端用户都能获得良好的观看体验;
如果持续使用这个配置,我们做一些更新支持;

Our idea was to stream the live event directly to a “master server” and then distribute it 
to a multitude of “Mirror Servers” in order to handle the load. We could use more or less 
Mirror Servers to accommodate the number of connections expected, and could also ramp up the 
servers if needed during the event. We are using cloud servers with a pre-saved image for the 
Mirror Servers to build from. We personally use Rackspace Cloud just because we’ve had very 
good experience with them and feel like their prices are very reasonable. They also allow us 
to save a server-image and pay pennies a month for its storage. We can then start up a server 
from that custom image in a matter of minutes, sometimes even seconds.
我们的目的是将直播事件发送到主服务器,
为了处理加载,将它分发到多个镜像服务器;
我们可以依据连接数的预计来增删镜像服务器;
也可以在直播事件中添加服务器;
我们使用云服务器在镜像服务器上预存储文件;
我们使用的是Rackspace 云, 因为它有很好的功能并且价格合理;可实现实时扩充;


In the scenario pictured above we are using Wirecast to encode on a computer and transmit the 
live feed to the master server. The master server is a very small cloud server that costs next 
to nothing to keep running all the time. (Approximately $15 a month) All unused ports are 
blocked off and Flash Media Live Encoder Authentication is activated to prevent hackers/morons 
from using the server for their own use. Public clients never actually connect to the master 
server, only mirror servers connect to the master server. Since the master server is always 
online, we know its IP address and can easily connect to it. It was important to us to be able 
to replicate servers on the fly from an image, and not have to change each one’s configuration 
or the master server configuration for the event. Each mirror server is configured to pull a RTMP 
stream from the master server, and then stream it to anyone who connects. When the mirror server 
boots up, it immediately starts running C++ RTMP server and the RTMP server immediately connects 
to the master and begins re-broadcasting the live feed.
在上图中,我们使用Wirecast将直播种子传输到主服务器;
主服务器是一个很小的云服务器,对于全天候运行的成本非常小; 
所有的未使用的端口都是阻塞的,并且FMLE有授权限制;
发布内容的客户端不会直接连到主服务器;只有镜像服务器连接主服务器中;
因为主服务器是一直在线的,我们知道它的IP地址所以很容易连接;
能将服务器配置复制到镜像服务器上去很重要,这样就不用去修改每个镜像服务器的配置;
每个镜像服务器配置成从主服务器上去拉流,然后分发给建立连接的客户;
当镜像服务器启动后,它将立即运行crtmpserver并且它马上连接主服务器开始提供直播服务;

Thanks to Andrei’s wonderful help. We compiled C++ RTMP server on the mirror servers with 
live streaming completely disabled, thus adding a second layer of protection to the 
configuration from people trying to utilize our servers for their own event.
我们在镜像服务器上编译了crtmpserver并完全禁用了直播流,
这样为别人未授权就使用我们的配置提供了第二层保护;

By using FlowPlayer, its cluster plugin, we are able to distribute the load of connections 
in a round robin configuration in order to insure no one mirror server is too overloaded.
通过使用FlowPlayer, 它的集群插件,我们可以对连接负载进行分配,
以保护镜像服务器不过载;

这个文档并没讲实际要如何用crtmpserver如何组网,
如果要组网的话首先得解决多服务器间的crtmpserver流如何传输;
然后就是服务器的通信实现控制;
如果没有什么更详细的文档,就只能自己开发啦!

第三卦:《屯卦》

屯:元,亨,利,贞;勿用有攸往,利建侯。

【白话】《屯卦》象征初生:元始,亨通,和谐,贞正。不要急于发展,首先要立君建国。

《象》曰:云雷屯,君子以经纶。

【白话】《象辞》说:《屯卦》的卦象是震(雷)下坎(水)上,为雷上有水之表象,水在上表示雨尚未落,故释为云。
云雷大作,是即将下雨的征兆,故《屯卦》象征初生。
这里表示天地初创,国家始建,正人君子应以全部才智投入到创建国家的事业中去。

crtmpserver组网方案的更多相关文章

  1. floyd算法 青云的机房组网方案(简单)

    青云的机房组网方案(简单) 青云现在要将 nn 个机房连成一个互相连通的网络.工程师小王设计出一个方案:通过在 nn 个机房之间铺设 n-1n−1 条双向的光纤,将所有的机房连接.可以假设数据在两个机 ...

  2. PC-网络教程之宽带小型组网方案

    由于某些家庭或小型局域网用户的各种需求和设备不同,所以继续写出几个组网方案让大家参考参考.如有错误之处,欢迎大家多多指点. 1,用网桥实现增加接入点(比如你有5台机子要上网,而你的小型路由只有4个接口 ...

  3. NB-IOT/LoRa/Zigbee无线组网方案对比

    物联网设备节点组网存在2种组网方式, 无线组网和有线组网. 无线组网我们常见到的有Zigbee,LoRa, NB-IOT等,其中Lora/NB-IOT属于LPWAN技术,LPWAN技术有覆盖广.连接多 ...

  4. 5G组网方案:NSA和SA

    目录 5G组网的8个选项 独立组网(SA) 选项1 选项2 选项5 选项6 总结 非独立组网(NSA) 选项3系列 选项3 选项3a 选项3x 选项7系列 选项4系列 选项8 演进路线 5G组网的8个 ...

  5. 青云的机房组网方案(简单+普通+困难)(虚树+树形DP+容斥)

    题目链接 1.对于简单的版本n<=500, ai<=50 直接暴力枚举两个点x,y,dfs求x与y的距离. 2.对于普通难度n<=10000,ai<=500 普通难度解法挺多 ...

  6. 2016 计蒜之道 初赛 第一场 D 青云的机房组网方案 (虚树)

    大意: 给定树, 点$i$的点权为$a_i$, 求$\sum\limits_{a_i \perp a_j}dis(i,j)$ 中等难度可以枚举每条边的贡献, 维护子树内每个数出现次数$a$, 转化为求 ...

  7. IT基础架构规划方案一(网络系统规划)

    背景                   某集团经过多年的经营,公司业务和规模在不断发展,公司管理层和IT部门也认识到通过信息化手段可以更好地支撑公司业务运营.提高企业生产和管理效率.同时随着新建办公 ...

  8. Neutron 理解 (3): Open vSwitch + GRE/VxLAN 组网 [Netruon Open vSwitch + GRE/VxLAN Virutal Network]

    学习 Neutron 系列文章: (1)Neutron 所实现的虚拟化网络 (2)Neutron OpenvSwitch + VLAN 虚拟网络 (3)Neutron OpenvSwitch + GR ...

  9. 自己家里搭建NAS服务器有什么好方案?

    转自:https://www.zhihu.com/question/21359049 作者:陈二发链接:https://www.zhihu.com/question/21359049/answer/6 ...

随机推荐

  1. 如何将github上的微信客户端类库能够通过composer工具下载

    我将自己开发的微信客户端类库放到了github上面去了. 然后我在我的项目里面添加了一个composer.json文件 内容如下 { "require": { "weix ...

  2. 转:你需要知道的NoSQL数据库10件事

    你需要知道的NoSQL数据库10件事 NoSQL的5个优势 1.弹性扩展 多年来,数据库管理员一直依赖于向上扩展(scale up)-随着数据库负载的增加购买更大的数据库服务器―而不是向外扩展-随着负 ...

  3. 001Spring4.2基本环境搭建

    1:工程目录以及依赖jar包如下,如果缺少某些jar包在weblogic控制台下面会有提示 2:applicationContext.xml配置文件 <?xml version="1. ...

  4. SSH的内网穿透

    SSH的内网穿透 1.内网:     ssh -N -f -R 2222:127.0.0.1:22 lienzh@我的PC的IP2.外网:     ssh -p 2222 root@localhost ...

  5. (2015年郑州轻工业学院ACM校赛题)H 五子棋

    我们最后选题策略失败,选到五子棋这题,没想到这题非常麻烦,最后也没做出来! 比赛结束后发了题解再做才做出来! 不得不说 这题真的很麻烦 一个需要比较细致分类讨论的题目.判定棋盘是否合法应考虑如下几种情 ...

  6. win7 清理系统

    1. 先用CCleaner等第三方软件清理一下.2. 将用户文件.我的文档.我的音乐.我的视频.桌面等路径更改到非系统分区(文件也会一并移动过去)3. 将系统盘的系统还原占用空间比减小,将大部分虚拟内 ...

  7. Delphi 使用自定义消息

    Delphi 使用自定义消息   1.先用Const 定义一个常量,例如 const WM_MyMessage=WM_USER+$200; 2.在要实现的unit中定义一个私有方法 procedure ...

  8. Windows 10 代理上网用户的正确使用姿势

      1.找不到IE,如何使用IE来配置局域网代理 打开Edge浏览器,点击选项,找到“使用Internet Explorer打开” 接下来可以使用熟练的姿势设置IE局域网代理上网了 2.Windows ...

  9. [Design Pattern] Proxy Pattern 简单案例

    Proxy Pattern, 即代理模式,用一个类代表另一个类的功能,用于隐藏.解耦真正提供功能的类,属于结构类的设计模式. 下面是 代理模式的一个简单案例. Image 定义接口,RealImage ...

  10. 逆向思维Stock Maximize

    题目出处 题目描述: 这个题的意思是: 给出一段时间内 某个股票的每天的价格 每天可以进行的操作有:买一股,卖掉所有股,不作为 问在给定的序列里怎样让价值最大 数据规模: 每组数据包含case数 T( ...