Best Practice for gapless Network Controlled Player

Urs Hofer hoferurs at gmail.com
Fri Mar 28 16:08:38 PDT 2014


Hi all

I'm developing a client-server based multimedia framework. Storage
of media data and calculation, which data should be played is task of
a webserver. Controlling the playback of media-clips is done by a server 
in a local network. Playback is done by a player software which is listening
to the playback controller.

The project is half way done. The last big issue is the playback-part.
So far, I've done several tries but none of them were really convincing.

What I need is basically:

- listening to a signal (udp-multicast)
- either immediately play a clip triggered upon a signal
- or append a clip for gapless playback after the currently playing clip
- playback should not be interfered by loading processes of the succeeding clip
  (multithreaded design)

The clips are synchronized between server and client, playback is from the local
file system.

The problems I'v encountered:

- gapless playback (waiting for about-to-finish signals) is nearly, but not absolutetly
  gapless. depending on the codec there are some delays.
- working with two pipelines and switching them alternately to a xoverlay window
  works quite well but is buggy and ugly. It would be nice to have a gstreamer
  only solution. That would make the player more portable on different platforms.

I was thinking of using the gst-editing-services, but It seem like an overkill
for my needs. And I don't know if my problems can be solved with it (especially
the part of loading clips in the background while the playback is still running).

Many thanks for any advices,
Urs Hofer


More information about the gstreamer-devel mailing list