- Project Liveness ( Is this project live or dormant? )
- Functionality ( Does it do the job? )
- Usability ( Is the UI clear and optimal? )
- Smoothness ( Does it look good and runs smoothly? )
- Compared to Commercial Alternatives
Beats commercial analogs
Kodi is a free open source media player which is available for Windows and makes a perfect media center that offers an unprecedented set of built-in features plus infinite possibilities provided by hundreds of free plugins.
Years of development and a huge community of supporters made Kodi a perfect platform to build your home media center on. Kodi comes pre-loaded with all required codecs and provides a full-screen interface optimized to be used with a remote.
Kodi can play all kinds of media, disks, network streams, local and remote files and even receive media via AirPlay from Apple devices. Unlike other popular open source media players for Windows, Kodi does not allow you to select codecs or build DirectX graphs. Codec management is done automatically and I haven’t seen a single problem with Kodi’s codecs managament for years.
Any modern video card is a powerful media processor. Most popular algorithms, like video decoding for instance, are implemented by the video card hardware that guarantees real-time HD video decoding without eating your CPU and main memory resources. Other algorithms can be dramatically optimized with the use of GPU, your video card processor. Some media-related calculations can be speed up by hundreds or even thousand times when done on the GPU. Unlike CPUs, GPUs are specifically designed for making a large number of calculations in parallel. This is what they normally call “Hardware Optimization”. Your video adapter hardware is used to speed-up media decoding and rendering. Rendering acceleration is as important as decoding. You can decode video very fast and yet see frame drop and stuttering effects if video rendering is not done by your video adapter optimally. It was always a problem under Windows to tune-up codecs and renderers for them to work smooothly together on all kinds of video content. This is why we were downloading “codec packs” with hundreds of settings to play (waste your time) with and experimenting with different combinations of codecs, renderers, color spaces… Time to forget those experiments. Kodi does it all out of the box. Kodi is built with optimal combination of codecs and renderers that work perfectly together and are tuned up for smooth playback by a huge community of Kodi supporters.
Advanced Playback Options
Kodi plays video smoothly out of the box. There is no need to configure codecs and renderers for smooth playback. Still, there are playback options that you may want to visit. Kodi allows you to automatically change your device’s video modes. I’ll describe two typical cases of synchronizing video output and your TV/Monitor hardware frame rate for you to have an idea what this is all about.
Let’s start with movies. When you are watching a movie at home, you naturally want it to look as close to the real cinema as possible. We all know about that magic effect which is created by projecting 24 frames per second on the cinema screen. Should be easy to do at home, right? You play a movie which is encoded with 24 frames per second on a TV panel that is perfectly synchronized with your video decoder and shows exactly 24 frames per second. Now, look what you really have there. Your movie is encoded with a weird 23.976 FPS value and your screen blinks 60 times per second. What you see on your screen is a random flow of non-synced frames and this is why your home cinema experience is not even close to the real cinema. Kodi allows you to automatically switch your TV into the 24 HZ mode and sync the video output to the physical frames.
While 24 FPS is good for cinema magic, when it comes to watching sport games, you want as many frames as possible. HD TV channels are usually aired in the 50i format which means that you are getting 50 half-frames every second. Typically, your TV blends half-frames together and shows you 25 slightly blurred frames per second. This process is called “Deinterlacing”. Kodi allows you to configure the way you deinterlace and render TV streams.
Here is what I do. I use a hardware-accelerated deinterlacing algorithm which doubles frame rate. Instead of blending half-frames together, it creates two slightly different frames. Thus, I get 50 frames per second and sync them to the TV. You can see the playback stats (the “O” key in Kodi) on the screenshot. You can’t see it on the picture but trust me, when they throw a ball your way, you duck.
Why watch Youtube video on your media center in the first place? Web browser works best for short video clips. But Youtube grew up and now it’s much more than an on-line video clip library. I, for instance, watch several TV channels that are exclusively available on Youtube. I need smooth full-HD playback and I want it to start playing with a press of a button on my remote. There are lots of video players claiming to support Youtube. If you tried them out, you know that they cannot play live streams. Fortunately, live stream playback support has recently been implemented in Kodi’s Youtube plugin. It allows you to use your Youtube account credentials (tip: issue a one-time password for Kodi), browse Youtube, search for content, watch your subscriptions and more. Here you can see how a Youtube stream looks like in Kodi:
Kodi is extensible
Programming languages where blocks of code are marked with indentation scare the hell out of me. Yet, I must admit that Python is probably the best choice of an application scripting and extension language today. All the Kodi functionality is available via its programming interface. Kodi supports plugins which are written in Python and are naturally open source. This made it extremely easy for anyone to extend Kodi functionality since you can re-use code of the existing plugins. Kodi plugins are organized into repositories. There is an official repositories and a few alternatives. Plugins are installed from inside Kodi. The process is very similar to installing Android applications. There are thousands of Kodi add-ons available.
Kodi as a media server
Kodi can be controlled via web interfaces and serve media streams in your home network. This means that you can access and control media streams on the Kodi server from any device in your home. Kodi supports UPnP (Universal Plug and Play protocol) out of the box. Simply install a UPnP client on your tablet and watch/listen. Web interface also allows you to use your phone as a touch-screen remote control for your Kodi media center. There are several apps available on Google Play. This is how the “official” remote control app looks like on your Android phone: