目录
编写Kurento应用程序
全局架构
通讯客户端,服务器和Kurento
- 媒体协商阶段(信令)
- 媒体交换阶段
使用实时的WebRTC应用
媒体平面
9.1全局架构
可以按照网络的架构原理使用Kurento,即创建一个基于kurento的多媒体应用,与使用任何流行的Web开发框架创建Web应用程序类似的体验。
在最高抽象级别上,Web应用程序的体系结构由三个不同的层组成:
- 表示层(客户端):在这里,我们可以找到负责与最终用户进行交互的所有应用程序代码,以便以全面的方式表示信息。这经常是在HTML页面使用javascript代码。
- 应用逻辑(服务端):该层负责实现应用程序执行的特定功能.
- 服务层(服务或互联网端):这层通过应用程序的逻辑提供像数据库,通信,加密等功能。这些服务可以与应用程序托管在同一服务器上逻辑,或者可以由外部各方提供
遵循这种并行性,使用Kurento创建的多媒体应用程序也可以采用相同的架构来实现:
- 表示层(客户端):负责多媒体表示和多媒体捕获。它通常是基于客户端的特定内置功能,比如当创建一个基于浏览器的应用,这个表示层将使用html的<video>标签或者WebRTC javascript API.
- 应用逻辑(服务端):这层提供特定的多媒体逻辑,换句话说这层负责创建一个适当的管道(通过链接所需的媒体元素)应用中涉及的多媒体流将需要遍历.
- 服务层:这层提供多媒体服务支持像媒体录制、媒体加密等应用逻辑,KMS(即Media Elements的特定Media Pipeline)负责这一层。
讨论的有趣之处在于与web开发一样,Kurento应用程序可以将表示层放在客户端,将服务层放在服务器。所有情况下的应用逻辑都可以位于任一侧,甚至可以分布在它们之间,下图表示了这个想法: