13.07.2015 Views

A Free Software Streaming-Video Application based on MMTP

A Free Software Streaming-Video Application based on MMTP

A Free Software Streaming-Video Application based on MMTP

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

detail the applicati<strong>on</strong>’s functi<strong>on</strong>s, at this point it becomes necessary to make a brieflyexplanati<strong>on</strong> about MPEG files.3.1 <str<strong>on</strong>g>Applicati<strong>on</strong></str<strong>on</strong>g> general structureThe user software is composed by four executable files, each <strong>on</strong>e running a distinctsystem process, two in the sending terminal and the other two in the receiving <strong>on</strong>e:Parser and Sender are the former, and Receiver and Mpeg_play are the other two.Being yet <strong>on</strong>ly a prototype, the software management is not intuitive for theinexperienced user. We will now explain how they interact:First, in the receiver terminal, the Mpeg_play must be called, this means that wewill have a process running and wainting. Then the Receiver is started, thereby anotherwaiting process will be in standby in the terminal. Now, the sending terminal must bestarted. The first process to be called is the Sender, after that the Receiver process mustanswer because of the <strong>MMTP</strong> handshake process. After that, the Parser process isstarted with the movie file name filled in the command line; then streaming processbegins. The Parser program sends the mpeg frames, through a local UDP pipe, to theSender. The Sender will encapsulate those mpeg frames in a <strong>MMTP</strong> packet and willsend them through the Internet to the Receiver process, running in the other terminal.The Receiver retrieves the frames in the correct order and delivers them to theMpeg_play process, through another UDP local pipe. The frames are exhibited by thetime they arrive in the receiver terminal due to the minimal processing time expended inthe local pipe. The process is illustrated in the figure above:Parser (local UDP pipe) Sender (<strong>MMTP</strong>) Receiver (local UDP pipe) Mpeg_playMpeg videoframes<strong>MMTP</strong> c<strong>on</strong>trol packets anddataMpeg videoframs<strong>MMTP</strong> c<strong>on</strong>trol packetsSec<strong>on</strong>d c<strong>on</strong>figurati<strong>on</strong>: mpegvideo frames transmissi<strong>on</strong> throughUDP, without <strong>MMTP</strong>.Inter-process communicati<strong>on</strong>One of the reas<strong>on</strong>s for the entire applicati<strong>on</strong> be c<strong>on</strong>structed in that way was tokeep the edge processes (Parser and Mpeg_play) independents. In that way, we couldhave the same applicati<strong>on</strong> transmitting mpeg frames <strong>on</strong>ly over UDP (without the<strong>MMTP</strong> protocol encapsulati<strong>on</strong>). Therefore we were able to compare the <strong>MMTP</strong>protocol performance face n<strong>on</strong>e applicati<strong>on</strong>-level-transport protocol.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!