![]() |
| Source: http://www.rudyhuyn.com/blog/wp-content/uploads/2013/05/YouTube1.png |
My focus for this post will be about communications and
networking, primarily, YouTube. YouTube is a video streaming site that started
in 2005. In the beginning, YouTube was a rather "dumb" streaming
service that would simply send the video data in one big chunk, so there was no
detection of slow internet speeds or error correction of lost data. You would
essentially just download the whole video and play it.
Now however, YouTube's goal is to be able to give the user a
seamless viewing experience by never having the rotating wheel, meaning that
the video is buffering, appear. In order to do that, YouTube now sends the
video in pieces, allowing the stream to decide during its transmission,
"Hey, the video isn't able to keep due to the internet", or
"Hey, the video is transferring very fast, I can up the quality", and
so on.
When you upload a video to YouTube, it actually breaks those
files up and creates different resolutions of it. I was shocked by this
because that's a lot of data to store! If you send in a 1080p resolution video,
it now has to store a 720p, 480p, 360p, and 240p versions of it too. On top of
that, they also store different file formats of it so that it can be used on many
different platforms: MP4, 3GPP, WMV, etc. In each of those versions, they then
chop it up even more, as mentioned earlier, into a couple seconds long. This is
how they are able to gather all the different factors that can make your stream
out of whack, analyze it, and then send out the correct quality video to your
bandwidth capabilities.
Here's a great video that goes a little more in depth on how
YouTube works: http://www.youtube.com/watch?v=OqQk7kLuaK4
If you've read past articles of mine, you'd recognize this
channel. I really enjoy the content they put out since it's all related to computers
so if you like the video, you should subscribe to them!

Hello, Steve. I really like your post on Youtube! Actually, one of my projects deals with adaptive media streaming, so I found your post very fun to read. Youtube's service is a very good model for adaptive streaming, as it will collect client information and then make decisions on streaming parameters. This method takes a lot of storage space, though.
ReplyDeleteI like the fact that you conveyed the main idea in really simple words which makes the whole post easy to read, but it would be better if more technical references are included.
Good post overall!
Hi Steve,
ReplyDeleteSo your topic is about video communication, or network file sharing, right? Good introduction about algorithms in YouTube video sharing.
In you post, you have raise the example of how YouTube share video files past, and also you compare it to the current algorithm, this would make me figure out the advantages/outcomes the new "piece" method brings and obviously this would make your post easy to understand. It's a nice post.
I still think that if it's better if you change your title and make it clearer. Although there might be some requirements in title, security should not appear becaues I don't think you talked about it. But anyway it's a very good blog!
Hello Steve,
ReplyDeleteGreat post. I have not really thought about how Youtube works even though I use it regularly. I also loved the source you used. They certainly explain the subject well and I will look further to the other videos that they posted. It is quite interesting how they store different versions of the same video, different file formats and resolutions, and how they chop up the data to make it more “digestible”.