With the growing desire to have video compression accessible within Slicer, it would be useful to have a discussion regarding how to go about integrating it into the Slicer core.
Adding a video codec interface into the Slicer core:
- Due to licensing issues, it will be unfeasible to include some codecs within the Slicer core. This is particularly sensitive for commercial applications and Linux distros.
- Several modules (OpenIGTLinkIF, Sequences, Screen Capture, etc.) also need to have access to the same video compression classes.
- It may make sense to create a plugin interface in Slicer to register codecs which can be used by any extension.
- Codecs could be downloaded individually through the extension manager, combined together in a codec pack, or registered by installed extensions.
- This interface could interfere with the codecs in OpenIGTLink. How should these codecs be synchronized between Slicer and OpenIGTLink?
A related topic is whether we should move OpenIGTLinkIF from the Slicer core to its own extension.
- This would allow OpenIGTLinkIF to receive more frequent updates, since we currently have no easy way of updating it for fixes and new features.
- This is also affected by the video compression integration, due to the codec licensing issue. If OpenIGTLinkIF was moved to its own extension, then this would be less of an issue.
What are everyone’s thoughts?