Plex (software)

Plex
Developer(s) Plex, Inc.
Preview release 0.9.5.2 / November 28, 2011; 2 months ago (2011-11-28)
Written in C++ based front end and proprietary back end/server (with Python Scripts as plugins)
Operating system Mac OS X v10.6 and above, Microsoft Windows XP, Vista and Windows 7
Platform Apple's Macintosh computers with x86 (Intel) architecture, Microsoft OS x86 architecture computers
Available in International (multiple languages)
Type Media player
License GNU GPL and Closed Source (Proprietary Software)
Website www.plexapp.com

Plex (also known as "Plexapp" or "Plex Media Center") is a partially open-source freeware media player for Intel-based Apple Macintosh computers and PC computers running Microsoft Windows OS. It has a 10-foot user interface design for the living-room TV. Its source code was initially forked from XBMC Media Center on May 21, 2008 which Plex today uses as an application framework platform for its GUI (Graphical User Interface) and media player part of their software.[1][2][3] Similar to XBMC and Boxee, it is an alternative to Apple's Front Row for Mac,[4] with skinnable and user-configurable interface.[3]

Plex integrates content from iTunes and iPhoto (from the iLife software suite) as well as allowing the user to manage all video, photos, music, and podcasts from a computer, optical disk, local network, and the Internet using an Apple or Harmony remote control.[5] In 2009 the developers added their own "app store" digital distribution platform called "Plex Online" with a growing list of community driven plugins for online content like Hulu, Netflix, and CNN video that are being distributed via "Plex Media Server" application which runs as a stand-alone software and media management interface.[3]

Plex began as a freeware hobby project but since 2010 has evolved into a commercial software business that is owned and developed by a single for-profit startup company, (Plex, Inc.). It is a high tech company based in the United States that is responsible for the development of the Plex front-end and back-ends, its client–server model, and all accompanying software under the "Plex" trademark, as well as the exclusive copyright of the closed source software/code parts, both when distributed on its own or when it comes as third-party software component in products by other manufacturers via a strategic partnership.[6][7][8]

Contents

Overview

Plex supports a wide range of multimedia formats and includes features such as playlists, audio visualizations, slideshows, weather forecasts reporting, and an expanding array of third-party plugins. As a media center, Plex can play most audio and video file formats, as well as display images from many sources, including CD/DVD-ROM drive, USB flash drives, the Internet, and local area network shares. DVD playback is not yet fully integrated and requires the use of helper applications like Apple's DVD Player.[5]

Through the processing power of modern Mac computer hardware, Plex is able to decode high-definition video up to 1080p.[3][9] For older Macintosh computers, the software does not support hardware accelerated video decoding; users need a 2 GHz Intel Core 2 processor to decode the majority of 1080p videos encoded with the H.264 codec. Newer Apple models using Nvidia 9400M/GT320M/GT330M chipsets and Snow Leopard OS 10.6.3 or later benefit from H.264 hardware accelerated video decoding, as most of the decoding process is offloaded to the GPU.[10]

Through its plug-in system, Plex includes features such as YouTube and Apple movie trailer support, SHOUTcast, and more. Most plug-in content (such as Hulu and Netflix) is provided via a separate helper program called Plex Media Server, while some use an integrated Python runtime engine and plugin framework.[3]

Plex Media Server

Plex Media Server is from closed source (contains proprietary code); however the other parts of Plex media center software are open-sourced and distributed under the GNU General Public License. Plex's open source code is hosted on GitHub. Plex media center and media player source code was initially based upon XBMC Media Center, which it uses as its application framework. The founder of Plex, Elan Feingold, was actually part of the official XBMC development team for a short while, but tensions over direction and philosophy led him to leave the free and open source XBMC project and create the Plex fork.[1][2][3]

Features

Audio and video playback

Plex can play files from CD and DVD media using the systems' DVD-ROM drive, from a local hard disk drive, or streaming over SMB/SAMBA/CIFS shares (Windows File-Sharing), ReplayTV DVRs, or UPnP (Universal Plug and Play ) shares and media servers. Plex is designed to take advantage of an Internet connection if available, using the IMDb to obtain thumbnails and reviews of movies, TheTVDB for TV show thumbnails and metadata, CDDB (via FreeDB) for audio CD track listings, and AMG for album cover images. Plex also includes the option to submit music usage statistics to Last.fm. It also has music and video playlists, slideshows, a karaoke function, and many audio visualizers and screensavers. Plex can interpolate ("upconvert") from 480 and 576 standard-resolution videos and display them on 720p, 1080i, or 1080p displays.

Like other XBMC derived media players, Plex uses open source FFmpeg programs and codec libraries to handle all common multimedia formats. It can decode these in software and optionally pass-through AC3/DTS audio from movies directly to S/PDIF output to an external audio-amplifier/receiver.

