Difference between revisions of "mobile tv testbed software"

From NMSL
Line 41: Line 41:
  
 
==== PSI/SI Configuration Parameters ====
 
==== PSI/SI Configuration Parameters ====
 +
:* Pre-condition: There exist selected video file in "Video Files" tab
 
:* User clicks on "PSI/SI" tab
 
:* User clicks on "PSI/SI" tab
:* User changes the parameters
+
:* Web GUI knows which video file are selected and grab the corresponding PID of that file
 +
:* Web GUI saves the total number of video files, each video file name and its PID to psisi.cfg.  E.g:
 +
  video_num=2
 +
  video1=abc.mp4
 +
  pid1=0x777
 +
  video2=efg.mp4
 +
  pid2=0x888
 
:* User clicks "Save"
 
:* User clicks "Save"
 
:* The system saves the changes to the psisi.cfg configuration file.
 
:* The system saves the changes to the psisi.cfg configuration file.
 
+
:* Backend script use the latest configuration from psisi.cfg
  
 
==== Adjusting Timeslicing Parameters ====
 
==== Adjusting Timeslicing Parameters ====

Revision as of 12:26, 1 October 2008

Use Case Analysis

Simple use cases for configuring the test bed.

Stop the PSI/SI Process

  • User clicks on "Stop" button under PSI/SI tab
  • The webpage sends HTTP post message to http://cs-nsl-08.cs.surrey.sfu.ca:38000/ This http post message tells the back end script to terminate the main PSI/SI handler
  • The backend script stops the TS NULL Shaper


Start the PSI/SI Process

  • User clicks on "Start" button under PSI/SI tab
  • The webpage sends HTTP post message to http://cs-nsl-08.cs.surrey.sfu.ca:48000/ This http post message tells the back end script to start the main PSI/SI handler
  • The back end script parses the configuration file psisi.cfg
  • The back end script based on psisi.cfg, creates the necessary PSI/SI files
  • The back end script starts the TS NULL Shaper to replace null packets with PSI/SI info


Selecting Video to Broadcast

  • User clicks on the "Video Files" tab.
  • The system lists all available video on the server.
  • Entries with existing check mark indicates it is currently in use.
  • User selects video files that are not marked.
  • User selects "Save" to submit the changes to the server.
  • The system updates the videoslist.cfg file to reflect the changes.
  • Maybe a new button here to start the whole testbed? Call run.py and launch.sh, let Cheng decide :-)


Upload Video

  • User clicks on the "Upload" tab.
  • Select video to be uploaded from local computer.
  • Enter assigned PID - Provider ID for the video. Example: 12343
  • Maybe need to consider the corresponding ESG file as well? let Cheng decide :-)
  • Click Upload
  • Browser post video file and data to the test bed server.
  • Web GUI create a new file folder for each uploaded video file and store the video there.
  • Web GUI write the video file path to a config file, (Cong can decide how we implement this part)
  • User waits for the browser to refresh.
  • The system confirms the video file was uploaded.
  • User goes to "Video Files" tab and can confirm the new uploaded video file is available in the repository.


PSI/SI Configuration Parameters

  • Pre-condition: There exist selected video file in "Video Files" tab
  • User clicks on "PSI/SI" tab
  • Web GUI knows which video file are selected and grab the corresponding PID of that file
  • Web GUI saves the total number of video files, each video file name and its PID to psisi.cfg. E.g:
 video_num=2
 video1=abc.mp4
 pid1=0x777 
 video2=efg.mp4
 pid2=0x888
  • User clicks "Save"
  • The system saves the changes to the psisi.cfg configuration file.
  • Backend script use the latest configuration from psisi.cfg

Adjusting Timeslicing Parameters

  • User clicks on "Time Slicing" tab
  • User selects the MPE_FEC Frame value, for example 1024 (possible values are 256, 512, 768, or 1024)
  • Update dvbhparams.cfg with "MPE_FEC_Frame=1024"
  • Backend script will add "-n 1024" to timeslicer
  • User selects the OFDM guard interval value, for example 8 (possible values are 4, 8, 16, or 32)
  • Update dvbhparams.cfg with "OFDM_Guard_Interval=8"
  • Backend script will add "-g 8" to timeslicer
  • User selects the OFDM bandwidth, for example 8 (possible values are 5, 6, 7, or 8)
  • Update dvbhparams.cfg with "OFDM_Bandwidth=8"
  • Backend script will add "-b 8" to timeslicer
  • User selects the Code Rate, for example 3 (possible values are 1, 2, 3, 5 or 7)
  • Update dvbhparams.cfg with "Code_Rate=3"
  • Backend script will add "-c 3" to timeslicer
  • User selects the constellation, for example qpsk (possible values are qpsk, 16qam, or 64qam)
  • Update dvbhparams.cfg with "Constellation=qpsk"
  • Backend script will add "-o qpsk" to timeslicer
  • User sets the Delta_t value, for example 350 (possible values are integers between 100 and 3000)
  • Update dvbhparams.cfg with "DeltaT=350"
  • Backend script will add "-d 350" to timeslicer
  • User selects the algorithm used, for example P2OPT (this is a faked feature though, may remove later)
  • Update dvbhparams.cfg with "Time_Slicing_Algorithm=P2OPT"
  • Backend script will not do anything for now :-)
  • User clicks "Save"
  • The system saves the changes to the timeslicing.cfg configuration file.
  • Backend script use the latest configuration from timeslicing.cfg


Changing DVB-H Parameters

  • User clicks on "DVB-H Parameters" tab
  • User sets the Carrier Frequency value, for example 538Mhz (possible values are integers between 470 and 750)
  • Update dvbhparams.cfg with "Carrier_Frequency=538"
  • Backend script will add "-mf 538" to DtPlay
  • User sets the Convolutional Rate value, for example 1/2 (possible values are 1/2, 2/3, 3/4, 4/5, 5/6, 6/7 or 7/8)
  • Update dvbhparams.cfg with "Convolutional_Rate=1/2"
  • Backend script will add "-mc 1/2" to DtPlay
  • User sets the Guadr interval value, for example 1/4 (possible values are 1/4, 1/8, 1/16 or 1/32)
  • Update dvbhparams.cfg with "Gaurd_Interval=1/4"
  • Backend script will add "-mG 1/4" to DtPlay
  • User selects the bandwidth, for example 8 (possible values are 5 6 7 or 8)
  • Update dvbhparams.cfg with "Bandwidth=8"
  • Backend script will add "-mB 8" to DtPlay
  • User selects the constellation, for example QPSK (possible values are QPSK QAM16 or QAM64)
  • Update dvbhparams.cfg with "Constellation=QPSK"
  • Backend script will add "-mC QPSK" to DtPlay
  • User selects the transmission mode, for example 8k (possible values are 2k 4k or 8k)
  • Update dvbhparams.cfg with "Transmission_Mode=8k"
  • Backend script will add "-mT 8k" to DtPlay
  • User clicks "Save"
  • The system saves the changes to the dvbhparams.cfg configuration file.
  • Backend script use the latest configuration from dvbhparams.cfg