Video Streams

Download latest version

The Video Stream Component will display local and remote Video Streams within your overlay. For a full list of all available Overlay Components please check out the Overlay Component List

The Video Streams component displays up to 6 simultaneous video streams in the overlay:

  • 2 large Video Streams can be displayed in the middle of the overlay.
  • 3 medium size Video Streams can be displayed on the lower right side of the overlay.
  • 1 small Video Stream from the currently displayed driver can be displayed next to Driver Details component.

The system is built around the WebRTC technology. It is split into 4 parts :

  • The overlay
  • A capture web app
  • A cameraman web app
  • A central signaling server

The example above has been run using 3 capture web apps, 1 cameraman web app, 1 overlay connected to the signaling server.

Overlay

Red arrows represent peer to peer video streams
Blue arrows represent data connections

The Video Stream component in the overlay is listening to data broadcast by the Cameraman Web App and relayed by the Signaling Server. When a Cameraman Web App requests that a source is displayed in a window the Video Stream component opens a peer to peer WebRTC connection to the corresponding Capture Web App.

The Video Streams component being based on WebRTC technology and WebRTC requiring a secure connection, the URL to the overlay used in OBS or XSplit must be a secure URL (https). Therefore the URL is: https://livetiming.sdk-gaming.co.uk/f1-overlay.html?room=room_name when connecting to iRacing Live Timing through our central proxy server or https://livetiming.sdk-gaming.co.uk/f1-overlay.html?server=localhost:8282 when connecting to iRacing Live Timing locally. Keep in mind that when using a secure URL the browser expects all URLs in the page to be secure as well or it won’t load them. Therefore all pictures and logos must then be hosted on a secure server.

If the URL is unsecure (http://livetiming.sdk-gaming.co.uk/f1-overlay.html?room=room_name or http://livetiming.sdk-gaming.co.uk/f1-overlay.html?server=localhost:8282) the Video Stream component is completely disabled: it will display nothing and will not respond to requests sent by the Cameraman Web App.

The Signaling Server can be specified in the URL using the rtcserver=server_url command. Default value rtcserver=easyrtc.sdk-gaming.co.uk is pointing to our own Signaling Server. The room name on the Signaling Server can be specified in the URL using rtcroom=rtcroom_name. If rtcroom is not specified rtcroom takes the value of room. In ordinary situations there is no need to set rtcserver and rtcroom.

The Video Streams component can be displayed or fully hidden using Overlay.VideoStreams.Display = “Show”; or Overlay.VideoStreams.Display = “Hide”; in the remote control.

A new display mode has been added to the Driver Details component and can be activated with Overlay.DriverDetails.Display = “VideoStream”; in the remote control. The Driver Details component is then displayed on 3 lines instead of 2 and a video stream window is displayed next to it when the currently selected driver is sharing a video stream using the Capture Web App.

Capture Web App

The Capture Web App is used to capture and send a video stream to the overlay. It can be loaded here: https://video-stream.sdk-gaming.co.uk/capture.html. When publishing the Capture Web App the race director or cameraman can add the room as a command line argument to avoid users having to find it. An example: https://video-stream.sdk-gaming.co.uk/capture.html?room=bsrtc. Typical user of this app are drivers and commentators.

The Capture Web App runs on platforms supporting the WebRTC technology: Windows computers as well as Android phones and tablets. Chrome and Firefox browsers provide the best support for WebRTC.

  • Driver name – Name used to identify the connected user. This is the name displayed in the Cameraman Web App as well as in the title area of each video stream window in the overlay. Drivers should use their exact iRacing ID: a video stream from a driver can only be displayed in the Driver Details component when his iRacing ID is recognized. When an iRacing driver ID is recognized the Driver name is formatted according to overlay rules for display in window titles else no formatting is applied and name is displayed as is. Driver name can’t be changed when connected to a room.
  • Room name – Name of the virtual room where the overlay, Cameraman Web App, Capture Web App and Signaling Server exchange data for the broadcast. Good practice is to set the Room name as a parameter in the URL to avoid drivers or commentators having to find it: it will then override the previously saved value. Room name can’t be changed when connected to a room.
  • Video input – The Video input device is selected using this combo box. The list of devices is updated every second allowing hot plugging and unplugging of webcams without restarting or reloading the application. Video input device can’t be changed when connected to a room.
  • ResolutionResolution can be set to Default or HD. Default resolution is the resolution that the input device provides when no constraint is set. HD resolution constrains the input device to provide at least 720p resolution if available. Resolution can’t be changed when connected to a room.
  • Video preview Video preview can be set to Display or Hide. When Display is active a video preview window is displayed at the top of the form: it can be used to adjust camera angle and lighting. Video preview state can’t be changed when connected to a room.
  • Enter room – When the Enter Room button is pressed the Capture Web App connects to the Signaling Server and asks to enter the given room. If the room is not used it is then created. Driver name is then added to the list of drivers of the room and all the settings in the form are greyed out and are not editable. If the process is successful a green Connected banner is displayed at the top of the window.

Capture Web App

Being connected to the signaling server doesn’t mean that a video stream is being sent. It means that the Capture Web App is waiting for a request from the overlay. When a video stream request from the overlay is received the application accepts, opens the video stream and displays “On air serving x connections” in a red banner, x representing the number of simultaneous streams the Capture Web App is serving:

  • Leave room – When clicking the Leave Room button, all video streams are closed, the user leaves the room and disconnects from the signaling server. All settings in the form are then editable.

Cameraman Web App

The Cameraman Web App is used by a cameraman to select which video stream is displayed in which window. Several cameramen can be connected to the same room. As soon as a cameraman changes a setting in the Cameraman Web App it is automatically reflected in all the other Cameraman Web App connected to the room. The Cameraman Web App can be found here: https://video-stream.sdk-gaming.co.uk/cameraman.html.

In the following example Pascal is displayed in windows 1 and Antoine is displayed in window 2. Both Antoine and Pascal are selected to be displayed in the window in the Driver Details component (User icon is active) when then become the current driver. To hide a driver simply click the cross button on the left.

Before sending a video stream to the overlay a cameraman might want to preview the actual stream. Clicking the eye icon next to the driver name opens a connection between Capture and Cameraman web app and displays the video stream in a small window:

Clicking the Full window button below enlarges the video stream to the size of the window. Clicking in the video reduces the video stream to the previous size. Keep in mind that each preview opens a peer to peer connection: therefore it should be kept to a minimum, usually just a few seconds to check that the content is adequate.

Signalling Server

The Signaling Server is in the cloud where it can be accessed from any web browser. It keeps a list of rooms and users in each room up to date. It also sends WebRTC signaling data used to open peer to peer video streams to Capture Web App and overlay.

  • Before the race
    • Race director or cameraman sends the Capture Web App link including room to all drivers and commentators.
    • During practice or warm up cameraman previews video streams of the connected drivers and commentators. Adequate video streams are marked accepted by activating the user icon next to user name.
  • During the race
    • Video streams from Drivers and commentators are displayed or hidden using the x-1-2-3-4-5 buttons next to driver names.
    • Driver video streams can be allowed or disallowed in the Driver Details component by activating or deactivating the corresponding user icon.

14 Day Free Trial

£ 0

14 Days

  • New Customers Only
  • iRacing Live Timing
  • iRacing Live HUD
  • iRacing Live Streamer
  • Discord Customer Support

Try now!

Choose Your Rolling SubscriptionMost Popular

£ ?

£8.33 per Month Ex-Vat
or £83.33 per Year Ex-Vat

  • iRacing Live Timing
  • iRacing Live HUD
  • iRacing Live Streamer
  • Discord Customer Support

Sign up now!

30 Day Access

£ 8.33

Per Month Ex-Vat

  • iRacing Live Timing
  • iRacing Live HUD
  • iRacing Live Streamer
  • Discord Customer Support

Sign up now!

1 Year Access

£ 83.33

Per Year Ex-Vat

  • iRacing Live Timing
  • iRacing Live HUD
  • iRacing Live Streamer
  • Discord Customer Support

Sign up now!

© 2019 SDK Gaming. All Rights Reserved