Video Streaming Backend for a MPEG-Transcoder

Ralph Brunner

Semester Thesis Winter 2001/2002
Supervisors: Christian Kurmann, Prof. T. Stricker
Institute for Computer Systems, ETH Zürich


Actual Implementations of the MPEG-4 Standard provide such high compression ratios that video data can be transmitted in realtime using little bandwidth. That makes video applications like video conferencing or video on demand interesting for home users and small offices.

A streaming server which has to be implemented acquires data from a MPEG Transcoder. It then sends the video data with streaming information to the clients.

The audio track is fetched seperately from a single file.

The Transcoder reads MPEG-2 data from a DVD, decodes to a neutral data format and encodes it to MPEG-4. It is a distributed service running on the CORBA architecture. It is part of another project. Click here to read more about the associated diploma thesis.


Based on a OpenSource project, a Streaming Server was adapted to read data from individual split files. The split files are produced by the Transcoder. Each packet is read consecutively, then sent over the network using UDP and RTP protocols.

Audio and Video Timestamps are calculated to syncronize both streams. Alternatively the video can be written to a streaming file for local playback.

The audio part is fetched from one single file since its realtime encoding doesn't consume too much processing time. The video stream can be transmitted either via Unicast or Multicast to the clients.

Still there is a problem with initial synchronisation on the player side. During playback over network, the player is skipping audio frames on certain systems. Local playback of mp4 files is smooth.

[ CS-Department | Up ]

ETH Zürich: Department of Computer Science

Comments to Christian Kurmann <>
July 15 2002