Skip to content

temmyakins/Video-Streaming-using-AIMD-Algorithm-over-UDP

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 

Repository files navigation

Video-Streaming-using-AIMD-Algorithm-over-UDP

This project showcases video streaming using the AIMD algorithm over UDP and was built in C# on Microsoft Visual Studio to create the GUIs for both the client and the server. We also used ffmpeg to encode the video. To send the video we used a UDP connection. UDP connection cannot send large files so the file was changed to a byte array. Each time a variable rate is sent, called currentRate, which was determined by the aimd algorithm. This means we sent currentRate number of bytes during each iteration. The client sent an acknowledgement for each packet it received. If the server did not get an acknowledgement, it assumed the packet was lost. It then proceeded to resend the set of bytes. As the client received packets it wrote the data to a file. After the entire file was sent, it played the video on the client side. The project design is abridged below: The network protocol used is UDP. The user select any particular video from system. Encodes the video-H.264 encoding, FFmpeg software is used for this. FFmpeg runs as background process. The user chooses the data rate for encoding. QP parameter is set by encoder internally depending on the data rate requested by the user. The encoded video is send as packets to the client side. The AIMD algorithm is implemented while sending the data packets. Depending on the congestion in the network path. The quality of perception changes. The congestion is introduced by the cross traffic generated by surrogate process at client and the server. When congestion is more the bandwidth decreases. Finally the video is viewed at the client side

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages