我需要在ns3中模拟视频流。我想使用onoff应用程序。在这种情况下应该使用的值是什么(数据包间隔,数据速率,数据包大小......)?
答案 0 :(得分:0)
这些值完全取决于您想要模仿客户端服务器网络的流式传输行为和视频编码的类型。构建有用的sims的方法是尝试尽可能地模仿真实的网络。我将通过一个例子说明这一点。
让我们来看看通过有线网络模拟BBC HD。 BBC HD使用H.264视频编解码器,其HD数据速率介于2.5和12 Mbps之间。所以,你想在那里的某处选择一个值。您可能想要模拟CSMA(802.3)数据包,其中1024B是一个不错的大小。根据服务器需求和路由问题的波动,您的数据包间隔可能并不总是相同,因此随机变量在这里很有用。
因此,假设您可以处理服务器地址serverAddr
和packetSize
,这里有一个片段可以帮助您入门:
OnOffHelper onoff ("ns3::UdpSocketFactory", InetSocketAddress(serverAddr,9));
onoff.SetAttribute("OnTime", StringValue("ns3::ConstantRandomVariable[Constant=1]"));
onoff.SetAttribute("OffTime", StringValue("ns3::ConstantRandomVariable[Constant=0]"));
onoff.SetConstantRate(DataRate("4Mbps"), packetSize);