How to evaluate MPEG video transmission?

 

[Background]

1.      My work was extended from my original work, An Evaluation Framework for More Realistic Simulations of MPEG Video Transmission. The corresponding myEvalvid was at http://140.116.164.80/~smallko/ns2/Evalvid_in_NS2.htm and http://140.116.164.80/~smallko/ns2/myevalvid2.htm.

2.      Because the application used in NCTUns is the real application. Consequently, I use the TOS field in the IP header to store the frame type information. I0 represents I frame, 20 represents P frame, and 30 represents B frame. Also, I need to store the packet ID information (needed for performance analysis) in the application header. If the frame size or the segmented size is less than 10 bytes, this packet will set to 10. (During simulation, the packet does not contain any real MPEG data in it)

 

[Preparation]

1.      From http://140.116.164.80/~smallko/nctuns/myevalvid.tar.bz2, save in the /root and decompress it with “tar xvf myevalvid.tar.bz2”.

2.      Refer to http://csie.nqu.edu.tw/smallko/nctuns/sfifo.htm, insert sFIFO_video into NCTUNS.

3.      Refer to http://csie.nqu.edu.tw/smallko/nctuns/realap.htm, add mystg2/myrtg2 applications into NCTUNS.

4.      Install ffmpeg for video encoding/decoding.

5.      Install gpac for MP4Box

 

[Simulation]

1.      Video Encoding.

1

 

2.      Following command lines create ISO MP4 files containing the video samples (frames) and a hint track which describes how to packetize the frame the transport with RTP..

2

 

3.        The mp4trace tool from EvalVid is able to send a hinted mp4-file per RTP/UDP to a specified destination host. The output of mp4trace will be needed later, so it should be redirected to a file.

3

 

4.      The file format is not for mystg2. Therefore, we should change the format.

4

 

5.      Create the following topology.

5 

6.      Click “E” to edit property. (Assume the project name is test1).

6

 

(Before sending out the video packets, we need to send out some packets. Otherwise, the first few packets cannot be recorded in the receiver trace file even there are enough bandwidth for video transmission.)

7

 

7.      Click “R” but don’t click Simulation/Run. We have to do some settings. (Because we have to copy the st to the working directory. Also, the test1. tcl needs to be modified. Because the FIFO queues in node 1 and node2 are needed to be replaced by sFIFO_video. I don’t add this module in the GUI.)

8

 

9

 

10

 

11

 

12

 

8.      Now, click Simulation/Run to run the simulation.

 

9.      After simulation, you can find mysd_1 and myrd_2 under /tmp. Copy these two files to /root/myevalvid.

 

10.  The next step is the reconstruction of the transmitted video as it is seen by the receiver. For this, the video and trace files are processed by etmp4 (Evaluate Traces of MP4-file transmission)

13

 

11.  Video Decoding.

14

 

12.  Compute the PSNR.

 

15 

13.  You can use yay to visually compare the delivered video quality.

16

 

17

 

Dr. Chih-Heng Ke (http://csie.nqu.edu.tw/smallko), smallko@gmail.com

Department of Computer Science and Information Engineering, National Quemoy University, Taiwan