Synavis Backend Migration: Choosing libdatachannel

2025-10-26 (update) Development Update

Next step has been chosen: after careful evaluation, I've decided to use libdatachannel as the base for the new backend implementation. This change is now underway in the feature/migration branch of the Synavis repository.

The motivation behind this migration is to streamline backend development and better align Synavis with modern AI workflows. By moving away from a traditional, human-facing WebRTC stack, the backend can be more efficient and flexible for simulation coupling and data exchange. This also allows me to be more in-line with how the Synavis coupling framework is used, particularly regarding the fact that libdatachannel is its backend as well.

Key Factors

This migration is an important milestone for Synavis, and I'm looking forward to seeing how it improves both performance and developer experience.

Connection Setup

WebRTC illustration
Setup method for the WebRTC peer-to-peer connection.

There are finer details which we now need to double to offset the PixelStreaming1 implementation. For example, we are implementing connection management on the UE side, as well as encoding and video source/track management. The signaling server remains unchanged and we try to retain compatibility with our previous implementation. Situations in which this backwards-compatibility is not retained will be detailed in the release notes.

Looking Forward

The new backend implementation is actively being developed. Feedback and contributions are welcome—feel free to check out the feature/migration branch for the latest updates.

For more information, visit the migration living doc.

Synavis libdatachannel Backend AI Migration