A Shared Media Player

Dwayne Bent (dbb@seas)
Jateen Joshi (jateen@seas)
Advisor: Jonathan M. Smith

April 27, 2009

Related Files


Screener is a cross-platform media player which enables geographically disperse participants to enjoy media together as if they were all at a "screening party." Screener enables participants to have a synchronized experience such that if one participant pauses the media then the media is paused for all participants; if one participant seeks to a certain time, all participants seek to that time, et cetera. All participants can also communicate through text using the open Extensible Messaging and Presence Protocol (XMPP). Screener allows for the use of "video overlays", PNG images that can overlayed on top of the playing video. Screener allows participants to use local media or any media accessible through a URI.

Screener supports a variety of features. Screener can play a wide variety of formats, it supports N-way synchronization, text chat, and video overlays. Screener utilizes open source libraries and open standards such as the GStreamer media framework, XMPP through the library xmpppy, and the Python programming language.

Pipeline Diagram

The GStreamer pipeline utilized by Screener is shown below. More details about the pipeline's operation can be found in the project writeup and poster.

Pipeline Diagram

Synchornization Process

A simplified version of the synchronization process used by Screener is illustrated in the following diagram. More detailed information can be found in the project writeup and poster.

Sync Diagram