LogoLogo
Quick Links
  • Arcware Cloud
  • Arcware Cloud Platform
    • Getting started with Arcware Cloud
      • Sign up and sign in
      • Select a Plan & Creating your Tenant
      • Creating your Tenant
      • 04. Creating your first project
      • 05. Upload and manage your Unreal packages
      • 06. Setting up your project
      • 07. Preview and share the stream
      • 08. Upgrade your Tenant
      • 👑09. Organization
      • 👑10. Add-ons
      • 11. Help Center
      • 👑12. Customer Support
    • 👑Add-ons guide
      • Direct Flow
      • Asset Management
    • Advanced settings
      • 01. AFK Module - User inactivity
      • 02. Max instance run-time
    • Common Arcware Cloud Questions
  • Unreal Engine Setup
    • Set up Pixel Streaming in your own project​
      • 01. Core Settings
        • 01.1. Plugin
        • 01.2. Pixel Streaming Input / Json messages
        • 01.3. Resolution
        • 01.4. Camera Aspect Ratio
        • 01.5. Framerate
        • 01.6. Mouse
        • 01.7. Touch Input Setup for Mobile
        • 01.8. DirectX version
      • 02. Optional Settings
        • 02.1 Touch Controllers
        • 02.2 Playing Media files
    • Using the Arcware Pixel Streaming Template Project
      • Template Overview
      • Getting Started
        • 01. Template download
        • 02. Arcware Blueprints
          • 02.1. Arcware GameMode
          • 02.2. Arcware Player Controller
            • 02.2.1. Sending and Receiving Json messages
            • 02.2.2. Creating and Testing Your Own Events
          • 02.3. Arcware Pawn
            • 02.3.1 Change Movement Mode
            • 02.3.2 Set Collision Channels
            • 02.3.3 Add new camera views
          • 02.4. Arcware HUD
        • 03. Packaging your project
  • ARCWARE FEATURES
    • Screenshot Functionality
      • Frontend Overview
        • Web UI
        • In-Game UI
      • Blueprint overview
  • Web Integration
    • ⬆️PixelStreaming WebSDK
      • Implementing the stream on your app
        • Getting Started
        • Code examples
          • Javascript + HTML
          • React
          • VueJS
          • AngularJS
        • Migration from @arcware/webrtc-plugin
        • Best practices
      • Configuration
      • Interacting with the Stream
        • Stream Container
        • Video Element
        • Customizing the User Interface
        • Handling Dynamic Content
        • Stream Display Customization
      • Interacting with Unreal Engine
      • In depth
        • Ticket destroyed.
        • Events handlers
        • Disconnect
        • ConnectionIdentifier
        • Settings-Menu
        • AFK-module
      • Showcase
    • ⬇️WebRTC Plugin
      • Getting started
      • Props and Types
      • SizeContainer, container and videoRef
      • Enabling the audio
      • Afk-module
      • Interacting with Unreal Engine
      • Example WebRTC Plugin Applications
        • React
        • AngularJS
        • VueJS
        • Plain HTML
Powered by GitBook
LogoLogo

Arcware Cloud Platform

  • Getting started​
  • Add-ons guide
  • Common Arcware Cloud Questions

Unreal Engine Setup

  • Set up Pixel Streaming in your own project​
  • Using the Arcware Pixel Streaming Template Project
  • Common Unreal Engine Questions

Arcware Features

  • Screenshot Functionality

Web Integration

  • PixelStreaming WebSDK
  • WebRTC Plugin

Copyright 2024 - Arcware GmbH

On this page
  1. Web Integration
  2. WebRTC Plugin
  3. Example WebRTC Plugin Applications

Plain HTML

<!DOCTYPE html>
<html>
  <head>
    <title>Arcware WebRTC Plugin Example</title>
    <style>
      * {
        margin: 0;
        padding: 0;
      }
      #sizeContainer,
      #videoContainer,
      #videoRef {
        width: 100vw;
        height: 100vh !important;
        background: #000;
      }
      .buttons {
        position: absolute;
        z-index: 4;
        display: flex;
        flex-direction: "row";
        justify-content: "center";
        align-items: "center";
        bottom: 10px;
        column-gap: 5px;
      }
      .button {
        padding: 7px 15px;
        border: none;
        border-radius: 4px;
        background: rgba(62, 62, 62, 0.75);
        cursor: pointer;
        color: #ffffff;
      }
    </style>
  </head>
  <body>
    <script type="text/javascript">
      function handleMute() {
        if (document.getElementById("audioRef").paused === true) {
          document.getElementById("audioRef").play();
        } else if (document.getElementById("audioRef").paused === false) {
          document.getElementById("audioRef").pause();
        }
      }
    </script>
    <script>
      let newWebRTC;
      function handleSendCommands(command) {
        newWebRTC.emitUIInteraction(command);
      }
    </script>
    <div id="sizeContainer">
      <div id="videoContainer">
        <video id="videoRef"></video>
        <audio id="audioRef"></audio>
      </div>
      <div class="buttons">
        <button class="button button-1" onclick="handleSendCommands({ body_color: 'body_color_01' })">
          Change to color 1
        </button>
        <button class="button button-2" onclick="handleSendCommands({ body_color: 'body_color_02' })">
          Change to color 2
        </button>
        <button class="button button-3" onclick="handleSendCommands({ body_color: 'body_color_03' })">
          Change to color 3
        </button>
        <button class="button button-4" onclick="handleSendCommands({ body_color: 'body_color_04' })">
          Change to color 4
        </button>
        <button class="button button-5" onclick="handleSendCommands({ body_color: 'body_color_05' })">
          Change to color 5
        </button>
        <button class="button button-6" onclick="handleMute()">Sound</button>
      </div>
    </div>
    <script type="module">
      import { WebRTCClient } from "https://unpkg.com/@arcware/webrtc-plugin@latest/index_new.umd.js";
      newWebRTC = new WebRTCClient({
        address: "wss://signalling-client.ragnarok.arcware.cloud/",
        shareId: "shareID from your project",
        settings: {
          /* object with settings */
        },
        playOverlay: false,
        loader: (val) => {
          /* handle loader */
        },
        applicationResponse: (response) => {
          /* handle application response */
          console.log("response", response);
        },
        sizeContainer: document.getElementById("sizeContainer"),
        container: document.getElementById("videoContainer"),
        videoRef: document.getElementById("videoRef"),
        audioRef: document.getElementById("audioRef"),
      });
    </script>
  </body>
</html> 
PreviousVueJS

Last updated 1 year ago

⬇️