ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

多媒体开发(20):试用kurento

2019-06-21 11:52:21  阅读:564  来源: 互联网

标签:多媒体 media server APPServer KMS 20 webrtc kurento


之前讲webrtc下载时,有提到,webrtc提供了“实时通信”的能力。而基于webrtc,涌现了一些各具特色的开源或商用项目,这些项目可以满足不同的需求场景,比如视频会议、直播连麦、实时通话等等。比如网上的这个截图,介绍了各个基于webrtc的项目的特点:
基于webrtc的各个项目

看到图中的红框了吧,小程想介绍的是kurento。

kurento的官网是这个:http://www.kurento.org/,在这里可以看到kurento的简介:

Kurento is a WebRTC media server and a set of client APIs making simple the development of advanced video applications for WWW and smartphone platforms. Kurento Media Server features include group communications, transcoding, recording, mixing, broadcasting and routing of audiovisual flows.

As a differential feature, Kurento Media Server also provides advanced media processing capabilities involving computer vision, video indexing, augmented reality and speech analysis. Kurento modular architecture makes simple the integration of third party media processing algorithms (i.e. speech recognition, sentiment analysis, face recognition, etc.), which can be transparently used by application developers as the rest of Kurento built-in features.

用我的话,kurento是一个基于webrtc开源项目,提供了媒体服务器以及简单的客户端结构。kurento媒体服务,即kurento media server,简称为KMS,相对于webrtc,KMS有更多实用的功能,可以参考官网的这个截图说明:
KMS的功能

从上面的说明来看,kurento可以应用于web与移动设备,而且提供的服务器功能(转码、录制、人脸识别、滤镜等等)也是比较强大的。

那么,kurento在使用上的难度怎么样呢?

本文介绍kurento的简单使用,目的是让你感受一下这个框架的操作难度,以及这个框架可以带来些什么。

kurento有一个优势,就是有详细文档说明,地址是:http://doc-kurento.readthedocs.io/en/stable/

对于kurento框架结构,简单来说,是这个图:
kurento框架结构

可以看到,有三个模块,一个是KMS,一个是应用服务(APPServer),一个是client。这三个模块的简单交互描述,是这样的:
kurento交互图

所以,想要使用kurento,那就要准备好KMS、APPServer跟client,并设置好交互的环境(比如端口设置、安全请求的设置等等)。

(1)安装KMS

KMS目前只能在ubuntu上安装,所以你先要准备好ubuntu的系统环境,然后就可以参照kurento的文档进行安装,也就是这个地址:http://doc-kurento.readthedocs.io/en/stable/user/installation.html

简单来说,这样安装:

sudo apt-get install kurento-media-server

安装KMS后,可以这样启动与停止KMS:

sudo service kurento-media-server start

sudo service kurento-media-server stop

为了查看KMS是否已经启动,可以这样:

sudo netstat -tupan | grep kurento

以上是安装KMS,然后,还需要配置KMS,配置文件是:/etc/kurento/kurento.conf.json。

先看下小程的配置文件的内容:
kMS的配置

留意到,里面有一个websocket的配置项,而且里面除了8888这个端口,还配置了一个8433的端口(在secure项),为什么会有这两个端口呢?

上面有提到kurento的模块结构,如果从交互请求的角度来说,是这样的一个图:
kurento的交互请求

从上图可以看到,KMS跟APPServer之间的请求交互,只有websocket的方式,而8888这个端口(默认),就是用于ws。至于另一个新加的8433,则是用于“安全的websocket”(wss)。之所以要用到wss,是因为小程这里的演示,用的是js,而js跟KMS/APPServer交互时要求使用https,所以就配置了这个新的端口。

详细如何配置使用wss,你可以参考这个文档:http://doc-kurento.readthedocs.io/en/stable/features/security.html

比如其中的截图:
配置wss

至此,KMS安装好,配置好,并启动起来了,然后就是APPServer的安装。

(2)启动APPServer

下载并编译APPServer的文档在这里:https://doc-kurento.readthedocs.io/en/stable/tutorials/java/tutorial-helloworld.html

简单来说,这样下载并编译APPServer:
下载编译APPServer

编译完后,就可以启动APPServer,进到kurento/kurento-tutorial-js目录,这里使用kurento-hello-world这个例子:

cd kurento-hello-world

http-server -p 8433 -S -C keys/server.crt -K keys/server.key

这个http服务启动时,可以看到这样的提示:
APPServer启动提示

从提示中,可以看到可用的请求链接,把第二个链接,拷贝到浏览器中发起请求。

(3)启动client

在KMS跟APPServer都启动起来后,就可以用浏览器来请求了。小程使用的是chrome浏览器。

直接请求KMS是不通的,这时,先要作一些“疏通”工作。

设置不缓存

https://ip:8433,chrome以这个地址访问KMS,然后,右击页面
点击chrome的检查

再勾选这个“不缓存”:
chrome不缓存

请求APPServer

https://ip:8433/kurento,在chrome上发起这个请求,选择“高级”并点击进入“非安全地址”,最终看到这样的显示:
请求APPServer,通过https检验

连接KMS

这时,可以连接KMS了,在chrome上发起https://ip:8433,点击start按钮,就可以看到从KMS回来的流了,比如小程这个:
KMS返回的流

至此,kurento的简单使用就介绍完毕了。

总结一下,本文简单介绍了kurento的功能、结构,并且演示了怎么运行起kurento,最终看到从kurento服务器返回的视频流。


easy

标签:多媒体,media,server,APPServer,KMS,20,webrtc,kurento
来源: https://www.cnblogs.com/freeself/p/11063686.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有