关于Kurento 和 WebRTC-Kurento学习(一)

2023-05-16

关于Kurento 和 WebRTC

在这里插入图片描述

关于Kurento 和 WebRTC

Kurento是一个WebRTC媒体服务器和一组客户端API,简化了针对web和智能手机平台的高级视频应用程序的开发。它的特点包括通信组、转码、录音、混音、广播和视听流的路由。

Kurento提供了一个多媒体框架,该框架通过以下功能简化了构建多媒体应用程序的任务:

  • 动态WebRTC媒体管道:Kurento允许自定义媒体管道连接到WebRTC对等端,如web浏览器和移动应用程序。这些媒体管道基于可组合的元素,如播放器、录音机、混音器等,这些元素可以在任何时间点进行混合和匹配、激活或停用,即使媒体已经在流动。
  • 客户机/服务器架构:使用Kurento开发的应用程序遵循客户机/服务器架构。Kurento媒体服务器(KMS)是一个服务器,它提供了一个WebSocket接口来实现Kurento协议,该接口允许客户端应用程序定义管道拓扑。
  • Java和JavaScript客户端应用程序:KMS部署的典型用例由三层体系结构组成,用户浏览器通过中间客户端应用程序与KMS服务器交互。有几个官方的Kurento客户端库,支持在客户端应用程序中使用Java和JavaScript。其他语言的客户端可以按照WebSocket协议轻松实现。
  • 第三方模块:Kurento媒体服务器有一个基于插件的可扩展架构,允许第三方实现可以添加到其媒体管道的模块。这允许将媒体处理算法集成到任何WebRTC应用程序,例如集成计算机视觉、增强现实、视频索引和语音分析。所有需要的是创建一个新的KurEnto元素,并在任何已经存在的媒体管道中使用它。

本文档包含如何成为KMS开发人员的高级说明。Kurento客户机应用程序的开发超出了本文档的范围,这里不作解释。

Kurento媒体服务器的代码是开源的,根据Apache许可2.0版的条款发布,在GitHub上可用。

WebRTC媒体服务器

WebRTC是一组协议、机制和api,通过对等连接为浏览器和移动应用程序提供实时通信(RTC)功能。它被认为是一种允许浏览器直接通信而不需要任何基础设施的中介的技术。然而,这种模型只够创建基本的web应用程序;诸如组通信、媒体流记录、媒体广播或媒体转码之类的功能很难在其上实现。因此,许多应用程序最终需要一个中间媒体服务器。
在这里插入图片描述
Peer-to-peer WebRTC approach vs. WebRTC through a media server

从概念上讲,WebRTC媒体服务器只是一个多媒体中间件,当从源到目的地移动时,媒体流量会通过它。

媒体服务器能够处理传入的媒体流并提供不同的结果,例如:

  • 组通信:在多个接收器之间分发一个对等方生成的媒体流,即充当多会议单元(“MCU”)。
  • 混合:将多个传入流转换为一个单一的复合流。
  • 转码:在不兼容的客户机之间动态调整编解码器和格式。
  • 记录:以一种持久的方式存储对等方之间交换的媒体。

在这里插入图片描述
Typical WebRTC Media Server capabilities

Kurento Media Server

Kurento的主要组件是Kurento媒体服务器(KMS),负责媒体传输、处理、录制和回放。KMS建立在奇妙的GStreamer多媒体库之上,提供以下功能:

  • 网络流协议,包括HTTP、RTP和WebRTC。
  • 支持媒体混合和媒体路由/调度的群组通信(MCU和SFU功能)。
    对实现计算机视觉和增强现实算法的过滤器的一般支持。
  • 支持为WebM和MP4编写操作并以GStreamer支持的所有格式播放的媒体存储。
  • 在GStreamer支持的任何编解码器之间自动进行媒体转码,包括VP8、H.264、H.263、AMR、OPUS、Speex、G.711等。

在这里插入图片描述
Kurento Media Server capabilities

Kurento设计原则

Kurento的设计基于以下主要原则:

独立的媒体和信号平面