Video playback in detail

The Video Library, one of the Plex metadata databases, is a key feature of Plex. It allows for the automatic organization of your video content by information associated with the video files (movies and recorded TV Shows) themselves. The Library Mode view in Plex allows you to browse your video content by categories such as Genre, Title, Year, Actors and Directors.

Plex video-playback uses an video-player "core" which was originally developed in-house by the XBMC developers as a DVD-player for DVD-Video movies, including the support of DVD-menus. This video-player "core" support all the FFmpeg codecs, and in addition the MPEG-2 video codec, and the audio codecs DTS and AC3.

Audio playback in detail

The Music Library, one of the Plex metadata databases, is another key feature of Plex. It allows for the automatic organization of your music collection by information stored in your music file ID meta tags, like title, artist, album, genre and popularity.

For audio playback, Plex includes the audio-player called PAPlayer (Psycho-Acoustic Audio Player) which was originally developed in-house by the XBMC developers. Some of this audio-player core's most notable features are on-the-fly audio frequency resampling, gapless playback, crossfading, ReplayGain, cue sheet and Ogg Chapter support. PAPlayer handles a very large variety of audio file-formats.

Digital picture/image display in detail

Plex handles all common digital picture/image formats with the options of panning/zooming and slideshow with "Ken Burns Effect", with the use of CxImage open source library code.

Plex Media Server and Plex Online

In 2009, the developers introduced their "Plex Media Server". This Media Server acts as a back-end/server framework for their own "app store" digital distribution called "Plex Online" that allows Plex media player to act as a front-end/client for it that seamlessly connect to both local and online content sources. iTunes, iPhoto and Aperture content update in Plex seamlessly and in real time. Plex Media Server also connects with "Plex Online" which is a digital distribution service platform that serves plug-ins that provide online content to Plex, this "app store" allows users to download new plugins directly from Plex's GUI.[3][4][11]

Plex has extensibility and integration with online sources for free and subscribe streaming content, many of which are in high definition. The Plex Online "app store" offers content including commercial video, educational programming, and media from individuals and small businesses.[4]

Popular streaming internet content include

Mobile software associated with Plex

Plex for iOS is an application released by the developers of the Plex application for Mac. This Plex for iOS is an app for the Apple Inc. iOS which allows for remote controlling of an installed and concurrently-active Plex media center for Mac or Plex Media Server session running on another computer via the iOS touchscreen user interface. It also allows for browsing and streaming your media library to play the files from Plex Media Server remotely on an iPhone, iPod Touch, and the iPad, (transcoding all video, audio and photo files to formats that iOS can read and play). This Plex for iOS app was first approved for the App Store on August 30, 2010, and the Plex app currently costs $4.99 (US).[12][13]

Several third-party developers have also released other universal remote control apps for iOS that are also compatible with Plex, among many other media center applications.

Programming and developing

Plex Media Center for Mac is (just like XBMC) a software application programmed mainly in C++, Plex uses the SDL (Simple DirectMedia Layer) framework with an OpenGL renderer for all versions of Plex. Some of the third-party libraries that Plex depends on are also written in the C programming-language, but are used with a C++ wrapper and loaded via a built-in DLL loader when used inside Plex.

Plex Media Server and the mobile application is however proprietary and closed source software.

Plugins for Plex Media Server

In 2009, the developers introduced the proprietary and closed source Plex Media Server. It allows Plex to seamlessly connect to all to local/online content. iTunes, iPhoto and Aperture content update in Plex seamlessly and in real time, effectively Plex will display a little window cut out of a web browser window that just gives you the video bit. Plug-ins for Plex Media Server work by leveraging a WebKit based player to display video from online sources, presenting itself as a Safari web-browser. Many of these sources use streaming sites' native flash and Silverlight players, which the web browser handles the loading of.[3]

Developers can make plugins for Plex Media Server's proprietary plugin architecture using Python and custom XML code, and then submit those plugins for App Store submission.[4][11]

Skins, skinning, and the skinning-engine

Plex Media Center front-end source code is based on XBMC Media Center which is noted as having a very flexible GUI toolkit and robust framework for its GUI, using a standard XML base, making theme-skinning and personal customization very accessible. Users can create their own skin (or simply modify an existing skin) and share it with others via third-party public websites for XBMC skins trading. Among the many alternatives of third-party skins for XBMC, the "xTV" skin most closely matches Apple's own media center interface that is in Front Row and the Apple TV.

Plex currently uses a modified version of the "MediaStream" skin as its default skin, a skin that was originally designed by Team Razorfish for XBMC.[14]

Limitations

Plex is designed for recent, Intel-based Mac computers using Mac OS X v10.5 "Leopard" or later. With these minimum requirements, Plex is not as backward compatible as other variations of the XBMC code. This is a list of current software limitations in the Plex code, over and above any inherited from XBMC:

