Copy-The Reality is More Compllicated

Interviewer: Alright! We discussed the internal design fairly enough. Let us understand how Youtube can optimize the usage of storage and network demands while maintaining good Quality of Experience (QoE)QoE is the measure of satisfaction of a customer’s experience with a particular service for the end-user.

Candidate: Yes, we can do this in three different steps:

  1. Encode: we will encode each video with different encoding methods to optimize it according to various client devices. Therefore, we may have to save different video files for the same raw video. However, each encoding file will be significantly smaller in size thanks to the advent of encoding techniques. Apparently, this may seem like the overall storage space requirement would be increased but only limited encoded files will be transferred to a particular streaming facility.
  2. Deploy: using intelligent deployment schemes will put less burden on the networks as well as our core servers. At the same time, a good deployment strategy will result in a better user experience.
  3. Delivery: adapting to the client and network conditions will allow us to serve content efficiently.

Interviewer: How do you plan on employing encoding intelligently?

Encoding

Candidate: Until now we have considered encoding one video with different encoding schemes. However, what if we encode videos on a per-shot basis.

Interviewer: You mean you will divide video into smaller time-frames and encode individually?

Candidate: Absolutely. We can divide videos into shorter time-frames and refer to them as segments. Each segment will have a file size that we can refer to as a chunk. We can encode each segment based on the detail within the segment to get optimized quality with lesser storage requirements. Eventually, each shot will be encoded into multiple chunk sizes depending on the segment’s content and encoding scheme used. As we divide the raw video into segments, we will see its advantages during the deployment and delivery phase.

Interviewer: Ahan. Carry on.

Candidate: Let me explain how the per-segment encoding will work like. For any video with dynamic colors and high-depth, we will encode it differently from a video with fewer colors. This means that a not-so-dynamic segment will be better encoded and compressed to save more storage space. Eventually, we will have to transfer smaller file sizes and consequently save bandwidth during deployment and streaming phases.

Create a free account to access the full course.

By signing up, you agree to Educative's Terms of Service and Privacy Policy