EvalVid for NS2

EvalVid for NS2

Evalvid is an open-source video quality evaluation tool. EvalVid for NS2 has a modular structure, making it possible to exchange at the user’s discretion both the underlying transmission system as well as the codecs, so it is applicable to any kind of coding scheme and might be used both in real experimental setups and simulation experiments. Learn more in detail to implement pure ISO-C Evalvid for Ns2 research projects with guidance from industry experts.

The requirement for calculating data rate

  • Sender side:
    • Raw uncompressed video
    • Encoded video
    • Time-stamp and type of every packet sent
  • Receiver side:
    • Time-stamp and type of every packet received
    • Reassembled encoded video (possibly erroneous)
    • Raw compressed video to be displayed
Multimedia simulations of Evalvid for Ns2 Simulator

The architecture of Evalvid (heterogeneous wireless network)

Sample code for Evalvid for ns2

This is the sample code for how to set priority traffic for video and foreman

for {set i 0} {$i < $opt(videoflow) } {incr i} {

set udp($i) [new Agent/my_UDP]

$ns attach-agent $node_(0) $udp($i)

$udp($i) set packetSize_ $packetSize

$udp($i) set_filename sd_foreman_$i

set null($i) [new Agent/myEvalvid_Sink]

$ns attach-agent $node_(1) $null($i)

$ns connect $udp($i) $null($i)

$null($i) set_filename rd_foreman_$i

set original_file_name($i) foreman_qcif.st

set trace_file_name($i) video($i).dat

set original_file_id($i) [open $original_file_name($i) r]

set trace_file_id($i) [open $trace_file_name($i) w]

set pre_time 0

set totalByte_I 0

set totalByte_P 0

set totalByte_B 0

set totalPkt_I 0

set totalPkt_P 0

set totalPkt_B 0

while {[eof $original_file_id($i)] == 0} {

gets $original_file_id($i) current_line

scan $current_line “%d%s%d%d%f” no_ frametype_ length_ tmp1_ tmp2_

set time [expr int(($tmp2_ – $pre_time)*1000000.0)]

if { $frametype_ == “I” } {

set type_v 1

set prio_p 1

set totalByte_I [expr int($totalByte_I + $length_)]

set totalPkt_I [expr int($totalPkt_I + $tmp1_)]

}

if { $frametype_ == “P” } {

set type_v 2

set prio_p 1

set totalByte_P [expr int($totalByte_P + $length_)]

set totalPkt_P [expr int($totalPkt_P + $tmp1_)]

}

if { $frametype_ == “B” } {

set type_v 3

set prio_p 1

set totalByte_B [expr int($totalByte_B + $length_)]

set totalPkt_B [expr int($totalPkt_B + $tmp1_)]

}

if { $frametype_ == “H” } {

set type_v 1

set prio_p 1

set totalByte_I [expr int($totalByte_I + $length_)]

set totalPkt_I [expr int($totalPkt_I + $tmp1_)]

}

puts $trace_file_id($i) “$time $length_ $type_v $prio_p $max_fragmented_size”

set pre_time $tmp2_

}

set totalPkt [expr int($totalPkt_I+$totalPkt_P+$totalPkt_B)]

set totalByte [expr int($totalByte_I+$totalByte_P+$totalByte_B)]

close $original_file_id($i)

close $trace_file_id($i)

set end_sim_time $tmp2_

puts “end_sim_time: $end_sim_time”

set trace_file($i) [new Tracefile]

$trace_file($i) filename $trace_file_name($i)

set video($i) [new Application/Traffic/myEvalvid]

$video($i) attach-agent $udp($i)

$video($i) attach-tracefile $trace_file($i)

$ns at [expr 10.0 ] “$video($i) start”

$ns at [expr 50.0] “$video($i) stop”

$ns at [expr 50.0] “$null($i) closefile”

$ns at [expr 50.0] “$null($i) printstatus” }

Live Tasks
Technology Ph.D MS M.Tech
NS2 75 117 95
NS3 98 119 206
OMNET++ 103 95 87
OPNET 36 64 89
QULANET 30 76 60
MININET 71 62 74
MATLAB 96 185 180
LTESIM 38 32 16
COOJA SIMULATOR 35 67 28
CONTIKI OS 42 36 29
GNS3 35 89 14
NETSIM 35 11 21
EVE-NG 4 8 9
TRANS 9 5 4
PEERSIM 8 8 12
GLOMOSIM 6 10 6
RTOOL 13 15 8
KATHARA SHADOW 9 8 9
VNX and VNUML 8 7 8
WISTAR 9 9 8
CNET 6 8 4
ESCAPE 8 7 9
NETMIRAGE 7 11 7
BOSON NETSIM 6 8 9
VIRL 9 9 8
CISCO PACKET TRACER 7 7 10
SWAN 9 19 5
JAVASIM 40 68 69
SSFNET 7 9 8
TOSSIM 5 7 4
PSIM 7 8 6
PETRI NET 4 6 4
ONESIM 5 10 5
OPTISYSTEM 32 64 24
DIVERT 4 9 8
TINY OS 19 27 17
TRANS 7 8 6
OPENPANA 8 9 9
SECURE CRT 7 8 7
EXTENDSIM 6 7 5
CONSELF 7 19 6
ARENA 5 12 9
VENSIM 8 10 7
MARIONNET 5 7 9
NETKIT 6 8 7
GEOIP 9 17 8
REAL 7 5 5
NEST 5 10 9
PTOLEMY 7 8 4

Workflow

YouTube Channel

Unlimited Network Simulation Results available here.