After explaining the video streaming background and the available adaptive streaming protocols, in this part we will explain how the a video player can and should utilize the capabilities of the adaptive streaming protocols.
The current common adaptive streaming protocols (HLS, SmoothStreaming, MPEG-DASH) require the video player to have a logic for selecting the most suitable video quality to play.
Continue reading “Adaptive Video Streaming part 3 – Players”
In the previous post we explained about the background and motivation for implementing the adaptive video streaming methods.
In short – it enables viewers with different internet bandwidth to view the most suitable video quality. It also allows the video to continue to play without stalls due to changes in the available network bandwidth.
Continue reading “Adaptive Video Streaming part 2 – Protocols”
Most of you are watching videos online, whether it’s on Youtube, Facebook, or any other streaming application on your PC or mobile device.
I guess that you also encountered various problems while watching online videos, like re-buffering pauses, low quality videos, or in some cases videos that don’t play at all.
Continue reading “Adaptive Video Streaming part 1 – Background”
After selecting Java to be the language I will use, I had to select the most suitable IDE.
I wanted an IDE that is not for educational purposes only, but one that is actually used in the real world.
Continue reading “Choosing an IDE”
As I started to write my guide for beginner programmers, the first subject I had to address was choosing the programming language I will use in order to explain and demonstrate programming concepts and exercises.
Continue reading “Java for beginners?”