如何构建自定义的视频会议软件(二) - 嘶吼 RoarTalk – 回归最本质的信息安全,互联网安全新媒体,4hou.com

如何构建自定义的视频会议软件(二)

walker 技术 2022-08-12 11:00:00
收藏

导语:在本文中,我们将讨论如何创建为特定行业或客户量身定制的定制视频会议软件。

(接上文)

高级视频会议功能

制作具有自定义功能的视频会议应用程序通常是一个复杂但有益的过程。以下是您可以在行业特定解决方案中实施的几个功能示例:

image.png

9 种特定的视频会议功能

· 基于 AI 的视频质量改进。视频制作公司使用会议应用程序来记录内容。例如,英国广播公司通过电话会议录制了获奖系列Staged。为此,他们使用专业相机,但他们还需要能够实时处理和改进高质量视频的软件。使用 AI 升级视频可以让您真正提高质量,而不是简单地提高分辨率。 

· 高级噪声抑制。许多流行的视频会议应用程序都有降噪过滤器,但它们对于专业的音频和视频录制来说还不够好。用于此类目的的软件需要能够消除周围声音而不损害声音和乐器的噪声抑制机制。

· 低延迟。视频会议中的延迟和冻结通常很烦人,但它们在专业视频会议中尤其具有破坏性。要提供实时会议,您需要开发特定的通信协议、实现流框架(GStreamer、Apache Storm等),甚至创建自定义驱动程序来处理音频和视频流。

· 先进的文件存储系统。许多组织使用视频会议不仅是为了交流,而且是为了共享材料。他们需要一个能够长期存储数据并允许他们管理和排序数据、配置对共享文件的访问等的系统。要与此类组织合作,您需要基于云或基于服务器的软件(我们将描述稍后实施选项)具有强大的数据存储和管理选项。

· 用于举办网络研讨会的功能集。举办网络研讨会的组织通常需要一组特定的配置。首先,他们需要支付功能来进行付费网络研讨会。然后,必须安排一个网络研讨会,让参与者能够订阅并获得通知。在网络研讨会期间,演讲者或管理员需要能够管理参与者的权限、共享他们的屏幕、创建白板、进行投票等。

· 与行业特定软件集成。您的客户很有可能使用客户关系管理系统、企业资源规划系统、电子健康记录管理系统和其他行业解决方案。他们将欣赏将视频会议集成到其中的能力。例如,医生可能需要在打电话之前查看患者记录,或者抵押贷款经纪人可能必须在讨论抵押贷款选项之前分析客户的财务记录。 

· 支持设备。视频会议软件必须支持企业视频会议硬件和特定用户设备:专业摄像头、麦克风、混音台、虚拟现实 (VR) 耳机等。并非所有这些设备都具有可用于视频会议的驱动程序。这就是为什么您必须预见兼容性问题并在您的软件中实现对此类设备的支持。

· 支持电子签名。在视频会议期间审查和签署文件的能力对于金融组织、律师事务所和公共部门的机构来说尤其重要。电子签名基于数字签名加密机制,被认为是物理签名文档的替代方案。在您的视频会议软件中实施此机制允许用户见证和签署文档,并将签署过程记录为额外的证据。

· 虚拟现实整合。由于大流行和现实生活中的聚会受到严重限制,在 VR 中举办活动变得越来越流行。活动组织以 360 度实时视频的形式流式传输音乐会、节日和舞台表演。为此,他们需要能够处理和流式传输大量数据的软件,这些数据支持 PC、智能手机和 VR 耳机,并提供高质量的音频和视频。

在开始构建视频会议应用程序之前,最好弄清楚您需要实现的一组通用和特定功能。这样,您将节省数小时的开发时间并在最后期限内向您的客户交付软件。您需要确保的另一件事是用户通信的安全性。确保通信安全与使通信舒适同样重要。让我们回顾一下提高软件保护的主要功能。

安全通信功能 

