VodUdpServer¶
Package: simu5g.apps.vod
simple module VodUdpServer
Models the transmission of a video-on-demand (VoD) stream over UDP. The input is taken from a specified trace file, representing a video encoded according to the Scalable Video Coding (SVC) standard. Each line of the trace file defines the size and transmission time of a video frame.
Inheritance diagram¶
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
localPort |
int |
Port to listen on |
|
vodTraceFile |
string |
||
fps |
int |
25 |
|
traceType |
string |
“SVC” |
“Scalable Video Coding” – the only trace format implemented |
destAddresses |
object |
[] |
Clients parameters |
destPort |
int |
||
clientsStartStreamTime |
double |
0s |
|
clientsReqTime |
object |
[] |
|
startTime |
double |
0s |
|
tos |
int |
-1 |
If not -1, set the Type of Service (IPv4) / Traffic Class (IPv6) field of sent packets to this value |
Properties¶
Name |
Value |
Description |
|---|---|---|
display |
i=block/app |
Gates¶
Name |
Direction |
Size |
Description |
|---|---|---|---|
socketIn |
input |
||
socketOut |
output |
Source code¶
//
// Models the transmission of a video-on-demand (VoD) stream over UDP.
// The input is taken from a specified trace file, representing a video encoded
// according to the Scalable Video Coding (SVC) standard. Each line of the trace file defines
// the size and transmission time of a video frame.
//
simple VodUdpServer like IApp
{
parameters:
int localPort; // Port to listen on
string vodTraceFile;
int fps = default(25);
string traceType = default("SVC"); // "Scalable Video Coding" -- the only trace format implemented
// Clients parameters
object destAddresses = default([]);
int destPort;
volatile double clientsStartStreamTime @unit(s) = default(0s);
object clientsReqTime @unit(s) = default([]);
double startTime @unit(s) = default(0s);
int tos = default(-1); // If not -1, set the Type of Service (IPv4) / Traffic Class (IPv6) field of sent packets to this value
@display("i=block/app");
gates:
input socketIn @labels(UdpControlInfo/up);
output socketOut @labels(UdpControlInfo/down);
}