Hi and sorry for my lack of posts lately; have been kinda busy with many ImpactO tours/demonstrations and a lot of school work 🙂 We are currently working on our own media player that is built upon the architecture of QtGStreamer and QT.
Abstract
During our first assignment for this course we developed our own media player that should be able to play both audio and video files of common formats. We have been utilizing the GStreamer wrapper QtGStreamer*. This second assignment was about creating a media distribution server that should be able to distribute real-time media to end-points that are using our previous created media streamer. In order for our media player to work we had to updrage it to be able to play live media from the network instead of only playing local media. We have been utilizing QTCPSocket** to send information and commands (e.g. command start network stream) from the media player to the distribution server. Our focused lied upon creating an audio distribution server that in the end will act much like Spotify, but where each connected peer handles the distribution of their current media by themself.
*GStreamer is a C library for constructing graphs of media-handling components. The applications it supports range from simple Ogg/Vorbis playback, audio/video streaming to complex audio (mixing) and video (non-linear editing) processing. QtGStreamer provides C++ bindings for GStreamer with a Qt-style API, plus some helper classes for integrating GStreamer better in Qt applications.
** QTcpSocket is a convenience subclass of QAbstractSocket that allows you to establish a TCP connection and transfer streams of data.