流行的视频会议应用程序因遭受网络安全问题而广为人知。Zoom 因其众多的漏洞和妥协而臭名昭著。据报道,由于隐私问题,SpaceX 甚至禁止其员工使用 Zoom。Microsoft Teams 中的一个漏洞允许黑客访问受攻击组织的所有 Teams 帐户。Skype 为黑客提供了欺骗和攻击网络钓鱼用户的机制。

由于此类事件,处理敏感数据的企业寻求更可靠的通信解决方案。

您可以通过以下功能确保对您的软件进行强有力的保护:

image.png

视频会议软件的网络安全功能

· 端到端 (E2E) 加密。这种类型的加密保护在两个端点之间传输的数据。第一个端点加密消息,只有第二个端点可以解密它。E2E 被认为是最安全的加密类型之一,因为除了两个参与的端点之外,通信链(服务提供商、云提供商、服务器、未经授权的入侵者)中没有任何人可以读取消息。请记住,这种类型的加密有其局限性:通过 E2E 实现通话录音、面部识别、降噪或图像改进具有挑战性。

· 多因素身份验证(MFA)。MFA 是一种额外的访问控制措施,有助于验证尝试登录软件的用户的身份。MFA 可以使用三类参数验证用户:知识(凭证或附加问题)、财产(电话或安全令牌)或遗产(指纹或其他生物特征数据)。生物识别 MFA 是最可靠的,但请记住,用户需要指纹扫描仪、高端麦克风或摄像头才能通过此身份验证。

· 用于数据保护的智能合约。在视频会议中应用区块链技术提供了许多安全优势:分散的数据存储、受保护的数据处理和传输以及用户机密性。此外,使用尖端技术或实施基于区块链的货币化可以获得额外的营销点。然而,区块链在实时处理大量数据(例如,流式传输 4K 视频或共享大文件)、管理企业通信、扩展和遵守法规方面存在问题。

· 公司域和私有域。私有域允许组织根据需要自定义安全和操作设置。例如,他们可以允许通过邀请访问域并创建具有可配置访问权限的用户组。

· 可配置的呼叫管理员设置。管理有许多参与者的在线会议的管理员需要高级设置来管理呼叫。他们需要手动允许用户加入通话、安排发言人、静音或禁止参与者、调节聊天等。

· 强大的隐私政策。安全策略允许软件管理员根据组织或特定会议的需要配置视频会议软件。例如,管理员可能需要启用或禁用端到端加密和文件共享、配置一般用户权限以及管理加入私有域和组的用户。 

大多数视频会议应用程序都需要我们上面讨论的功能,因为它们可以确保安全、流畅的操作和舒适的用户体验。 

当您为您的软件找出完整的功能集后,就该与您的开发团队讨论实现它的方式了。让我们看一下创建类似 Zoom 的应用程序的常用方法及其优缺点和用例。

实现视频会议应用程序的三种方法

过去,视频会议解决方案分为基于硬件和基于软件的解决方案。基于硬件的解决方案需要特定的设备。它们提供了更好的视频质量和安全的通信,但它们比基于软件的解决方案更昂贵。要使用基于软件的解决方案,用户只需安装应用程序即可。

在现代解决方案中,这种分离已经消失,原因有两个:

· 基于软件的解决方案的开发人员大大提高了沟通质量

· 提供良好视频和音频质量的网络摄像头和麦克风变得更加实惠 

今天,如何构建视频会议应用程序有三个主要选项:

image.png

实现视频会议的三种方式

对等软件在参与通信的用户端点之间路由视频会议流量。没有与服务器、云或任何其他第三方的交互。通常,此类解决方案基于WebRTC、XMPP协议、Jitsi、Peer'Em和其他通信软件。要构建对等解决方案,您需要设计、实施和支持应用程序本身、其基础设施和网络安全机制。

以下是构建对等软件的主要好处:

· 安全通信。由于通信中没有中介,黑客更难拦截或监听流量。如果通信受到端到端加密保护,黑客几乎没有机会拦截它。