信令和媒体是两个独立的平面,Kurento的设计使应用程序能够分别处理多媒体处理的这些方面。

媒体和应用服务的分发

Kurento媒体服务器和应用程序可以在不同的机器之间进行配置、升级或分发。

单个应用程序可以调用多个Kurento媒体服务器的服务。相反的情况也适用,即Kurento媒体服务器可以处理多个应用程序的请求。

适合云端

Kurento适合集成到云环境中,充当PaaS(平台即服务)组件。

媒体管道

通过媒体管道链接媒体元素是一种挑战多媒体处理复杂性的直观方法。

应用程序开发

开发人员不需要知道Kurento媒体服务器的内部复杂性:所有应用程序都可以部署在开发人员喜欢的任何技术或框架中,从客户端到服务器。从浏览器到云服务。

端到端通信能力

Kurento提供端到端的通信功能,因此开发人员无需处理在客户端设备上传输、编码/解码和呈现媒体的复杂性。

完全可处理的媒体流。

Kurento不仅支持交互式人际通信(例如,类似Skype的通话推送/接收功能),还支持人对机(例如,通过实时流媒体按需视频)和机对机(例如,远程视频录制、多传感器数据交换)通信。

媒体模块化处理

通过媒体元素和管道实现的模块化可以通过面向图的语言定义应用程序的媒体处理功能,应用程序开发人员可以通过链接适当的功能来创建所需的逻辑。

可审计处理

Kurento能够为QoS监控、计费和审计生成丰富而详细的信息。

无缝IMS集成

Kurento旨在支持与电话运营商的IMS基础设施的无缝集成。

透明媒体适配层。

Kurento提供了一个透明的媒体适配层,使得在屏幕尺寸、功耗、传输速率等方面具有不同要求的不同设备之间的融合成为可能。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于Kurento 和 WebRTC-Kurento学习(一) 的相关文章

