Changes between Version 5 and Version 6 of GENIEducation/SampleAssignments/VLCDashTutorial/Execute


Ignore:
Timestamp:
08/29/13 11:07:13 (6 years ago)
Author:
divyashri.bhat@gmail.com
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • GENIEducation/SampleAssignments/VLCDashTutorial/Execute

    v5 v6  
    6363== 2.4 Instrumentize and Measure DASH Bit-Rate using !LabWiki ==
    6464=== 2.4.1 OML Script ===
     65{{{
     66defApplication('test:app:vlc', 'vlc') do |app|
     67
     68   app.path = "/usr/local/bin/vlc"
     69#   app.path = "/home/cong/work/vlc-2.1.0-git/bin/vlc-static"
     70   app.version(2, 1, 0)
     71   app.shortDescription = "VLC"
     72   app.description = "VLC multimedia player and streamer"
     73
     74   app.defProperty("input", "Stream input (e.g. file or network address)", nil,
     75                   {:type => :string, :dynamic => false})
     76#   app.defProperty("sout", "Stream output", "--sout",
     77#                   {:type => :string, :dynamic => false})
     78   app.defProperty("intf", "Main interface module", "--intf",
     79                   {:type => :string, :dynamic => false})
     80#   app.defProperty("extraintf", "Extra interface module(s). Use --extraintf omlstats to enable OML", "--extraintf",
     81#                   {:type => :string, :dynamic => false})
     82 #  app.defProperty("mtu", "Specifies the MTU of the network interface", "--mtu",
     83#                   {:type => :string, :dynamic => false})
     84#   app.defProperty("quiet", " Deactivates all console messages", "--quiet",
     85#                   {:type => :boolean, :dynamic => false})
     86 #  app.defProperty("play-and-exit", "Exit VLC after playing all the items in the input stream list", "--play-and-exit",
     87 #                  {:type => :boolean, :dynamic => false})
     88
     89   app.defMeasurement('dashRateAdaptation') do |mp|
     90     mp.defMetric('chosenRate_bps',:int)
     91     mp.defMetric('empiricalRate_bps',:int)
     92     mp.defMetric('decisionRate_bps',:int)
     93     mp.defMetric('buffer_percent',:int)
     94   end
     95
     96   app.defMeasurement('dashDlSession') do |mp|
     97     mp.defMetric('chunkCount',:int)
     98     mp.defMetric('readSession_B',:int)
     99     mp.defMetric('readChunk_B',:int)
     100     mp.defMetric('timeSession_s',:float)
     101     mp.defMetric('timeChunk_s',:float)
     102   end
     103end
     104
     105defProperty('theOne','Node0','ID of sender node')
     106
     107#defProperty('packetsize', 128, "Packet size (byte) from the sender node")
     108#defProperty('bitrate', 2048, "Bitrate (bit/s) from the sender node")
     109#defProperty('runtime', 40, "Time in second for the experiment is to run")
     110defProperty('graph', true, "Display graph or not")
     111defProperty('duration', 100, "Duration of experiment")
     112
     113defGroup('Sender',property.theOne) do |node|
     114  node.addApplication("test:app:vlc") do |app|
     115#    app.setProperty('quiet', true)
     116#    app.setProperty('play-and-exit', false)
     117    app.setProperty('intf', 'dummy')
     118#    app.setProperty('extraintf', 'omlstats')
     119    app.setProperty('input', 'http://192.168.2.53/DASH_BuckBunny/www-itec.uni-klu.ac.at/ftp/datasets/mmsys12/BigBuckBunny/bunny_2s_480p_only/bunny_Desktop.mpd')
     120#    app.setProperty('mtu', '1200')
     121    app.measure('dashDlSession', :samples =>1)
     122    app.measure('dashRateAdaptation', :samples =>1)
     123  end
     124end
     125
     126
     127onEvent(:ALL_UP_AND_INSTALLED) do |event|
     128    info "starting"
     129    wait 5
     130    allGroups.startApplications
     131    info "All applications started..." 
     132    wait property.duration
     133    wait 5
     134    allGroups.stopApplications
     135    info "All applications stopped."
     136    Experiment.done
     137end
     138
     139defGraph 'DashRate1' do |g|
     140  g.ms('dashRateAdaptation').select (:oml_seq, :decisionRate_bps)
     141  g.caption "Dash Rate Adaptation."
     142  g.type 'line_chart3'
     143  g.mapping :x_axis => :oml_seq, :y_axis => :decisionRate_bps
     144  g.xaxis :legend => 'time [s]'
     145  g.yaxis :legend => 'Decision Rate', :ticks => {:format => 's'}
     146end
     147
     148defGraph 'DashRate2' do |g|
     149  g.ms('dashRateAdaptation').select (:oml_seq, :buffer_percent)
     150  g.caption "VLC Buffer Percentage."
     151  g.type 'line_chart3'
     152  g.mapping :x_axis => :oml_seq, :y_axis => :buffer_percent
     153  g.xaxis :legend => 'time [s]'
     154  g.yaxis :legend => 'Buffer Percentage ', :ticks => {:format => 's'}
     155end
     156
     157#defGraph 'DashRate3' do |g|
     158#  g.ms('dashDlSession').select (:oml_seq, :timeChunk_s)
     159#  g.caption "read Chunk."
     160#  g.type 'line_chart3'
     161#  g.mapping :x_axis => :oml_seq, :y_axis => :timeChunk_s
     162#  g.xaxis :legend => 'time [s]'
     163#  g.yaxis :legend => 'read session [bps] ', :ticks => {:format => 's'}
     164#end
     165
     166}}}
    65167=== 2.4.2 Execute  Script ===
    66168=== 2.4.3 View Results in iRODs ===