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
- Better integration into AI-driven workflows and pipelines
- Reduced complexity by avoiding unnecessary WebRTC functionality
- Improved data channel efficiency for simulation coupling
- Enhanced encoding support for diverse video streams
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
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.