LinuxMCE
Encyclopedia
LinuxMCE is a free and open source software
platform with a 10-foot user interface
designed to allow a computer to act as a home theater PC
(HTPC) for the living-room TV, personal video recorder, and home automation
system. It allows control of everything in the home, from lighting and climate to surveillance cameras and home security. It also includes a full-featured VoIP-compatible phone system with support for video conferencing.
system in a Server/Thin client
configuration. In such a configuration, a central Core server (a standard PC running Kubuntu
) does most of the storage and processing functions, while peripheral PCs (and other devices) provide input and output services. Thin client PCs can netboot
over the LAN to serve as "Media Directors", which stream media content from the Core to audiovisual devices which are connected to these thin clients.
This home automation
/multimedia LAN can be expanded to include home automation systems, surveillance cameras, high-tech remote controllers (called "Orbiters"), and telephone PBX systems. The Core server co-ordinates the functions of all the devices on the home LAN. The advanced networking capabilities of the Linux OS allow this high level of network co-ordination.
, as its base OS, rather than to exist as a custom Linux distribution
.
Most of the core components, including the Orbiter (remote control) user interface, have undergone significant improvements, and are licensed under the GPL.
Most of the CPU-intensive processing is done on the Core. Thus, the system requirements for a Media Director is relatively small. This makes it easier to build a Media Director that is small, silent and that fits in your living room. The Core on the other hand, can be placed anywhere in the house. Accordingly, it may be built with a focus on price and performance instead of silence and appearance.
This modular architecture allows LinuxMCE to use and control any hardware connected to the Core and Media Directors and to control it in a coordinated way. For example, if you start a movie in your living room, LinuxMCE can dim the light in that room but also switch off radio playback on the Media Director in your office. If your IP phone rings, LinuxMCE can show the number on the screen and pause media playback while you are answering the call.
applications such as Asterisk
, Xine
, MythTV
, VDR
, Firefox, VideoLAN
and SlimServer
. 64-bit versions of the LinuxMCE package is no longer under active development after 7.10.
These programs have been given wrappers which allow them to communicate with each other, and with the Ruby
scripts that control the home automation components. This communication is co-ordinated using a DCE (Data, Commands, Events) protocol through a program called the DCE Router. This added communications layer allows trigger-command
features such as pausing media playback when an important phone call arrives, dimming the lights while playing a movie, and allowing media playback to follow from computer to computer whenever a Bluetooth
enabled remote is carried between rooms.
The DCE communications protocol allows a single program to present a standardized user interface
, the Orbiter UI, to the various devices and applications used within the LinuxMCE system.
Currently, LinuxMCE uses the SVN system for collaborative updates. An active development community for LinuxMCE has provided continuous developments in 2008, which has allowed the addition of a wide range of devices to the current LinuxMCE version. Specific software and hardware information can be found at wiki.linuxmce.org
Context-sensitive menus allow a single remote control to control not only LinuxMCE menus, but also audiovisual device functions.
Free and open source software
Free and open-source software or free/libre/open-source software is software that is liberally licensed to grant users the right to use, study, change, and improve its design through the availability of its source code...
platform with a 10-foot user interface
10-foot user interface
In computing a 10-foot user interface is a software GUI designed for display on a large television with interaction using a regular television-style remote control."10 foot" refers to the fact that the GUI's...
designed to allow a computer to act as a home theater PC
Home theater PC
A Home Theater PC or Media Center appliance is a convergence device that combines some or all the capabilities of a personal computer with a software application that supports video, photo, music playback, and sometimes video recording functionality...
(HTPC) for the living-room TV, personal video recorder, and home automation
Home automation
Home automation is the residential extension of "building automation". It is automation of the home, housework or household activity. Home automation may include centralized control of lighting, HVAC , appliances, and other systems, to provide improved convenience, comfort, energy efficiency and...
system. It allows control of everything in the home, from lighting and climate to surveillance cameras and home security. It also includes a full-featured VoIP-compatible phone system with support for video conferencing.
Levels of implementation
LinuxMCE may be used as a standalone home theater PC (without any other home network connectivity), but it may also serve as a complete home LANLocal area network
A local area network is a computer network that interconnects computers in a limited area such as a home, school, computer laboratory, or office building...
system in a Server/Thin client
Thin client
A thin client is a computer or a computer program which depends heavily on some other computer to fulfill its traditional computational roles. This stands in contrast to the traditional fat client, a computer designed to take on these roles by itself...
configuration. In such a configuration, a central Core server (a standard PC running Kubuntu
Kubuntu
Kubuntu is an official derivative of the Ubuntu operating system using the KDE Plasma Desktop instead of the Unity graphical environment. It is part of the Ubuntu project and uses the same underlying system. It is possible to install both the KDE Plasma Desktop as well as the Unity desktop on...
) does most of the storage and processing functions, while peripheral PCs (and other devices) provide input and output services. Thin client PCs can netboot
Network booting
Network booting is the process of booting a computer from a network rather than a local drive. This method of booting can be used by routers, diskless workstations and centrally managed computers such as public computers at libraries and schools...
over the LAN to serve as "Media Directors", which stream media content from the Core to audiovisual devices which are connected to these thin clients.
This home automation
Home automation
Home automation is the residential extension of "building automation". It is automation of the home, housework or household activity. Home automation may include centralized control of lighting, HVAC , appliances, and other systems, to provide improved convenience, comfort, energy efficiency and...
/multimedia LAN can be expanded to include home automation systems, surveillance cameras, high-tech remote controllers (called "Orbiters"), and telephone PBX systems. The Core server co-ordinates the functions of all the devices on the home LAN. The advanced networking capabilities of the Linux OS allow this high level of network co-ordination.
History
LinuxMCE was begun by Paul Webber as a fork of the PlutoHome home automation software project. It was adapted to run on top of a standard Linux distribution, KubuntuKubuntu
Kubuntu is an official derivative of the Ubuntu operating system using the KDE Plasma Desktop instead of the Unity graphical environment. It is part of the Ubuntu project and uses the same underlying system. It is possible to install both the KDE Plasma Desktop as well as the Unity desktop on...
, as its base OS, rather than to exist as a custom Linux distribution
Linux distribution
A Linux distribution is a member of the family of Unix-like operating systems built on top of the Linux kernel. Such distributions are operating systems including a large collection of software applications such as word processors, spreadsheets, media players, and database applications...
.
Most of the core components, including the Orbiter (remote control) user interface, have undergone significant improvements, and are licensed under the GPL.
Architecture
A LinuxMCE setup consists of two parts – one Core and one or more Media Directors. The Core is the central server and provides services throughout the home. It acts as the central media storage and catalog, it routes home automation messages and commands, and it provides net boot images for the Media Directors. Each Media Director is connected to a screen (TV, computer screen or projector) and optionally to other A/V equipment. All media are presented through a Media Director. If the Core is also a Media Director (connected to a TV) it is called a Hybrid system. Media Directors can be booted over the network from the Core. That way, only the Core needs to be updated and backed-up to keep the whole system up-to-date.Most of the CPU-intensive processing is done on the Core. Thus, the system requirements for a Media Director is relatively small. This makes it easier to build a Media Director that is small, silent and that fits in your living room. The Core on the other hand, can be placed anywhere in the house. Accordingly, it may be built with a focus on price and performance instead of silence and appearance.
This modular architecture allows LinuxMCE to use and control any hardware connected to the Core and Media Directors and to control it in a coordinated way. For example, if you start a movie in your living room, LinuxMCE can dim the light in that room but also switch off radio playback on the Media Director in your office. If your IP phone rings, LinuxMCE can show the number on the screen and pause media playback while you are answering the call.
Software components
The LinuxMCE package is installed on the Kubuntu OS, and utilizes open sourceOpen source
The term open source describes practices in production and development that promote access to the end product's source materials. Some consider open source a philosophy, others consider it a pragmatic methodology...
applications such as Asterisk
Asterisk (PBX)
Asterisk is a software implementation of a telephone private branch exchange ; it was created in 1999 by Mark Spencer of Digium. Like any PBX, it allows attached telephones to make calls to one another, and to connect to other telephone services including the public switched telephone network and...
, Xine
Xine
xine is a multimedia playback engine for Unix-like operating systems released under the GNU General Public License. xine is built around a shared library that supports different frontend player applications. Another important feature of xine is the ability to manually correct the synchronization...
, MythTV
MythTV
MythTV is a free and open source home entertainment application with a simplified "10-foot user interface" design for the living-room TV, and turns a computer with the necessary hardware into a network streaming digital video recorder, a digital multimedia home entertainment system, or home theater...
, VDR
Video Disk Recorder
VDR is an open source application for Linux designed to allow any computer to function as a digital video recorder, in order to record and replay TV programming using the computer's hard drive. The computer needs to be equipped with a digital TV tuner card. VDR can also operate as an mp3 player...
, Firefox, VideoLAN
VideoLAN
VideoLAN is a project that develops software for playing video and other media formats across a local area network . It originally developed two programs for media streaming, VideoLAN Client and VideoLAN Server , but most of the features of VLS have been incorporated into VLC, with the result...
and SlimServer
SlimServer
Logitech Media Server is a streaming audio server supported by Logitech , developed in particular to support their Squeezebox range of digital audio receivers....
. 64-bit versions of the LinuxMCE package is no longer under active development after 7.10.
These programs have been given wrappers which allow them to communicate with each other, and with the Ruby
Ruby (programming language)
Ruby is a dynamic, reflective, general-purpose object-oriented programming language that combines syntax inspired by Perl with Smalltalk-like features. Ruby originated in Japan during the mid-1990s and was first developed and designed by Yukihiro "Matz" Matsumoto...
scripts that control the home automation components. This communication is co-ordinated using a DCE (Data, Commands, Events) protocol through a program called the DCE Router. This added communications layer allows trigger-command
Event-driven programming
In computer programming, event-driven programming or event-based programming is a programming paradigm in which the flow of the program is determined by events—i.e., sensor outputs or user actions or messages from other programs or threads.Event-driven programming can also be defined as an...
features such as pausing media playback when an important phone call arrives, dimming the lights while playing a movie, and allowing media playback to follow from computer to computer whenever a Bluetooth
Bluetooth
Bluetooth is a proprietary open wireless technology standard for exchanging data over short distances from fixed and mobile devices, creating personal area networks with high levels of security...
enabled remote is carried between rooms.
The DCE communications protocol allows a single program to present a standardized user interface
User interface
The user interface, in the industrial design field of human–machine interaction, is the space where interaction between humans and machines occurs. The goal of interaction between a human and a machine at the user interface is effective operation and control of the machine, and feedback from the...
, the Orbiter UI, to the various devices and applications used within the LinuxMCE system.
Currently, LinuxMCE uses the SVN system for collaborative updates. An active development community for LinuxMCE has provided continuous developments in 2008, which has allowed the addition of a wide range of devices to the current LinuxMCE version. Specific software and hardware information can be found at wiki.linuxmce.org
Functionality | Platform/software used |
---|---|
Operating system Operating system An operating system is a set of programs that manage computer hardware resources and provide common services for application software. The operating system is the most important type of system software in a computer system... |
Kubuntu |
Television/Personal video recorder PVR PVR may refer to:*Peak Vehicle Requirement, the number of public transport vehicles required to operate the highest frequency service on a route*Penn Virginia Resources, a mining company* Personal video recorder, also known as a digital video recorder... |
MythTV MythTV MythTV is a free and open source home entertainment application with a simplified "10-foot user interface" design for the living-room TV, and turns a computer with the necessary hardware into a network streaming digital video recorder, a digital multimedia home entertainment system, or home theater... /VDR Video Disk Recorder VDR is an open source application for Linux designed to allow any computer to function as a digital video recorder, in order to record and replay TV programming using the computer's hard drive. The computer needs to be equipped with a digital TV tuner card. VDR can also operate as an mp3 player... |
Media Playback | Xine Xine xine is a multimedia playback engine for Unix-like operating systems released under the GNU General Public License. xine is built around a shared library that supports different frontend player applications. Another important feature of xine is the ability to manually correct the synchronization... /MPlayer MPlayer MPlayer is a free and open source media player. The program is available for all major operating systems, including Linux and other Unix-like systems, Microsoft Windows and Mac OS X. Versions for OS/2, Syllable, AmigaOS and MorphOS are also available. The Windows version works, with some minor... |
Telephony | Asterisk Asterisk (PBX) Asterisk is a software implementation of a telephone private branch exchange ; it was created in 1999 by Mark Spencer of Digium. Like any PBX, it allows attached telephones to make calls to one another, and to connect to other telephone services including the public switched telephone network and... |
Home automation | LinuxMCE |
Surveillance camera recording | Motion |
User interface
LinuxMCE allows the User Interface to be displayed in several different resolutions, to accommodate the graphics capabilities of the different devices (PCs, mobile phones, webpads, PDAs) that can be used to display it.Context-sensitive menus allow a single remote control to control not only LinuxMCE menus, but also audiovisual device functions.