百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

主流Webrtc流媒体服务器之Kurento Media Server

nanshan 2024-12-06 17:57 23 浏览 0 评论

一、 什么是Kurento Media Server

Kurento Media Server(KMS)是一个多媒体服务器软件包,可用于为WebRTC平台开发高级视频应用程序。Kurento是一个底层平台,可创建WebRTC应用程序,而且负责管理STUN / TURN服务器,网络,可伸缩性等。

1.1. Kurento Media Server的特点
1.1.1. 模块化管道

Kurento提供了WebRTC和RTP发送器和接收器、音视频混合器、媒体录制等构建模块。这些媒体元素是具有特定媒体功能的独立对象。通过在任何时间点插入,激活或停用它们,它们非常容易组成,即使介质已经在流动。

扩展Kurento并编写自己的元素也很容易,然后可以将其与现有元素集成在一起!

应用程序开发人员使用Kurento用所需的媒体元素控制所谓的媒体管道,从而有效地形成完全定制的体系结构,以适应他们的需求。提供了一些内置模块,用于组通信,媒体格式的代码转换以及视听流的路由。

Kurento可以同时实现SFU和MCU应用架构。

1.1.2. 内建模块

Kurento提供丰富的开箱即用的媒体元素工具集API

1.1.3. JSON-RPC协议

KMS通过JSON-RPC协议公开其所有API功能,可以通过WebSocket连接直接访问。以下为三种使用情况:

1.2. 为什么使用Kurento Media Server

Kurento Media Server(KMS)提供媒体传输、处理、录制 和回放。KMS建立在出色的GStreamer多媒体库之上,并提供以下功能:

a. 网络流协议,包括HTTP,RTP和WebRTC。

b. 支持MCU和SFU媒体混合和媒体路由与调度。

c. 对实现计算机视觉和增强现实算法的过滤器的通用支持。

d. 媒体存储支持WebM和MP4的写入操作以及GStreamer支持的所有格式的播放。

e. GStreamer支持的任何编解码器之间的自动媒体转码,包括VP8,H.264,H.263,AMR,OPUS,Speex,G.711等。

二、 什么是OpenVidu

OpenVidu是一个基于Kurento的框架,并封装了其大部分功能,以便简化WebRTC的一些最典型的使用案例,例如会议室。

使用OpenVidu的开发人员无需担心构成典型WebRTC通信的所有低级技术和协议。该项目的主要目标是提供一个更简单的API:仅包含OpenVidu客户端库,并使用OpenVidu Server处理媒体流,您将拥有一个功能全面的WebRTC功能的应用程序。

2.1. OpenVidu的特点
2.1.1. WebRTC视频会议

支持一对一、一对多、多对多视频会议

2.1.2. 开源

OpenVidu是根据Apache License v2许可的OpenSource的开源项目

2.1.3. 多平台

兼容Chrome,Firefox,Safari,Opera,Edge,Android,iOS,桌面应用程序

2.1.4. 使用简单

OpenVidu提供了即用型组件,您只需将其粘贴到代码中即可快速启动和运行视频通话。

2.1.5. 部署容易

OpenVidu提供Docker部署方案,只需简单几步,就可以成功部署OpenVidu

2.1.6. 提供教程/演示

OpenVidu提供许多教程和示例,对开发人员是非常友好

2.1.7. 保持视频会议的私密性

提供WebRTC加密,可确保您的所有通话都完全私密

2.1.8. 兼容许多前端技术

支持JavaScript,TypeScript,Angular,React,Vue.js,Ionic …您只需选择喜欢的语言和框架

2.1.9. 与任何后端技术兼容

OpenVidu提供了开箱即用的Java和Node客户端,用于控制视频通话,但它还公开了REST API以允许使用任何后端技术。

2.1.10. 使用预定义角色限制客户端功能

确定允许哪个用户订阅,发布或主持具有预定义角色的视频流以保护您的视频通话

2.1.11. 信息广播

您可以使用OpenVidu在几行代码中实现聊天。您的应用程序可能需要任何用户到用户的基于文本的通信,都可以轻松实现

2.1.12. 录制

完全自由地录制视频通话:OpenVidu提供了预定义的布局,您也可以使用自己的自定义布局来完成任何类型的结果

2.1.13. 屏幕共享

OpenVidu允许您的客户端共享他们的屏幕

2.1.14. 音频和视频过滤器

OpenVidu是唯一允许您应用实时音频和视频过滤器的WebRTC技术。检测条形码,设置色度键背景或放大客户端的声音只是使用OpenVidu过滤器可以实现的几个示例。

2.1.15. 网络摄像机

您可以使用OpenVidu接收IP摄像机进行实时监视

三、 部署OpenVidu

# 安装DOCKER

$ sudo apt remove -y docker docker-engine docker.io containerd runc

$ sudo apt install -y apt-transport-https ca-certificates curl gnupg-agent software-properties-common

$ sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

$ sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

$ sudo apt update

$ sudo apt install -y docker-ce docker-ce-cli containerd.io




# 安装DOCKER-COMPOSE

$ sudo curl -L "https://github.com/docker/compose/releases/download/1.27.4/docker-compose-$(uname -s)-$(uname -m)" -o $ /usr/local/bin/docker-compose

$ sudo chmod +x /usr/local/bin/docker-compose




# 安装OPENVIDU

$ sudo curl https://s3-eu-west-1.amazonaws.com/aws.openvidu.io/install_openvidu_latest.sh | bash

四、 运行示例 Hello-world

# 安装NODE

$ sudo apt install -y nodejs npm

$ sudo npm config set registry https://registry.npm.taobao.org

$ sudo npm install n -g

$ sudo n stable




# 安装GIT

$ sudo apt install -y git




# 下载与运行Hello-world示例

$ git clone https://github.com/OpenVidu/openvidu-tutorials.git

$ npm install -g http-server

$ http-server openvidu-tutorials/openvidu-hello-world/web

五、 结语

到此为止,大家对Kurento Media Server的原理和使用有一个大概的认识了吧,Kurento Media Server是一个很不错的框架,它功能强大而且容易入手,本人所在公司也有产品在使用。

相关推荐

Let’s Encrypt免费搭建HTTPS网站

HTTPS(全称:HyperTextTransferProtocoloverSecureSocketLayer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入...

使用Nginx配置TCP负载均衡(nginx tcp负载)

假设Kubernetes集群已经配置好,我们将基于CentOS为Nginx创建一个虚拟机。以下是实验种设置的详细信息:Nginx(CenOS8Minimal)-192.168.1.50Kube...

Nginx负载均衡及支持HTTPS与申请免费SSL证书

背景有两台minio文件服务器已做好集群配置,一台是192.168.56.41:9000;另一台是192.168.56.42:9000。应用程序通过Nginx负载均衡调用这两台minio服务,减轻单点...

HTTPS配置实战(https配置文件)

原因现在网站使用HTTPS是规范操作之一,前些日子买了腾讯云服务,同时申请了域名http://www.asap2me.top/,目前该域名只支持HTTP,想升级为HTTPS。关于HTTPS的链接过程大...

只有IP地址没有域名实现HTTPS访问方法

一般来说,要实现HTTPS,得有个注册好的域名才行。但有时候呢,咱只有服务器的IP地址,没注册域名,这种特殊情况下,也能照样实现HTTPS安全访问,按下面这些步骤来就行:第一步,先确认公网...

超详解:HTTPS及配置Django+HTTPS开发环境

众所周知HTTP协议是以TCP协议为基石诞生的一个用于传输Web内容的一个网络协议,在“网络分层模型”中属于“应用层协议”的一种。在这里我们并不研究该协议标准本身,而是从安全角度去探究使用该协议传输数...

Godaddy购买SSL之后Nginx配置流程以及各种错误的解决

完整流程:参考地址:https://sg.godaddy.com/zh/help/nginx-generate-csrs-certificate-signing-requests-3601生成NGI...

Nginx从安装到高可用,一篇搞定(nginx安装与配置详解)

一、Nginx安装1、去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本2、上传nginx到linux系统3、安装依赖环境(1)安装gcc环境yuminstallgc...

阿里云免费证书申请,配置安装,使用tomcat,支持http/https访问

参数说明商品类型默认已选择云盾证书服务(无需修改)。云盾证书服务类型SSL证书服务的类型。默认已选择云盾SSL证书(无需修改),表示付费版SSL证书。如果您需要免费领取或付费扩容DV单域名证书【免费试...

你试过两步实现Nginx的规范配置吗?极速生成Nginx配置小工具

NGINX是一款轻量级的Web服务器,最强大的功能之一是能够有效地提供HTML和媒体文件等静态内容。NGINX使用异步事件驱动模型,在负载下提供可预测的性能。是当下最受欢迎的高性能的Web...

从零开始搭建HTTPS服务(搭建https网站)

搭建HTTPS服务的最初目的是为了开发微信小程序,因为wx.request只允许发起HTTPS请求,并且还必须和指定的域名进行网络通信。要从零开始搭建一个HTTPS的服务需要下面4...

群晖NAS使用官网域名和自己的域名配置SSL实现HTTPS访问

安全第一步,群晖NAS使用官网域名和自己的域名配置SSL实现HTTPS访问【新手导向】NAS本质还是一个可以随时随地访问的个人数据存储中心,我们在外网访问的时候,特别是在公网IP下,其实会面临着很多安...

让网站快速升级HTTPS协议提高安全性

为什么用HTTPS网络安全越来越受到重视,很多互联网服务网站,都已经升级改造为https协议。https协议下数据包是ssl/tcl加密的,而http包是明文传输。如果请求一旦被拦截,数据就会泄露产生...

用Https方式访问Harbor-1.9版本(https访问流程)

我上周在头条号写过一篇原创文章《Docker-Harbor&Docker-kitematic史上最详细双系统配置手册》,这篇算是它的姊妹篇吧。这篇文章也将用到我在头条写的另一篇原创文章的...

如何启用 HTTPS 并配置免费的 SSL 证书

在Linux服务器上启用HTTPS并配置免费的SSL证书(以Let'sEncrypt为例)可以通过以下步骤完成:---###**一、准备工作**1.**确保域名已解析**...

取消回复欢迎 发表评论: