From 482b2751361ffc78eb64d12cd82218cfc97558b7 Mon Sep 17 00:00:00 2001 From: Micael Gallego Date: Tue, 11 Oct 2016 10:07:07 +0200 Subject: [PATCH] Update README to a minimal description - Remove KurentoRoom references - Update license to Apache License v2 - Remove implementation details --- README.md | 261 ++---------------------------------------------------- 1 file changed, 7 insertions(+), 254 deletions(-) diff --git a/README.md b/README.md index 454a58f1..79d824bd 100644 --- a/README.md +++ b/README.md @@ -1,257 +1,10 @@ -[![][KurentoImage]][Kurento] +OpenVidu +======== -Copyright © 2013-2016 [Kurento]. Licensed under [LGPL v2.1 License]. +OpenVidu is a platform for adding group video calls in your web or mobile +application. It is based on [Kurento](http://www.kurento.org), the WebRTC platform +for multimedia applications. -kurento-room -============ +OpenVidu and Kurento are licensed under Apache License v2. -Kurento Room is composed by several modules to offer group communications by -means of WebRTC. These modules are: - - * `kurento-room-sdk` - module that provides a management interface for - developers of multimedia conferences (rooms) applications in Java - * `kurento-room-server` - Kurento’s own implementation of a room API, it - provides the WebSockets API for the communications between room clients and - the server. - * `kurento-room-client` - Java library that uses WebSockets and JSON-RPC to - interact with the server-side of the Room API. Can be used to implement the - client-side of a room application. - * `kurento-room-client-js` - Javascript library that acts as wrapper for several - JS APIs (WebRTC, WebSockets, Kurento Utils). Can be used to implement the - client-side of a room application. - * `kurento-room-demo` - demonstration project, contains the client-side - implementation (HTML, Javascript, graphic resources) and embeds the room - server to provide the functionality required for group communications - * `kurento-room-test` - integration and functionality tests for the basic room - server application - * `kurento-room-demo-test` - integration and functionality tests for the demo - application. - -There is extensive documentation on each of these components together with a -tutorial based on the Room demo. This documentation can be easily generated in -HTML format from the [kurento-room-doc](./kurento-room-doc/README.md) project. - -Dependencies ------------- - -These are some of the design and architecture requirements that an application -has to fulfill in order to integrate the Room API: - - * include the SDK module to its dependencies list - * create one of the two `RoomManager` types as a singleton instance by - providing implementations for the following interfaces: - * `RoomEventHandler` - * `KurentoClientProvider` - * develop the client-side of the application for devices that support WebRTC - (*hint:* or use our *client-js* library and take a look at the demo's client - implementation) - * design a room signaling protocol that will be used between the clients and - the server (*hint:* or use the WebSockets API from `kurento-room-server`) - * implement a handler for clients' requests on the server-side, that will - use the `RoomManager` to process these requests (*hint:* JSON-RPC handler - from `kurento-room-server`) - * choose a response and notification mechanism for the communication with the - clients (*hint:* JSON-RPC notification service from `kurento-room-server`) - -About the technology stacks that can or should be used to implement a Rooms -application: - - * WebSockets for the communications between the server and the clients - * Spring and Spring Boot for the easy configuration and integration with some - of Kurento's modules. It also provides a WebSockets library. - -And of course, the main requirement is at least one installation of the Kurento -Media Server, accessible to the room application. - -Running the demo ----------------- - -For a quick initial contact with the framework, we recommend running the demo -application and observing the exchange of Websocket messages between the clients -and the server. - -Currently, the demo is only supported for Ubuntu 14.04 LTS 64bits. - -After cloning the tutorial, it can be executed directly from the terminal by -using Maven's `exec` plugin. To make sure the demo's -build and execution works smoothly, a stable release (or tag) is checked out -before proceeding with the build (prevents missing dependencies, given that in -Kurento *master* is the development branch): - -``` -$ git clone git@github.com:Kurento/kurento-room.git -$ cd kurento-room -$ git checkout 6.1.0 -$ cd kurento-room-demo -$ mvn compile exec:java -``` - -Now open the following URL in a WebRTC-compatible browser and connect to a new -room by providing the desired user and room names: - -``` -http://localhost:8080 -``` - -Configuring the demo --------------------- - -There are a couple of interesting options or properties that might have to be -modified for the demo to function properly. - -The properties file, **kroomdemo.conf.json**, used in the demo's execution as -described above, is located in the folder `src/main/resources` and its -contents are the following: - - { - "kms": { - "uris": ["ws://localhost:8888/kurento","ws://127.0.0.1:8888/kurento"] - }, - "app": { - "uri": "http://localhost:8080/" - }, - "kurento": { - "client": { - //milliseconds - "requestTimeout": 20000 - } - }, - "demo": { - //mario-wings.png or wizard.png - "hatUrl": "mario-wings.png" - "hatCoords": { - // mario-wings hat - "offsetXPercent": -0.35F, - "offsetYPercent": -1.2F, - "widthPercent": 1.6F, - "heightPercent": 1.6F - - //wizard hat - //"offsetXPercent": -0.2F, - //"offsetYPercent": -1.35F, - //"widthPercent": 1.5F, - //"heightPercent": 1.5F - }, - "loopback" : { - "remote": false, - //matters only when remote is true - "andLocal": false - }, - "authRegex": ".*", - "kmsLimit": 10 - } - } - -These properties can be overwritten on the command-line when starting -the demo server: - -``` -$ mvn compile exec:java -Dkms.uris=[\"ws://192.168.1.99:9001/kurento\"] -``` - -In this example, we've instructed the demo to use a different URI of a running -KMS instance when creating the `KurentoClient` required by the Room API. - -More details on the demo's configuration and execution can be found in the demo's -[README page](./kurento-room-demo/README.md) or in the Room API -[documentation](./kurento-room-doc/README.md) . - -What is Kurento ---------------- - -Kurento is an open source software project providing a platform suitable -for creating modular applications with advanced real-time communication -capabilities. For knowing more about Kurento, please visit the Kurento -project website: http://www.kurento.org. - -Kurento is part of [FIWARE]. For further information on the relationship of -FIWARE and Kurento check the [Kurento FIWARE Catalog Entry] - -Kurento is part of the [NUBOMEDIA] research initiative. - -Documentation -------------- - -The Kurento project provides detailed [documentation] including tutorials, -installation and development guides. A simplified version of the documentation -can be found on [readthedocs.org]. The [Open API specification] a.k.a. Kurento -Protocol is also available on [apiary.io]. - -Source ------- - -Code for other Kurento projects can be found in the [GitHub Kurento Group]. - -News and Website ----------------- - -Check the [Kurento blog] -Follow us on Twitter @[kurentoms]. - -Issue tracker -------------- - -Issues and bug reports should be posted to the [GitHub Kurento bugtracker] - -Licensing and distribution --------------------------- - -Software associated to Kurento is provided as open source under GNU Library or -"Lesser" General Public License, version 2.1 (LGPL-2.1). Please check the -specific terms and conditions linked to this open source license at -http://opensource.org/licenses/LGPL-2.1. Please note that software derived as a -result of modifying the source code of Kurento software in order to fix a bug -or incorporate enhancements is considered a derivative work of the product. -Software that merely uses or aggregates (i.e. links to) an otherwise unmodified -version of existing software is not considered a derivative work. - -Contribution policy -------------------- - -You can contribute to the Kurento community through bug-reports, bug-fixes, new -code or new documentation. For contributing to the Kurento community, drop a -post to the [Kurento Public Mailing List] providing full information about your -contribution and its value. In your contributions, you must comply with the -following guidelines - -* You must specify the specific contents of your contribution either through a - detailed bug description, through a pull-request or through a patch. -* You must specify the licensing restrictions of the code you contribute. -* For newly created code to be incorporated in the Kurento code-base, you must - accept Kurento to own the code copyright, so that its open source nature is - guaranteed. -* You must justify appropriately the need and value of your contribution. The - Kurento project has no obligations in relation to accepting contributions - from third parties. -* The Kurento project leaders have the right of asking for further - explanations, tests or validations of any code contributed to the community - before it being incorporated into the Kurento code-base. You must be ready to - addressing all these kind of concerns before having your code approved. - -Support -------- - -The Kurento project provides community support through the [Kurento Public -Mailing List] and through [StackOverflow] using the tags *kurento* and -*fiware-kurento*. - -Before asking for support, please read first the [Kurento Netiquette Guidelines] - -[documentation]: http://www.kurento.org/documentation -[FIWARE]: http://www.fiware.org -[GitHub Kurento bugtracker]: https://github.com/Kurento/bugtracker/issues -[GitHub Kurento Group]: https://github.com/kurento -[kurentoms]: http://twitter.com/kurentoms -[Kurento]: http://kurento.org -[Kurento Blog]: http://www.kurento.org/blog -[Kurento FIWARE Catalog Entry]: http://catalogue.fiware.org/enablers/stream-oriented-kurento -[Kurento Netiquette Guidelines]: http://www.kurento.org/blog/kurento-netiquette-guidelines -[Kurento Public Mailing list]: https://groups.google.com/forum/#!forum/kurento -[KurentoImage]: https://secure.gravatar.com/avatar/21a2a12c56b2a91c8918d5779f1778bf?s=120 -[LGPL v2.1 License]: http://www.gnu.org/licenses/lgpl-2.1.html -[NUBOMEDIA]: http://www.nubomedia.eu -[StackOverflow]: http://stackoverflow.com/search?q=kurento -[Read-the-docs]: http://read-the-docs.readthedocs.org/ -[readthedocs.org]: http://kurento.readthedocs.org/ -[Open API specification]: http://kurento.github.io/doc-kurento/ -[apiary.io]: http://docs.streamoriented.apiary.io/ +OpenVidu was forked from [KurentoRoom project](https://github.com/Kurento/kurento-room).