Use Gstreamer as media framework Adapt Data layer to use a database Write UI in GTK# Adapt Logic layer to interface with UI UI and logic in separate threads.
Wiki: Home