Kurento v6 Development Guide

16

Transcript of Kurento v6 Development Guide

Page 1: Kurento v6 Development Guide
Page 2: Kurento v6 Development Guide
Page 3: Kurento v6 Development Guide
Page 4: Kurento v6 Development Guide

Kurento ProtocolJSON-RPC over WS

Media Traffic

Application code

Media Traffic

Client KurentoMedia Server

Java EEApp Server

Java Kuento Client

JavaScript Kuento Client

Application code Application codeKurentoProtocol

JSON-RPCover WS

Signalingprotocol

KurentoMedia Server

Client

Media Traffic

Client KurentoMedia Server

Node.jsServer

Application code Application codeKurentoProtocol

JSON-RPCover WS

Signalingprotocol JavaScript

Kuento Client

Page 5: Kurento v6 Development Guide
Page 6: Kurento v6 Development Guide

“Magic Mirror” Example

Page 7: Kurento v6 Development Guide

Kurento Media Server

Media Pipeline

Sink

SRC

WebRtcEndpoint

Sink

SRC

FaceOverlayFilter

Magic Mirror Media Pipeline

Page 8: Kurento v6 Development Guide

“Magic Mirror” Example

Page 9: Kurento v6 Development Guide

Java

pom.xml

<dependencies> <dependency> <groupId>org.kurento</groupId> <artifactId>kurento-client</artifactId> <version>6.6.0</version> </dependency> <dependency> <groupId>org.kurento</groupId> <artifactId>kurento-utils-js</artifactId> <version>6.6.0</version> </dependency></dependencies>

Kurento Development with Java@Autowiredprivate KurentoClient kurentoClient;

MediaPipeline pipeline = kurentoClient.createMediaPipeline();WebRtcEndpoint webRtcEndpoint = new WebRtcEndpoint.Builder(pipeline).build();FaceOverlayFilter faceOverlayFilter = new FaceOverlayFilter.Builder(pipeline).build();webRtcEndpoint.connect(faceOverlayFilter);faceOverlayFilter.connect(webRtcEndpoint);

Page 10: Kurento v6 Development Guide

JavaScript

bower.json

"dependencies": { "kurento-client": "6.6.0", "kurento-utils": "6.6.0"}

Kurento Development with JavaScript for browser

kurentoClient.create("MediaPipeline", function(error, pipeline) { pipeline.create('WebRtcEndpoint', function(error, webRtc) { if (error) return onError(error); pipeline.create('FaceOverlayFilter', function(error, filter) { if (error) return onError(error); webRtc.connect(filter, function(error) { if (error) return onError(error); filter.connect(webRtc, function(error) { if (error) return onError(error); }); }); }); });});

Page 11: Kurento v6 Development Guide

JavaScript

Kurento Development with JavaScript for Node.js

kurentoClient.create("MediaPipeline", function(error, pipeline) { pipeline.create('WebRtcEndpoint', function(error, webRtc) { if (error) return onError(error); pipeline.create('FaceOverlayFilter', function(error, filter) { if (error) return onError(error); webRtc.connect(filter, function(error) { if (error) return onError(error); filter.connect(webRtc, function(error) { if (error) return onError(error); }); }); }); });});

package.json

"dependencies": { "kurento-client": "6.6.0"}

bower.json

"dependencies": { "kurento-utils": "6.6.0"}

Page 12: Kurento v6 Development Guide

Video call one to one

Page 13: Kurento v6 Development Guide

Advanced video call one to one

Page 14: Kurento v6 Development Guide

Video call one to many

Page 15: Kurento v6 Development Guide
Page 16: Kurento v6 Development Guide