· 高质量的一对一通话。用户端点在直接通信中发送和解释通信数据时通常没有挑战。这里唯一的限制是用户的网络摄像头和麦克风的容量。

当涉及到高级多点通信时,点对点实现存在以下限制:

· 多点通话质量不可预测。通话质量取决于通话参与者的数量、他们的带宽和设备限制。对于开发人员来说,管理和提高多点呼叫的质量是一项挑战。

· 实现文件共享和通话录音。由于点对点软件不使用服务器,因此实现这些功能具有挑战性。用户共享的文件一直可用,直到用户从端点重命名或删除它们。录制通话将使用用户端点上的额外资源。

· 对会议的控制很少。在点对点通信中,开发人员无法实现提高音频和视频质量的算法。 

image.png

基于云的软件使用通信平台即服务 (CPaaS) 或类似的云解决方案来部署解决方案的服务器端并维护基础架构。这种类型的视频会议软件部署速度最快,因为开发人员只需创建客户端并与云提供商签署协议。此类提供商的示例包括AT&T、Bandwidth、Infobip和Twilio。

在云中托管您的视频会议应用程序具有以下好处:

· 上市时间短。与实施对等和基于服务器的应用程序相比,实施基于云的视频会议应用程序需要更少的开发工作。

· 处理通信数据的能力。在将呼叫路由到用户端点之前,云服务会处理通信数据。这意味着开发人员可以管理通话质量、记录通话、实施数据存储功能等等。

此类软件的缺点对于任何基于云的应用程序都很常见:

· 对云提供商的依赖。在您已经部署和发布您的应用程序时更改云提供商可能具有挑战性和痛苦。

· 可扩展性差。您不能使用比提供商能够提供的更多的服务器资源。此外,扩展您的软件可能会导致云服务定价发生变化。

image.png

基于服务器的软件需要专用的媒体服务器在通话期间处理和重定向数据流。这是自定义视频会议解决方案的最佳实施选项,因为它为开发人员提供了以下好处:

· 完全控制软件及其数据。作为应用程序服务器端和客户端的唯一所有者,您可以实现所需的任何功能,使用必要的网络安全机制保护您的数据,添加对任何设备的支持,并根据您的需要进行扩展。

· 高音频和视频质量。您可以使用上面讨论的任何视频和音频改进机制来增强您的媒体服务器,从而为您的客户提供最佳的通信质量。此外,您可以根据用户的设备能力缩小视频以减少带宽。

以下是创建服务器端应用程序的主要挑战:

· 需要专业的开发团队。由于您必须自己实现每个功能,因此您需要一个能够胜任此任务的开发团队。根据您的需求,团队可能需要包括人工智能和区块链专家、嵌入式软件和驱动程序开发人员以确保对特定设备的支持、网络安全工程师设计数据保护等。

· 对软件负全责。在基于软件的模型中,您无需与云提供商或点对点通信协议开发人员共同承担解决方案的性能或安全性的责任。 

image.png

如您所见,每种实现模型都有主要的优点和局限性。它们之间的选择应该基于您客户的需求、开发团队的能力以及您的项目预算。

结论

尽管视频会议是一个竞争激烈且瞬息万变的市场,但仍然缺乏像 Zoom 这样高度保护和定制的视频会议解决方案。这就是为什么许多企业考虑开发适合其行业和客户的软件的原因。 

构建自己的视频会议系统意味着您需要:

· 配备先进的视频会议功能,以确保积极的用户体验

· 使用客户要求或符合行业法规和标准所需的网络安全机制保护数据

· 添加有助于客户工作的特定功能

· 选择相关的实现模型


本文翻译自:https://www.apriorit.com/dev-blog/720-remote-zoom-like-app如若转载,请注明原文地址
  • 分享至
取消

感谢您的支持,我会继续努力的!

扫码支持

打开微信扫一扫后点击右上角即可分享哟

发表评论