随机推荐

  • Linux下安装MySQL

    第一步 xff1a 创建虚拟机 第二步 xff1a 虚拟机操作 vi etc sysconfig network scripts ifcfg ens33 将里面的unboot 61 on改为unboot 61 yes 紧接着重启网卡 sys
  • Ubuntu系统安装MySQL5.7&&MySQL8.x

    MySQL5 7版本在Ubuntu xff08 WSL环境 xff09 系统安装 课程中配置的WSL环境是最新的Ubuntu22 04版本 xff0c 这个版本的软件商店内置的MySQL是8 0版本 所以我们需要额外的步骤才可以安装5 7版
  • win10 安装debian,安装docker

    参考文章 xff1a https docs microsoft com zh cn windows wsl install win10 https docs docker com engine install debian https do
  • Jenkins结合SVN报错E230001: Server SSL certificate verification failed的解决方法

    最近公司搬家 xff0c 之前用来做一些自动化工作的Jenkins服务器 罢工 了 在最后SVN提交时报了一个之前没有的错误 xff1a svn E230001 Commit failed details follow svn E23000
  • 为WSL的ubuntu子系统安装图形化界面

    WSL只提供黑窗口登录功能 xff0c 为了使用gui xff0c 需要安装gui并且使用远程连接的方式登录 更新源 sudo apt get update 安装xorg sudo apt get install xorg 安装xfce4
  • Json 转sqlserver创建表脚本 JSONtoSQLGenerator

    This code takes a JSON input string and automatically generates SQL Server CREATE TABLE statements to make it easier to
  • 如何远程登陆Linux图形界面

    可以使用xrdp软件 xff0c 下面是具体的操作步骤 xff1a 1 给Linux系统安装xrdp工具 xff0c 在命令行中输入 xff1a sudo apt get install xrdp 2 在windows中点击开始 gt 运行
  • 信息学奥赛一本通-1049:晶晶赴约会

    题目描述 晶晶的朋友贝贝约晶晶下周一起去看展览 xff0c 但晶晶每周的1 3 5有课必须上课 xff0c 请帮晶晶判断她能否接受贝贝的邀请 xff0c 如果能输出YES xff1b 如果不能则输出NO 注意YES和NO都是大写字母 xff
  • 洛谷P1553 数字反转(升级版)

    洛谷P1553 数字反转 xff08 升级版 xff09 题目描述输入格式输出格式输入输出样例说明 提示个人理解整数百分数分数小数 AC代码写在最后 题目描述 给定一个数 xff0c 请将该数各个位上数字反转得到一个新数 这次与NOIp20
  • Windows10 WSL2 安装Ubuntu并使用图形化界面

    有了WSL2后 xff0c 又有可以折腾的东西了 可以使用WSL2的Linux环境编译 LaTeX LaTeX L A T E X 文档 xff0c 要比Windows端快很多 xff0c 也可以用vscode的Remote WSL插件来编
  • VMware创建虚拟机并分配地址

    修改虚拟机设置 修改网卡配置 vi etc sysconfig network scripts ifcfg ens33 TYPE 61 Ethernet PROXY METHOD 61 none BROWSER ONLY 61 no BOO
  • 蓝桥杯单片机开发板-定时器中断实现数码管0-99+摇摆灯(详解)

    本博文程序实现的功能是蓝桥杯51单片机通过定时器功能来实现数码管的计数与8个LED小灯的交替闪烁 首先是程序初始化函数 xff1a span class token keyword void span span class token fu
  • 鸿蒙OS2.0添加加密门禁卡进入卡包

    鸿蒙OS2 0添加加密门禁卡进入卡包 该功能需要手机支持NFC功能 xff0c 畅享 Nova 等系列不具备NFC功能 xff0c 如找不到添加小区门禁卡的功能 xff0c 可能需要将系统升级至最新版本 打开 钱包 在 钱包 gt 钥匙 g
  • 数据结构(一)——顺序表(C语言实现)

    定义实现 定义结构定义操作 创建顺序表初始化顺序表插入元素删除元素销毁顺序表 定义 数据结构是相互之间存在一种或多种特定关系的数据元素的集合 根据数据元素之间关系的不同特性 xff0c 通常有如下4类基本结构 集合 xff1a 结构中的数据
  • Latex引用参考文献,要作者名、章节、页码等详细信息

    Latex引用参考文献时 xff0c 在正文部分既想要出现文献号 xff0c 又想要作者名 章节 页码等详细信息时 xff0c 可以如下操作 xff1a 图1 xff0c 只需要在文中相应位置写入 xff1a citet ash 即可 图2
  • (一)OpenStack---M版---双节点搭建---基础环境配置

    视频已上线B站 传送门 配置如下 本次搭建采用2台4核4G的虚拟机 也可以用2台2核4G 主机名配置网络Controller4核4GInterface1 192 168 100 10 24Interface2 192 168 200 10
  • 亚马逊AWS-EC2云服务器部署代理服务

    首先 xff0c 在此阿里云 腾讯云 华为云购买一个云服务器推荐使用阿里云的 首先链接你的VPS xff0c 可以使用X shell Putty SecureCRTPortable 等SSH链接工具 注意 xff1a 如果不知道怎么使用工具
  • QT程序崩溃闪退问题

    1 查看程序是否产生dump文件 2 通过WINDBG启动运行软件 xff0c 抓取应用CRASH原因 3 监控应用的CPU 内存 句柄和线程是否有溢出 常见异常的原因有 xff1a 1 在线程执行中使用qDebug 2 在线程中使用 QD
  • Hi3559AV100开发调试日志

    2019 09 05 主板原生系统状态 1 串口正常 2 网络不工作 ifconfig 命令没有显示出网络设备列表 xff0c 不能对网络进行配置 运行 ip link set up dev eth0 命令解决问题 3 插入TF card
  • 关于Kurento 和 WebRTC-Kurento学习(一)

    关于Kurento 和 WebRTC 关于Kurento 和 WebRTC Kurento是一个WebRTC媒体服务器和一组客户端API xff0c 简化了针对web和智能手机平台的高级视频应用程序的开发 它的特点包括通信组 转码 录音 混