Legality

Copyright

Plex media center software is licensed under the GNU General Public License (GPL) by the developers, meaning they allow anybody to redistribute the Plex media player source code under the conditions of that GPL license. Plex Media Server, the proprietary back-end server that all plugins for Plex are dependent on, is however closed source.

Patents

For most popular video and audio codecs, Plex includes native support through free and open source software libraries, such as LAME, faad, faac, libmpeg2, and libavcodec (from the FFmpeg project). Since these source code libraries are released under free and open source licenses they are legally redistributable. However, some of these compression methods algorithms, such as the popular MP3 format, are in many countries protected by software patents. Absent a license, this could possibly make it illegal in certain countries to distribute compiled versions of Plex which includes support for these formats.

Web Scraping

Plex has the built-in optional function to automatically download meta data information and artwork online through its scrapers (i.e. web scraping sites like IMDb, TheMovieDB, TheTVDB, freedb, Allmusic etc.).

Other

Plex also includes libdvdcss in order to support playback of DVD-Video movies encrypted using the CSS (Content Scramble System) encryption scheme. The distribution of executable versions of Plex containing this code could possibly fall afoul of the Digital Millennium Copyright Act in the U.S. and the EU Copyright Directive in European Union member countries which have incorporated it into national law, this has however, not been proven to be lawful in any court for an open source project before.

See also

References

  1. ^ a b "XBMC for Mac forked for a separate project called PLEX (formarly known as "OSXBMC")". XBMC Community Forum. 2008-05-23. http://xbmc.org/forum/showpost.php?p=186843&postcount=13. Retrieved 2009-03-15. 
  2. ^ a b Kevin Anderson (2009-10-07). "Thinking inside the box". Guardian. http://www.guardian.co.uk/technology/2009/oct/07/boxee-web-video-software. 
  3. ^ a b c d e f g h Nicholas Deleon (2010-01-15). "CrunchGear Interview: We talk to the lead developer of Plex Media Center for Mac OS X: It was doing Boxee-like stuff before Boxee was cool". CrunchGear. http://www.crunchgear.com/2010/01/15/interview-we-talk-to-the-lead-developer-of-plex-media-center-for-mac-os-x-it-was-doing-boxee-like-stuff-before-boxee-was-cool/. 
  4. ^ a b c d Arya, Aayush (2009-06-29). "Plex media center software competes with Front Row". Macworld. http://www.macworld.com/article/132438/2009/06/plex.html. Retrieved 2009-10-31. 
  5. ^ a b Vähäkainu, Matti (2008-10-12). "Plex media player hands-on". Afterdawn.com. http://www.afterdawn.com/news/archive/15933.cfm. Retrieved 2009-10-31. 
  6. ^ "Plex and the Future of Television". Plex Inc.. 2010-09-02. http://elan.plexapp.com/2010/09/02/plex-and-the-future-of-television/. Retrieved 2010-10-21. 
  7. ^ "Plex to Enable Next Generation of Netcast Connected TV's". Plex Inc.. 2010-09-03. http://plexapp.com/press_LG.php/. Retrieved 2010-10-21. 
  8. ^ Stevens, Tim (2010-09-03). "Plex announces partnership with LG, pledges to beat Boxee Box and Apple TV for free". Engadget. http://www.engadget.com/2010/09/03/plex-announces-paternship-with-lg-pledges-to-beat-boxee-box-and/. Retrieved 2010-10-21. 
  9. ^ "Plex Review". www.mrobsession.com. 2009. http://www.mrobsession.com/osxmbc-review. Retrieved 2009-10-31. 
  10. ^ "Hardware Accelerated H.264 Decoding on Plex". Plex Blog. 2010-04-27. http://elan.plexapp.com/2010/04/27/hardware-accelerated-h-264-decoding-on-plex/. Retrieved 2010-04-27. 
  11. ^ a b Weintraub, Seth (2009-02-23). "Plex Media Center blows us away with App Store". www.9to5mac.com. http://www.9to5mac.com/Plex-app-store. Retrieved 2009-11-19. 
  12. ^ Deleon, Nicholas (2010-08-30). "Exclusive Hands-On With Plex/Nine For Mac OS X & Plex App For iOS Devices". CrunchGear. http://www.crunchgear.com/2010/08/30/exclusive-hands-on-with-plex-nine-for-mac-os-x-and-plex-app-for-ios-devices/. Retrieved 2010-10-31. 
  13. ^ "Plex on iPad impressive, but not perfect". Mobiputing.com. 2010-09-02. http://mobiputing.com/2010/09/plex-on-ipad-impressive-but-not-perfect/. Retrieved 2010-10-31. 
  14. ^ Team Razorfish. "MediaStream Skin by Team Razorfish". Team Razorfish. http://www.teamrazorfish.co.uk/mediastream.html. 

External links