Video Streaming with no constant rate using UDP

126 views
Skip to first unread message

Christixn Criollo

unread,
Jan 25, 2016, 6:10:27 PM1/25/16
to ns-3-users
Hi everyone

Im trying to send video streaming using my own trace(actually is a movie), im using the "udp-trace-client-server.cc", im sending correctly the column "Length [byte]"  wich is the "video" itself, from my trace file.

But for video streaming the transmission isnt constant, so i do want to send the packets using the values of the Time[ms] column, i have tried to set some attributes to the UDP application but without success, can anyone guide to send my packets using the values of time column?

The trace file im loading and sending has the following columns:
Frame No.    Frametype    Time[ms]    Length [byte]  

Any help will be great

Thanks in advance

Christian

Najwan Khambari

unread,
Jan 25, 2016, 8:25:59 PM1/25/16
to ns-3-users
Have you tried Evalvid?

Konstantinos

unread,
Jan 26, 2016, 7:13:18 AM1/26/16
to ns-3-users
Hi Christian,

The UdpTracaClient you have used, does exactly that. It schedules the next packet based on the time column and the type of frame. 

203  ifTraceFile >> index >> frameType >> time >> size;
204  if (frameType == 'B')
205  {
206  entry.timeToSend = 0;
207  }
208  else
209  {
210  entry.timeToSend = time - prevTime;
211  prevTime = time;
212  }

That means all 'B' frames are scheduled exactly at the same time as the previous packet, while the rest with a time difference.

On Monday, January 25, 2016 at 11:10:27 PM UTC, Christixn Criollo wrote:

Christixn Criollo

unread,
Jan 26, 2016, 8:18:59 AM1/26/16
to ns-3-users
Thanks everyone

First, I have not tried to use evalvid, i search for it but i saw that its kind of old and its one of my options but certainly not the furst because to integrate to my versionof ns3 i assume will be a little hard

Thanks Konstantinis, actually my results does't show that the program is using the time values from the trace file, I'm using only the log info to see the results, I'll try to measure in other way or with the log info itself to ensure if it's working well

Any tip to measure in other way ill thanks you a lot, I'll work and I'll post the result to let you know my mistakes or my solution.

Thanks a lot

Message has been deleted

Christixn Criollo

unread,
Feb 1, 2016, 12:40:16 AM2/1/16
to ns-3-users
Dear Konstantinos

Thanks for your time. Due to problems with my computer I had to reschedule my work, so right now Im beginning to work on it. Im guiding on "udp-trace-client-server.cc" not on "udp-trace-client.cc", the last file has the code that you mentioned and my guide file has not.

 
203  ifTraceFile >> index >> frameType >> time >> size;
204  if (frameType == 'B')
205  {
206  entry.timeToSend = 0;
207  }
208  else
209  {
210  entry.timeToSend = time - prevTime;
211  prevTime = time;
212  }
 
But i can run the "udp-trace-client.cc" file, the problem is with the seq-ts-header.h, and udp-client.h, the next error happends with the mentioned files:
../scratch/myudp-trace-client.cc:32:27: fatal error: seq-ts-header.h: No existe el archivo o el directorio
 #include "seq-ts-header.h"

Anyway, If I want to send the packets according to the time into the trace file, should i add the code into my program? because i was trying to do that without success.

Thanks for your kindness

Tommaso Pecorella

unread,
Feb 1, 2016, 4:10:54 AM2/1/16
to ns-3-users
Hi,

please take a look at the books listed on this page:
http://stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list

Don't get me wrong, but the questions you asked are not ns-3 specific, they are "just" C++ issues applied to ns-3 code.

T.
Reply all
Reply to author
Forward
0 new messages