The CEF integration with Singular works in the following ways:
Transfer pixels rendered by Singular into a 3rd party system
Manage and control Singular overlays
Integration into the video pipeline
1 - Transfer pixels -
Singular produces HTML5 overlays. The easiest way to render HTML5 is to integrate CEF on your platform.
You can download the CEF sources here.
Integrating CEF is straightforward even if it’s a huge C++ library.
CEF receives a URL pointing to a Singular output and produces RGBA frames in a resolution and frame rate you choose.
A good starting point for the CEF integration is the description about “Off-Screen Rendering” here:
A difficult part of the integration is the animation timing. A good approach is to let CEF render offline at a defined frame rate and collect the buffers it produces in a list. The custom application then fetches the buffers from that list at the same rate. This detaches the timing of the video pipeline from the animation rendering. It adds some delay to the overlays, which usually is not a problem.
A good source of information is the OBS source code. OBS did an amazing job integrating CEF into their video processing engine. Check it out here:
Also check out the CEF Wiki pages here as well as online examples where people integrated CEF into their applications to render web content.
2 - Manage and control Singular overlays -
Communicating with Singular is easy. All APIs follow web standards (REST API) and allow you to control all aspects of the Singular Platform and resources including App Instances, Global Data, Compositions, manage the Dashboard, the Flow Render pipeline and users.
A detailed description of the Singular REST API is available here:
Controlling Singular can be very simple or, depending on the level of integration, more complex. Please contact us to discuss your specific use case in detail, especially on how you envision your users to work with Singular.
Can they design their own overlays?
How do they sign up to Singular?
Through our portal?
Should this happen through your solution?
There are many questions that need to be answered.
3 - Integration into Video Pipeline -
To fully integrate Singular.live we recommend integrating CEF into your video pipeline.
Your application can process the incoming stream in the following three steps:
DECODE: receive and decode the input stream
MIXER: combine video and RGBA frames
ENCODE: encode the combined frames into the output format
Ask a question on the Singular.live Support Portal or contact us at directly at email@example.com