【问题标题】:Creating Web Conferencing Software创建网络会议软件
【发布时间】:2015-09-04 05:01:08
【问题描述】:

我想知道关于可能启动一个基本上从头开始构建网络会议平台的项目的两件事。它需要有交互式白板、音频/视频、屏幕共享、聊天、记录会话中发生的内容等。所以...

1.) 这种事情是 1 个月的项目吗? 1年?几千元?几万???

2.) 假设它被创建,托管会话涉及什么?它们可以仅托管在主持人的计算机上吗?还是需要服务器?常规宽带连接是否足够或需要 T1 线路?

这里并不是真的在寻找具体的解决方案。只是一些一般的想法和大致的数字会很棒。

【问题讨论】:

  • "T1" 行不再是真正的东西了。一个 T1 只有 1.5mbps,我的住宅电缆连接速度几乎是 100 倍。
  • 感谢您的信息。在 T1 Dai 上。

标签: web video-conferencing


【解决方案1】:

1。估算需要小心和时间

制作软件太难了!!做对了会花钱。是的……几个月。你会想为他们为你工作的每一滴汗水和每一分钟付出代价,因为开发人员和你一样都是努力工作的女性和男性。尤其是初学者需要付费。他们不擅长估算,只为一分钱工作。您可以称其为自我造成的奴役,但许多人希望它便宜又快,从而支持它。无耻。人们需要了解开发人员的工作方式。

稍微解释一下:

每个新软件项目都涉及许多问题。我们需要非常详细地回答这些问题,以了解每一步需要多长时间。

商业:

  • 它将具有哪些功能?
  • 用例场景的每个功能是什么?
  • 我预计每小时有多少用户?
  • 预计托管费用是多少?
  • 是否需要存储数据突变或事件流?
  • 哪些部分是明显的、复杂的、复杂的或混乱的? 看到这个:https://en.wikipedia.org/wiki/Cynefin
  • 我需要聘用谁以及执行什么任务?
  • 当应用准备好首次发布时,我将如何销售它?
  • 等

前端:

  • 您的系统外观和感觉如何?
  • 我们是否正在构建基于任务的用户界面?
  • 如果有的话,你打算使用什么 javascript 框架?
  • 我需要写什么内容?
  • 我是否必须自动化前端开发流程?
  • 浏览器兼容性
  • 等

后端:

  • 我将使用哪种服务器端语言?
  • 我使用什么样的数据库?
  • 我应该使用什么框架?
  • 我是否需要考虑 CQRS 和事件外包?
  • 我是否需要一个做得非常好的域模型
  • 我需要什么服务器工具?
  • 持续部署、集成等呢?
  • 引入、更改和拥有成本?
  • 我将使用什么数据库?我们还需要更多吗?
  • 我应该使用什么缓存?反向代理?
  • 我将使用什么网络服务器?
  • 我们会编写测试吗? TDD、BDD 等?
  • 等

服务器:

  • 网络服务器?
  • 码头工人?
  • 虚拟机?
  • 操作系统
  • 数据存储
  • 维护
  • 安全性
  • 等

在确定所有这些东西并加载和加载更多之后,我们然后决定总和的每个部分需要多长时间。我们估计。

然后您可以做两件事:瀑布式开发或敏捷开发。

在阅读了您想要构建的内容后,我想说您有一个艰巨而漫长的项目,其中所有部分都有很多深度。如果您没有在包括规格在内的技术文档中彻底规划整个事情,就不可能为项目提供固定的价格和时间跨度。

本文档可能会更长,但我希望您能看到我试图表达的观点。

2。研究后才能选择技术

-edit-我没有回答第二个问题,因为我在上面解释过。出现了很多问题:

  • 您将同时支持多少用户?
  • 当我们知道这一点后,我们将获得硬件规格
  • 我们将支持哪些国家/地区?
  • 某些国家/地区可能需要不同的通信协议
  • 我们是否需要技术支持来安装其他东西,例如 flashplayer、silverlight、java 或我们有什么?
  • 我们需要什么服务器?
  • 我们是否使用 nginx-pushstream 或其他异步工具?

Skype 在其网站上有一个关于带宽的列表:

<table style="width:100%; text-align:left">    <tbody>        <tr>            <th>Call type</th>            <th>Minimum download <br>            / upload speed</th>            <th>Recommended download <br>            / upload speed</th>        </tr>        <tr>            <td class="first-child">Calling</td>            <td>30kbps / 30kbps</td>            <td class="last-child">100kbps / 100kbps</td>        </tr>        <tr>            <td class="first-child">Video calling /<br>            Screen sharing</td>            <td>128kbps / 128kbps</td>            <td class="last-child">300kbps / 300kbps</td>        </tr>        <tr>            <td class="first-child">Video calling <br>            (high-quality)</td>            <td>400kbps / 400kbps</td>            <td class="last-child">500kbps / 500kbps</td>        </tr>        <tr>            <td class="first-child">Video calling<br>            (HD)</td>            <td>1.2Mbps / 1.2Mbps</td>            <td class="last-child">1.5Mbps / 1.5Mbps</td>        </tr>        <tr>            <td class="first-child">Group video<br>            (3 people)</td>            <td>512kbps / 128kbps</td>            <td class="last-child">2Mbps / 512kbps</td>        </tr>        <tr>            <td class="first-child">Group video<br>            (5 people)</td>            <td>2Mbps / 128kbps</td>            <td class="last-child">4Mbps / 512kbps</td>        </tr>        <tr>            <td class="first-child">Group video<br>            (7+ people)</td>            <td>4Mbps / 128kbps</td>            <td class="last-child">8Mbps / 512kbps</td>        </tr>    </tbody></table>

来源:Skypehttps://support.skype.com/en/faq/FA1417/how-much-bandwidth-does-skype-need

您将需要两个客户端之间的中间服务。

如您所见.. 仍有很多事情需要给出答案。规划需要一些时间和大量关于您的目标和想法以及预算范围内的对话。

敏捷开发很可能是您的最佳选择,因为您的应用程序会及时获得功能块。然后,您可以决定后续 sprint 的功能将被构建或不会被构建或将被解决的错误。需要更改的设计等。

希望我的回答有所帮助;)

【讨论】:

  • 感谢 Xander 的回复。虽然我不理解你使用的大部分术语,但它给了我一种范围感。不过,我在您的回答中没有看到任何可以解决我原始帖子中#2 的内容。我错过了什么吗?
  • 我也为您的第二个问题添加了答案。
猜你喜欢
  • 2023-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-24
  • 2011-12-02
  • 2011-06-22
相关资源
最近更新 更多