API Specification#
Ingress#
HTTP API#
The Unreal Renderer microservice exposes an HTTP API. With this API you can:
Add and remove active streams to the microservice.
You can find more information in the HTTP API documentation.
Stream Management#
The Unreal Renderer microservice is a stateful service, which only starts streaming after a stream has been registered with a stream ID.
An animation data stream can be added with:
stream_id=$(uuidgen)
curl -X POST -s http://localhost:8021/streams/$stream_id
Similarly, an animation data stream can be removed with:
curl -X DELETE -s http://localhost:8021/streams/$stream_id
Please note, that the Unreal Renderer microservice only supports a single stream.
Egress#
gRPC API#
The Unreal Renderer microservice connect to an animation data compositor (e.g. Animation Graph microservice) to receive an animation data stream. This animation data stream is requested through the PullAnimationDataStream remote procedure call (RPC). The renderer then updates the avatar pose, renders the image, and streams the image over WebRTC to a downstream component. The RPC is defined in the Animation Data Service.
Propagation API#
The Unreal renderer microservice can propagate the add and remove stream HTTP API calls to a downstream component, if this can’t be done by a controller.
You can find more information in the Propagation HTTP API documentation.