xbmc
Kodi is an award-winning free and open source home theater/media center software and entertainment hub for digital media. With its beautiful interface and powerful skinning engine, it's available for Android, BSD, Linux, macOS, iOS, tvOS and Windows.
Top Related Projects
The Free Software Media System - Server Backend & API
Emby Server is a personal media server with apps on just about every device.
OpenELEC - The living room PC for everyone
Just enough OS for KODI
OSMC (Open Source Media Center) is a free and open source media center distribution
Quick Overview
Kodi (formerly XBMC) is a free and open-source media player software application developed by the XBMC Foundation. It allows users to play and view most streaming media, such as videos, music, podcasts, and videos from the internet, as well as all common digital media files from local and network storage media.
Pros
- Highly customizable with a wide range of add-ons and skins
- Cross-platform compatibility (Windows, macOS, Linux, Android, and more)
- Supports a vast array of media formats and streaming protocols
- Powerful library management and metadata scraping capabilities
Cons
- Can be complex to set up and configure for new users
- Some third-party add-ons may provide access to copyrighted content, leading to legal concerns
- Performance can vary depending on hardware, especially for 4K content
- Occasional stability issues, particularly with certain add-ons
Getting Started
To get started with Kodi:
- Visit the official Kodi website: https://kodi.tv/
- Download the appropriate version for your operating system
- Install Kodi following the instructions for your platform
- Launch Kodi and begin setting up your media libraries
- Explore the add-on repository to extend functionality
For developers interested in contributing to Kodi:
- Fork the xbmc/xbmc repository on GitHub
- Clone your fork:
git clone https://github.com/your-username/xbmc.git
- Set up the development environment following the instructions in the CONTRIBUTING.md file
- Make your changes and submit a pull request
Note: Kodi is a media player application, not a code library, so code examples are not applicable in this context.
Competitor Comparisons
The Free Software Media System - Server Backend & API
Pros of Jellyfin
- Fully open-source and free, with no premium features or subscriptions
- Built-in live TV and DVR functionality
- More modern web interface and mobile apps
Cons of Jellyfin
- Smaller community and ecosystem compared to XBMC/Kodi
- Less extensive addon library and third-party integrations
- May have fewer advanced customization options for power users
Code Comparison
XBMC (Python):
def onPlayBackStarted(self):
if xbmc.Player().isPlayingVideo():
xbmc.executebuiltin('ActivateWindow(fullscreenvideo)')
Jellyfin (C#):
public Task OnPlaybackStart(PlaybackStartEventArgs e)
{
if (e.MediaType == MediaType.Video)
{
return _sessionManager.SendFullscreenCommand(e.Session.Id);
}
return Task.CompletedTask;
}
Both projects handle playback events, but Jellyfin uses C# with async/await patterns, while XBMC uses Python with synchronous execution. Jellyfin's approach is more modern and potentially more scalable for server-side operations.
Emby Server is a personal media server with apps on just about every device.
Pros of Emby
- Better support for commercial streaming services integration
- More user-friendly interface for less tech-savvy users
- Stronger focus on mobile apps and remote streaming capabilities
Cons of Emby
- Less customizable than XBMC (Kodi)
- Smaller community and addon ecosystem
- Some features require a paid Emby Premiere subscription
Code Comparison
Both projects are primarily written in C#, but they have different approaches to media handling. Here's a simplified example of how they might handle video playback:
XBMC (Kodi):
public class VideoPlayer : IPlayer
{
public void Play(string filePath)
{
// Direct file system access
var mediaFile = FileSystem.OpenFile(filePath);
PlaybackEngine.Start(mediaFile);
}
}
Emby:
public class VideoPlayer : IPlayer
{
public async Task PlayAsync(string mediaId)
{
// API-based access
var mediaInfo = await ApiClient.GetMediaInfoAsync(mediaId);
await StreamingEngine.StartAsync(mediaInfo.StreamUrl);
}
}
This comparison highlights Emby's focus on API-based access and streaming, while XBMC (Kodi) tends to work more directly with local files.
OpenELEC - The living room PC for everyone
Pros of OpenELEC.tv
- Lightweight and optimized for media center use
- Faster boot times and better performance on low-end hardware
- Simplified update process with automatic system upgrades
Cons of OpenELEC.tv
- Less flexible and customizable than XBMC
- Limited software availability due to its specialized nature
- May not support all XBMC add-ons and plugins
Code Comparison
XBMC (now Kodi) uses C++ as its primary language:
bool CGUIWindow::OnMessage(CGUIMessage& message)
{
// Message handling logic
}
OpenELEC.tv uses shell scripts for system management:
#!/bin/sh
# OpenELEC system update script
if [ -f /storage/.update/update.tar ]; then
# Update logic
fi
OpenELEC.tv is a specialized Linux distribution built around XBMC/Kodi, while XBMC is the media center software itself. OpenELEC.tv provides a streamlined, appliance-like experience, sacrificing some flexibility for ease of use and performance. XBMC offers more customization options but requires more setup and maintenance. The choice between them depends on user preferences and hardware capabilities.
Just enough OS for KODI
Pros of LibreELEC.tv
- Lightweight and optimized for dedicated media center devices
- Faster boot times and improved performance on low-end hardware
- Simplified update process with automatic system upgrades
Cons of LibreELEC.tv
- Limited customization options compared to full Kodi installations
- Fewer software packages available due to its focused nature
- May not support all Kodi add-ons or advanced features
Code Comparison
XBMC (Kodi) configuration example:
<advancedsettings>
<videodatabase>
<type>mysql</type>
<host>192.168.1.100</host>
<port>3306</port>
<user>kodi</user>
<pass>password</pass>
</videodatabase>
</advancedsettings>
LibreELEC.tv configuration example:
# /storage/.config/autostart.sh
mount -t cifs //192.168.1.100/media /storage/media -o username=user,password=pass
The XBMC (Kodi) example shows advanced database configuration, while the LibreELEC.tv example demonstrates a simpler autostart script for mounting network shares, reflecting the more streamlined approach of LibreELEC.tv.
OSMC (Open Source Media Center) is a free and open source media center distribution
Pros of OSMC
- Specifically designed for Raspberry Pi and Vero devices, offering optimized performance
- Includes a custom, lightweight Linux distribution for a complete media center solution
- Provides an easy-to-use installer and regular OTA updates
Cons of OSMC
- Limited to specific hardware platforms, less versatile than XBMC/Kodi
- Smaller community and fewer add-ons compared to XBMC/Kodi
- May lag behind XBMC/Kodi in terms of new features and updates
Code Comparison
OSMC (Python):
def get_settings():
return Settings(ADDON_ID)
def log(message, level=xbmc.LOGDEBUG):
xbmc.log(ADDON_ID + ': ' + message, level)
XBMC (C++):
bool CSettings::Load()
{
CSingleLock lock(m_critical);
if (m_loaded)
return true;
// ... (loading logic)
}
Both projects use different primary languages, with OSMC focusing on Python for easier customization and XBMC using C++ for performance. OSMC's codebase is more streamlined, while XBMC offers a more extensive and complex structure due to its broader compatibility and feature set.
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
website ⢠docs ⢠community ⢠add-ons

Welcome to Kodi Home Theater Software!
Kodi is an award-winning free and open source software media player and entertainment hub for digital media. Available as a native application for Android, Linux, BSD, macOS, iOS, tvOS and Windows operating systems, Kodi runs on most common processor architectures.
Created in 2003 by a group of like minded programmers, Kodi is a non-profit project run by the XBMC Foundation and developed by volunteers located around the world. More than 500 software developers have contributed to Kodi to date, and 100-plus translators have worked to expand its reach, making it available in more than 70 languages.
While Kodi functions very well as a standard media player application for your computer, it has been designed to be the perfect companion for your HTPC. With its beautiful interface and powerful skinning engine, Kodi feels very natural to use from the couch with a remote control and is the ideal solution for your home theater.
Give your media the love it deserves
Kodi can be used to play almost all popular audio and video formats around. It was designed for network playback, so you can stream your multimedia from anywhere in the house or directly from the internet using practically any protocol available.
Point Kodi to your media and watch it scan and automagically create a personalized library complete with box covers, descriptions, and fanart. There are playlist and slideshow functions, a weather forecast feature and many audio visualizations. Once installed, your computer or HTPC will become a fully functional multimedia jukebox.
Getting Started
Kodi's developers work hard to make it support a large range of devices and operating systems. We provide final as well as development builds. To get started, head over to the downloads section and simply select the platform that you want to install it on. A quick start guide to help you get acquainted with Kodi is available in our wiki.
How to Contribute
Kodi is created by users for users and we welcome every contribution. There are no highly paid developers or poorly paid support personnel on the phones ready to take your call. There are only users who have seen a problem and done their best to fix it. This means Kodi will always need the contributions of users like you. How can you get involved?
- Coding: Developers can help Kodi by fixing a bug, adding new features, making our technology smaller and faster and making development easier for others. Kodi's codebase consists mainly of C++ with small parts written in a variety of coding languages. Our add-ons mainly consist of python and XML. For more information, please have a look at our contributing guide.
- Helping users: Our support process relies on enthusiastic contributors like you to help others get the most out of Kodi. The #1 priority is always answering questions in our support forums. Everyday new people discover Kodi, and everyday they are virtually guaranteed to have questions.
- Localization: Translate Kodi, add-ons, skins etc. into your native language.
- Add-ons: Add-ons are what make Kodi the most extensible and customizable entertainment hub available. Get started building an add-on.
- Documentation: Kodi's wiki pages are the hub for information about Kodi and surrounding ecosystem. Help make our documentation better by writing new content or correcting existing material.
Not enough free time? No problem! There are other ways to help Kodi.
- Spread the word: Share Kodi with the world! Tell your friends and family about how Kodi creates an amazing entertainment experience. Stay up to date on the latest stories about Kodi reading our news section, follow us on Twitter and Facebook, or star Kodi's repo if you want to follow development.
- Donate: We are always happy to receive a donation. Donations are typically used for travel to attend conferences, any necessary paperwork and legal fees, and the yearly XBMC Foundation Developers Conference, where a great deal of coding and planning for the following year occurs. Donations may also be used to purchase necessary hardware and licenses for developers, along with t-shirts, stickers, and other accessories for conferences.
- Buy Kodi merchandise: Purchasing Kodi gear helps just as much as a donation, and you get something in return! Checkout our store for Kodi branded gear. We regularly add new products so check back often.
Building
Kodi uses CMake as its building system but instructions are highly dependent on your operating system and target platform. Fortunately we've got you covered.
Acknowledgements
Kodi couldn't exist without
- All the contributors. Big or small a change, it does make a difference.
- All the developers that write the fantastic software and libraries that Kodi uses. We stand on the shoulders of giants.
- Our fantastic community for the never ending support, inspiration, feedback, and for keeping us on our toes when we screw up!
- Our sponsors. Without them, keeping a huge project like this alive would be next to impossible.
License
Kodi is GPLv2 licensed. You may use, distribute and copy it under the license terms.
Top Related Projects
The Free Software Media System - Server Backend & API
Emby Server is a personal media server with apps on just about every device.
OpenELEC - The living room PC for everyone
Just enough OS for KODI
OSMC (Open Source Media Center) is a free and open source media center distribution
Convert
designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot