An Active Subnet Transcoding System

for Rate Adaptive Video Streaming

(netAVT)

 

User's Guide

 

Internetworking and Media Communications Research Laboratories

Department of Math & Computer Science

Kent State University, 233 MSB, Kent, OH 44242

 

Last Revised January 31, 2001

 

1.      What is a subnet transcoding?

2.      How to install and deploy the transcoder?

3.      How to run the transcoder?

---

 

What is a subnet transcoder?

As a part of active network high performance team, in our quest for high performance active networking with the idea called subnet computing, where to meet the stringent compute cycle requirement, if a single active node is not enough then we adaptively on run time spread the computation on the neighboring active nodes to garner more computation power.

 

This distribution contains the first version of KENT MEDIANET LAB implementation of an ISO-/IEC 13818-2 stream subnet transcoding system.  The system can perform dynamic video rate adaptation, and perceptual bit-allocation.

 

Based on our previous work on multiprocessor transcoding, we have built a three component modular transcoder. The transcoding system has the (a) GOP-Encoder (GOP-ENC), (b) decode-demultiplexer (DE-DEMUX) and (c) GOP multiplexer (GOP-MUX).  Also a server and a player have been included for demonstration.

 

The work has been funded by DARPA Research Grant F30602-99-1-0515 under it's Active Network initiative.

 

 

---

 

How to install a parallel transcoder?

You can download latest release from http://www.medianet.kent.edu.

After download, use gunzip and tar command to extracts the source file.

Then, change directory to s-pX-p and run make in the directory.

It is tested on Redhat Linux 6.2 and 7.0, but basically you can run it any UNIX like operating systems.

 

---

 

How to use a parallel transcoder?

Now, you have executable files.

 

In ctrl directory, it contains a control program called "ctrlMain."

The mux directory has multiplexer files in it. The excutable file name is "xmux." There is a file called "gopsize." This file contains GOP size of the stream for calculating statistic data only.

The player directory has player source files and an executable file name called "mpeg2play."

In svr directory, you can find "svr" executable file and an MPEG2 video stream file "svr.m2v."

The dLun directory contains files for running a decoder.

The eLun directory contains files for running an encoder.

The xenc and xdec directories have source codes for an encoder and a decoder.

 

Before you can run these programs you have to make a PXNet.conf file from PXNet.conf.sample.

The PXNet.conf file has information about deploy of the programs.



It has following entries.

 

ServerName       ServerPort

PlayerName       PlayerPort

EncLuncher       CmdPort DataPort

DecoderName     DecoderPort

MuxName           MuxPort

EncLuncherNo     TotalEncoderLuncherNumber

EachEncoderName

EachEncoderName

 

 

*   The ServerName and ServerPort are the host name which will runs a server and it's port number.

*   The PlayerName and PlayerPort are the host name which will runs a player and it's port number respectively.

*   In EncLuncher filed, CmdPort and Data Port are command port and data port for the encoder luncher.

*   The DecoderName and DecoderPort are the host name of a decoder and a port number for it.

*   The MuxName and MuxPort are the hostname and a port number for a multiplexer.

*   TotalEncoderLuncher should be changed to total number of encoder luncher.

*   EachEncoderName should be changed to a host name for each encoder.



Following configuration is an example.


# PXNet.conf sample file

server           5050

player           5090

EncLuncher   5070 5071

decoder       5060

mux             5080

EncLuncherNo   3

encoder1

encoder2

encoder3

 

 

Now it's ready for running a parallel transcoder.

In each machine, you run programs what you have planned in the machine.