ZeroLight Documentation
website·Indexed 34 days ago
https://resources.zerolight.com/docs/Technical documentation for ZeroLight's cloud streaming and API products, including OmniStream for enterprise cloud streaming with Unity and Unreal Engine integration, Palette for rich data streams and React integration, and the SpotLight API. Includes detailed references for version 4.8.4, Zlbolt, and Direct2D, as well as guides on CI/CD deployment, state management, and native web integration.
What's inside ZeroLight
- OmniStream is an enterprise cloud streaming platform by ZeroLight. It allows developers to upload packaged application builds, deploy them using the Portal, and stream the application directly to web browsers or embedded web pages.
Overview of the OmniStream deployment workflow
Deploying an application to OmniStream follows a five-step process:
- Integrate: Use OmniStream plugins (for Unreal and Unity) or the standalone OmniStream application (for VRED and Windows) to integrate streaming capabilities. Only packaged builds are uploaded; source projects remain local.
- Build & Upload: Package the application and upload it to the ZeroLight customer Portal via the plugin or standalone app.
- Deploy: Log into the Portal, select the build, and deploy it.
- Stream: Access the stream via a Portal link, embed it in a website using an iframe, or use the provided JavaScript library for advanced control.
- Iterate: Repeat steps 2 through 4 as development progresses.
Overview of the ZeroLight Portal
The ZeroLight Portal is the central management hub for OmniStream Accounts. It provides a unified interface to manage builds, handle deployments, access billing information, and retrieve application logs.Overview of ZeroLight SpotLight Platform
SpotLight is ZeroLight's content creation platform. It provides an API for automating content workflows, including authenticating, managing teams, and creating orders. For users seeking assistance with the SpotLight User Interface (UI), support is available at https://help.spotlightsuite.com/.Understand Render Services in OmniStream
A Render Service (or "service") is a configuration layer that allows you to deploy specific builds of an application to physical servers. Using Render Services instead of streaming versions directly provides several advantages:
- Stable Connection URLs: The URL is tied to the service, allowing you to update application versions without changing the link sent to users.
- Environment Separation: Easily distinguish between 'live' and 'dev' environments.
- Granular Access Control: Authentication can be configured at the service level (e.g., public 'live' vs. protected 'dev').
- Hardware Experimentation: Test different hardware choices without impacting production.
- Cost Control: Scheduling and provisioning are managed per Render Service.
Manage frame requests with direct2DController
Thedirect2DControllerglobal variable is used to create and request frame promises that resolve into images. The standard workflow involves creating an array offrameConfigsand submitting them to resolve the images.Retrieve team details
Returns details about a specific team, including available assets (cars). For this route, the<WORKING_TEAM_ID>in the URL path must match the value provided in thex-team-idheader.GET /api/external/teams/<WORKING_TEAM_ID> Content-Type: application/vnd.api+json x-access-token: <YOUR_TOKEN> x-team-id: <WORKING_TEAM_ID>Organize workstreams with Projects
A Project is used to segregate workstreams within an Account. It brings together Assets and manages the Render Services they are deployed to. To grant a Project access to Assets, you must link one or more Folders to that Project; the Project only gains access to Assets located within those linked Folders.Understand OmniStream Image mode fundamentals
Image mode is designed for high-traffic use cases (like product configurators) where some interactivity is sacrificed to serve more users than one-to-one video streams allow. Unlike Video mode, users cannot interact with the application via mouse or keyboard inside the stream window. Instead, all control must be managed through the webpage and passed to OmniStream as state. OmniStream renders an image reflecting that state and serves it via a CDN. Because the one-to-one connection is broken, state requests must be absolute rather than relative to ensure consistency across multiple simultaneous users. Note: Image mode must be enabled by a ZeroLight account manager before it can be used.Understand ZeroLight Portal Organisation and Account hierarchy
In the ZeroLight Portal, an Organisation represents a real-world entity that manages users and owns one or more Accounts. An Account is used to group resources for permission and financial segregation. While most organisations only need one Account, multiple Accounts are useful for managing different large workstreams or separate customers.SpotLight API Fundamentals and Authentication
The SpotLight API is available at
https://spotlightsuite.comand follows the JSON API specification. All requests must use HTTPS and theapplication/vnd.api+jsoncontent type with UTF-8 charset.Required Headers for most routes:
x-access-token: Authorization token.x-team-id: Team identifier (required unless explicitly documented as optional).
Route Prefixing:
- General routes:
/api/external/ - Order routes:
/api/external/orders/
Deploy and stream applications via Render Services
A Render Service belongs to a Project and controls access to uploaded Assets. An Asset Version becomes available for streaming once it is deployed to a Render Service.
Key characteristics:
- Static Addressing: Render Services have a unique, unchanging address, allowing updates to be deployed without changing links or web code.
- Multi-tenancy: A single Render Service can host multiple Assets simultaneously, using unique connection parameters to direct users to the correct application.
- Environment Segregation: Users typically create separate services for different environments (e.g., a 'dev' service for testing and a 'live' service for customer-facing production).