=================================== Kurento Java Tutorial - Hello World =================================== This web application has been designed to introduce the principles of programming with Kurento for Java developers. It consists of a :term:`WebRTC` video communication in mirror (*loopback*). This tutorial assumes you have basic knowledge of Java, JavaScript, HTML and WebRTC. We also recommend reading :doc:`/user/intro` before starting this tutorial. .. note:: Web browsers require using *HTTPS* to enable WebRTC, so the web server must use SSL and a certificate file. For instructions, check :ref:`features-security-java-https`. For convenience, this tutorial already provides dummy self-signed certificates (which will cause a security warning in the browser). Quick start =========== Follow these steps to run this demo application: 1. Install Kurento Media Server: :doc:`/user/installation`. 2. Run these commands: .. code-block:: shell git clone https://github.com/Kurento/kurento.git cd kurento/tutorials/java/hello-world/ git checkout main mvn -U clean spring-boot:run \ -Dspring-boot.run.jvmArguments="-Dkms.url=ws://{KMS_HOST}:8888/kurento" 3. Open the demo page with a WebRTC-compliant browser (Chrome, Firefox): https://localhost:8443/ 4. Click on *Start* to begin the demo. 5. Grant access to your webcam. 6. As soon as the loopback connection is negotiated and established, you should see your webcam video in both the local and remote placeholders. 7. Click on *Stop* to finish the demo. Understanding this example ========================== Kurento provides developers a **Kurento Java Client** to control the **Kurento Media Server**. This client library can be used in any kind of Java application: Server Side Web, Desktop, Android, etc. It is compatible with any framework like Java EE, Spring, Play, Vert.x, Swing and JavaFX. This *Hello World* demo is one of the simplest web applications you can create with Kurento. The following picture shows a screenshot of this demo running: .. figure:: ../../images/kurento-java-tutorial-1-helloworld-screenshot.png :align: center :alt: Kurento Hello World Screenshot: WebRTC in loopback *Kurento Hello World Screenshot: WebRTC in loopback* The interface of the application (an HTML web page) is composed by two HTML5 ``