We discussed what a video is, why it is necessary to reduce its size, and how it is compressed via video encoding. One might be curious about how to deliver all this video content to our devices, and that is what we will answer in this post.
The most direct way to send a video from a server to a client over the Internet is to download it, which means that the entire video file will be sent at once. It’s easy to set up, just a simple file transfer. However, it has some downsides, which makes it impractical in real life. First, the video cannot be played before the entire file has been sent. Imagine spending hours getting the video file only to realize you don’t want to watch it: lost data and hours. Moreover, you need to store this entire video on your computer, which takes up a noticeable part of your storage space. So, basically, downloading is not an option for the fast-consuming video trend nowadays. What is the alternative then?
alternative flow. In this way, the video is divided into small parts called Slices (usually 2-4 seconds) and stored on the server. When a customer requests to watch a video, the first clip is sent, which contains a fraction of the size of the entire video. Once the customer receives this first chip, it is consumable (not stocked), It can start operating immediately. If the customer wants to continue watching the video, he can order the next clip, consume it, order the next clip, etc. Therefore, the start of the broadcast is faster, it does not use the client’s storage space, and the data and time wasted is almost minimal.
Hypertext Transfer Protocol (HTTP) is the backbone of the Internet. It is the basic communication protocol and defines how messages are formatted and sent. Every website you visit on the Internet is designed to be transmitted over HTTP.
HTTP Adaptive Streaming (HAS) is a file Clavis Urea (Golden Key) for online video delivery; Without it, it will not be possible to enjoy the videos.
In HAS, the first step is to set up the videos on the server. Usually you can keep the video as is and split it into clips to get it ready flow. However, the key here is presence adaptiveAnd the So we must make sure that we provide options to the customer. To do this, each video is encoded in a . format Different adjectivesdivided into smaller segments, and stored on the server.
On the other side of the network, we have the client. You can think of client As a person ordering food in a restaurant. When you enter a restaurant, you will be overwhelmed by the menu options and imagine how you will feel Request And I enjoyed every single one of them. Actually, though, you have some border (for example, money in your pocket, your hunger level, allergies, what you crave to eat, etc.), and those limits guide your application. Because these limits change over time, like when you get paid, you can change Request And enjoy different food Quality.
Similar to this analogy, when a client wants to request a video from the server, it needs to consider the limitations and decide the best option for itself. Checks basic network conditions (for example , bandwidth, delay, etc.) and display characteristics (for example, resolution) and requests the most convenient part of the server. However, there is no final decision here. As conditions change, such as increasing bandwidth, customer can always order different quality segment to it adapt for the situation. This flexibility makes HAS so powerful, which is why it is de facto Online video delivery solution.
This was a brief introduction to HTTP Adaptive Streaming, and now we know how video is set up and delivered on the Internet. We can now dive into how to improve video encoding with the help of Holy GrailMachine Learning, in the remainder of this series.
Akram Cetinkaya has a bachelor’s degree. in 2018 and MA. in 2019 from Ozyegin University, Istanbul, Turkey. He wrote his master’s degree. A thesis on image noise reduction using deep convolutional networks. He is currently pursuing a Ph.D. degree at the University of Klagenfurt, Austria, and works as a researcher on the ATHENA project. His research interests include deep learning, computer vision, and multimedia networking.