Plex is a client-server media player system and software suite comprising two main components.
- The Plex Media Server desktop application runs on Windows, macOS and Linux-compatibles including some types of NAS devices. The 'server' desktop application organizes video, audio and photos from your collections and from online services, enabling the players to access and stream the contents.
- The media players. There are official clients available for mobile devices, smart TVs, and streaming boxes, a web app and Plex Home Theater (no longer maintained), as well as many third-party alternatives.
Additional functionality can be added through an app store and Plex Inc sells a premium service Plex Pass with features like synchronization with mobile devices, cloud storage integration, metadata and matchings for music, support for multiple users, parental controls, Live TV and DVR, trailers and extras and cross-selling offers.
Video Plex (software)
Background
Birth
Plex began as a freeware hobby project in December 2007 when developer Elan Feingold wanted a media centre application for his Apple Mac, but none of the existing players met his needs. He decided to port the media player XBMC (now known as Kodi) to Mac OS X as a challenge. Around the same time, Cayce Ullman and Scott Olechowski - software executives who had recently sold their previous company to Cisco, were also looking to port XBMC to OSX, and noticing Feingold's progress via XBMC online forums they contacted him and offered support and help with funding so that he could dedicate more hours to the project. Feingold, Olechowski and Ullman formed as a team by January 2008, and founded Plex, Inc. in December 2009.
Feingold was subsequently contacted by the XBMC team, and he, Olechowski and Ullman were brought rapidly on their team. Over the next few months, they made some early releases of the port, which they called "OSXBMC". Their purposes were to bring to the project a complete integration to the Mac. That integration comes from DVD playing, to energy saving features without hesitating to cut features out to benefit stability. Given that the three of them came from professional and enterprise software background they were not satisfied with many of XBMC's engineering practices. They thought as a maturing project, XBMC had to improve its engineering practices, embrace software regression tests and provide end-user support with an improvement of bug reports.
Fork
The developers worked under the auspices of the XBMC project until May 21, 2008. Due to different goals and vision from the XBMC team, they shortly forked the code to become Plex, and published it on GitHub. The code was kept roughly in sync with the Linux code.
The new name was announced on July 8, 2008. While the team received many suggestions from users (Meteor Center, Media Hugger, etc.), Ullman came up with the name Plex² or Plex Square, due to the unavailability of plex.com, and the availability of plex2.com. Feingold suggested Plex² was too unwieldy and the single word, Plex, was ultimately chosen because the "plex" suffix evokes "comprising a number of parts".
Then, the team began to work on a media centre component to aggregate not only local content but also to bring together web-based multimedia services. The new library system was redeveloped from scratch. Work for new remote control was also on the todo list.
The CenterStage UI group, a team aiming at improving the HTPC UI interface, often considered as "The interface that the AppleTV forgot", teamed with Plex to develop the idea further. CenterStage was looking for developers and Plex was looking for designers, a perfect match.
As that hobby was costing money for the required infrastructure (for example), the project used donations and was selling mugs in order to lessen the burden of self funding.
Relations with content companies
Like Boxee, Plex had applications for services such as Hulu. Even if Boxee and Plex extensions were both written in Python, Feingold advertised Plex extensions were easier to write thanks to a new in-house framework developed by James Clarke, one of the main Plex developers. At that point, Plex had 120 plug-ins (also called applications).
Plex has been listed as an officially approved Netflix app. With Hulu the situation was different. Hulu deployed "counter-measures" by creating changes deliberately to prevent Plex from parsing their HTML. Netflix and Hulu services are no longer officially available with Plex anymore (see #Plugins for more info).
The relationships with content companies were not completely adversarial. Some companies contacted Feingold to add their content to Plex, including music streaming service Spotify.
Future
In order to develop his software and make the project viable at some point in the future, the team's purpose was to bring the Plex experience to other devices, without the need for users to buy yet another computer or dedicate one as a HTPC. They also recognized a Mac Mini was a barrier to entry and the Apple TV of that generation with its 720p limitations and closed hardware decoder was an underpowered and too closed device.
They thought the evolution of video media consumption is to be able to watch whatever content we want, whenever we want (time shifting and download) with instant access to all pieces of media server ever created (streaming). Therefore, implementing DVR features into Plex has, according to them, no interest as requiring cable or IPTV subscriptions would be like "returning to Neolithic".
In December 2009, the project evolved into a commercial software business owned and developed by a single for-profit startup company, Plex, Inc., a U.S.-based high tech firm that is responsible for the development of the Plex Media Server and media player app front- and back-ends, its client-server model, all accompanying software under the Plex brand name, as well as the exclusive, copyrighted, proprietary parts, whether distributed on its own or as a third-party software component in products manufactured via a strategic partnership. Elan Feingold, Scott Olechowsi and Cayce Ullman were the three founders, with Ullman and Feingold taking on full-time roles as the CEO and CTO, respectively.
A Christmas post indicated two new project contributors have been hired to Plex, Feingold specifying they are hiring, looking to grow the company in 2011. Windows engineers were hired to bring Windows support.
Plex had at that time 130 apps whose most popular ones were Apple Movies Trailers, YouTube, Hulu, Netflix, MTV Music Videos, BBC iPlayer and Vimeo. In an interview for TechCrunch, Feingold declared Plex apps have been downloaded about 1 million times.
Elan Feingold is the CTO. Cayce Ullman remained CEO and co-founder until 2011 when he left the company. Keith Valory is the new CEO since February 2013.
In 2014, Plex raised $10 million from the venture capital firm Kleiner Perkins. In an interview at CES 2014, Scott Olechowski, Plex Chief Product Officer, added that Plex is considering eventually adding paid music downloads, or teaming up with a music subscription service, to give users a chance to grow their music library. These partnerships, like the one with VEVO (see #Music library below), are costly for Plex, which lead to fundraising from Kleiner Perkins.
As of July 2016, Plex has 65 employees.
Maps Plex (software)
Plex Media Server
Plex Media Server (sometimes called PMS or PMS Software) is the back-end media server component of Plex. It organizes audio (music) and visual (photos and videos) content from personal media libraries and streams it to their player counterparts, either on the same machine, the same local area network, or over the Internet. It can run on Windows, macOS, Linux, FreeBSD, a plethora of NAS devices or on Nvidia Shield TV.
Introduced in 2009, Plex Media Server was originally called Plex Media Center and was based on Kodi formerly known as XBMC. Plex Media Center's source code was initially forked from XBMC on May 21, 2008. This fork continued to be used as a front-end media player on Linux for Plex's media server back-end until Plex fully replaced it with a proprietary version in October 2015.
Indexing
Import
Plex Media Server can be configured to index content in any directory on the machine it is run on, as well as to automatically acquire content from such sources as iTunes, iPhoto and Aperture. Support for importation of iTunes playlists has been announced long after, on July 31, 2014, along a true play list system. While an import support for Adobe Photoshop Lightroom was initially announced to be available shortly after Aperture support, as of July 2016, that feature has not been implemented yet.
New framework
On March 14, 2010, the plugin framework and the new library system called Alexandria were announced. Both were completely rewritten as a distributed architecture with a REST HTTP/XML API opposed to the old monolithic one, less customizable. These were released with a new Plex version called Plex/Nine on August 30, 2010. The advantages of the new library is the ability to scan and sort the media even if the websites adding additional metadata and content are down. If the user had a custom filename layout organization, he can write his own parser. Parsers work exactly like Plex plugins using the new plugin framework with XPath parsing and Unicode support. The old Plex/Eight used the old XBMC scrapers which used regex encoded in XML which is considered much harder to program.
Video library
The video library is one of the Plex metadata databases and is, therefore, a key feature of Plex. It allows for the automatic organization of video content by information associated with the video files (movies and recorded TV shows) themselves. The Library Mode view in Plex allows the user to browse video content by categories such as genre, title, year, actors, and directors.
Music library
The music library is another of the Plex metadata databases. The music library feature received a major overhaul with a new release announced on April 30, 2015. That version allows for the automatic organization of a music collection by information stored in the ID3 or M4A tags, such as title, artist, album, genre, year, and popularity. If the metadata are not stored in the files themselves, the naming and organization of the music files are important. If the user has a Plex Pass account, the file naming and organization is not as critical as the music will be matched via sonic fingerprinting.
The music library feature brought instant metadata and poster downloads instead of waiting the end of the media scan. Metadata can be edited, multi-discs, multi-selection to remove a whole album content or to move or copy tracks between albums and/or artists has been added are supported. Music videos can be associated to the music library and lyrics or even interviews can be downloaded. The new library allows to rediscover the user's music with suggestions based on the most played media or the least played, but also with similar artists or genres. The library also displays when and where artists are on tour.
If the user has a Plex Pass account, the whole music video catalog from VEVO can be accessed and an extra feature called #Plex Mix is available.
Extra library content
Plex recognizes extra content to a video or music file. In that regard the extra content must have the same filename as the media it complements, but have the basename suffixed with the kind of content it represents. Depending of whether the file is linked to music or a video, the following suffixes are supported: -behindthescenes
, -concert
, -interview
, -live
, -lyrics
, -video
, -deleted
, -featurette
, -scene
, -short
and -trailer
.
Plex recognizes lyrics as the file formats LRC or as simple text file (.txt).
Tagging
Thanks to Agents, Plex can automatically gather metadata information and artwork for media stored in the Plex library. These metadata are fetched from the following sites using web scraping: The Movie Database (TMDb) for synopses and thumbnails for movies and TV shows, TheTVDB just for TV show metadata and thumbnails, Fanart.tv, Freebase, CineMaterial, VEVO Music Videos for clips (only available with #Plex Pass), Last.fm and LyricFind for lyrics and OpenSubtitles.org for subtitles.
Plex previously had IMDb access, but that access was removed when the Plex app for iPhone was released. The mobile app usage was so widely used that the IMDb servers crashed. Plex received a letter from IMDb parent company Amazon's lawyers who made it clear that that access was a commercial use and therefore Plex had to license it if they still wanted to use it. Also, PlexPro accounts would have been required, as Plex has now a paid version and would, therefore, violate IMDb terms of use.
Access to that database is not officially supported by Plex anymore, but community members have expressed the need to have it since Google decided to close its Freebase's service. Previously, there was access to Online TV Database.
Plex supports rich text in subtitles, and up to two subtitles channels are supported at the same time. Specifying subtitle preferences on an app will be reflected on the other. Plex supports SSA, SRT and SMI subtitle formats.
Multi sources
As a media player software, Plex can play media from many sources: local files from libraries (from local hard disk drives), but also from network shares using the SMB protocol either located at home or on the internet, media devices using the DLNA interoperability guidelines, file hosting websites, USB flash drives and optical discs.
While DVD playback initially had support, it required helper applications like Apple's DVD Player. DVD playback is no longer supported.
While Plex can access media recorded via digital video recorders (DVR), it does not support recording the content itself. DVRs are only in charge of recording live TV content from cable television for cable DOCIS companies and/or IPTV for xDSL companies. Depending on the services provided by the DVRs, Plex could access the content. Still depending on the offered features, DVRs can also stream content without recording it on a hard disk drive. Tablo (DVR)s are reported to work fine with Plex, because two tablo users, developed a Plex Channel (see #Plugins below) to watch content recorded by Tablo DVRs and even watch the TV, as Tablo does support Live TV streaming. Thanks to that combination of Plex and Tablo, it is now possible to watch over-the-air (OTA streaming).
Media formats
Plex media player software is able to decode high-definition video up to 4K resolution, as well as 10-bit H.264 sources.
With the appropriate hardware, Plex also supports hardware decoding of H.264 video.
Like other XBMC-derived media players, Plex uses FFmpeg and other open source libraries to handle all common multimedia formats. It can decode these in software, using hardware video decoding where available and optionally passing-through AC3 or DTS audio directly to an external audio-amplifier/receiver via S/PDIF.
Plex video-playback uses a video-player "core" which was originally developed in-house by the XBMC developers as a DVD player for DVD-Video contents, including the support of DVD menus. This video-player "core" supports all the FFmpeg codecs, and in addition the MPEG-2 video codec, and the audio codecs DTS and AC3.
PAPlayer handles a very large variety of audio file-formats.
Plex handles all common image file formats with the options of panning, zooming and slideshow with "Ken Burns effect", with the use of CxImage open source library code.
Transcoding
Content may be transcoded by the server before it is streamed, in order to reduce bandwidth requirements or for compatibility with the device being streamed to. This way, transcoding allows media to be available on the widest range of clients possible over any connection, while without transcoding clients would not be able to read the format because lacking the proper codec or because of performances restrictions.
During the media analysis phase, the Plex Media Server looks at certain attributes of the media (resolution, bitrate, etc.). When a client requests a piece of media, the server looks at the client's capabilities, compares them to the media parameters, and makes a determination as to whether or not the file can be directly played on the device. This feature is called Direct Play.
Another feature called Direct Streaming allows to change only the container without reencoding the video and music tracks if these are encoded in a codec the destination device can read.
Mobile apps have the ability to define the maximum bit rate the mobile connection is limited to, in order to force the server to reencode the piece of media, reducing filesize and avoiding lags when the piece media is being streamed.
The transcoding feature is reported to not have a good downmixing of 5.1 sources to 2.1.
Remote access
Plex Media Server can be remote controlled via a web interface. As Plex does support NAT-PMP and Universal Plug and Play protocols, the connection should be automatically configured. While a Plex account is reported necessary to help redirecting port and improve availability, configuring the ports manually does work, but when the users accesses the remote web interface, login and password to a PLex account are required.
SSL
Plex Media Server via its web app interface supports SSL. The SSL connection was previously only reachable via the dedicated port 32443, which provided secure authentication but lacked support for encrypting streams. Now, simply prefixing https
on port 32400 (e.g. https://127.0.0.1:32400/web/
) is enough only if a proper certificate and key have been installed in the Network section of the server. Also, SSL is supported for both streaming and authentication, except in a few rare cases when a mobile server has been enabled on mobile applications.
However, this SSL configuration is only valid for users who know how to generate a certificate self-signed or signed by a certificate authority and configure a domain name. On June 4, 2015, Plex announced all connections to Plex will be encrypted as soon the user has upgraded to at least 0.9.12.3 and has connected its web server to a Plex account (#Plex Pass not needed). Plex also announced the user interface for the user's Plex Media Server will also be available via http://plex.tv/web/app
.
While the system looks trivial this is technically not the case. When the user connects to http://plex.tv/web/app
authenticating to its Plex account, the Plex website enumerates a list of the user's servers and then connect to each of them via an XMLHttpRequest (XHR) to http://1.2.3.4:32400/library/sections
. Since the Plex website uses an SSL connection, the XHR connections would be blocked because the users might not have installed a SSL certificate on his/her own Plex Media Server (XHRs are blocked when they load an HTTP link from an HTTPS one). Since Plex could not ask users to acquire a domain name and a certificate just to watch movies over TLS, they had to provide the solution by themselves.
Since Plex Media Servers do not all have a domain name or a stable IP address (a dynamic public IP address or even a local one), the solution had to provide a dynamic DNS for each user. Each Plex user is thus provided with a DNS domain <hash>.plex.direct
where the hash part is probably a hash of the user or the server name ID. Each user domain name is prefixed by an IP address. Each user can have several DNS records each representing the IP addresses the user's Plex Media Servers are reachable. Here is an example with the dig command:
$ dig 1-2-3-4.625d406a00ac415b978ddb368c0d1289.plex.direct +short 1.2.3.4 $ dig 10-10-10-10.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.plex.direct +short 10.10.10.10
where 1.2.3.4 represents a public IP address and 10.10.10.10 a private IP address.
The next step for Plex was to provide each user a certificate. Since each user can have several IPs and thus several Plex subdomains as mentioned above, a valid wildcard certificate was needed. Choosing only a wildcard certificate for *.plex.direct
would imply that each user would be using the same certificate and thus the same key pair, allowing a Plex user to decode the content of another Plex user. Also using only a certificate would not provide the ability to revoke a certificate if the user had his certificate compromised or if he/she wants to unsubscribe from Plex.
As this would have been too expensive for Plex to register directly to a certificate authority a certificate each time a Plex user subscribes to a Plex account, Plex had to become a registration authority (RA) (also called subordinate CA). They choose DigiCert to partner with. This kind of offer is often called a private PKI. In DigiCert terms, this is called Managed PKI. In this way of configuration, each user domain name will have a wildcard certificate as *.<hash>.plex.direct
. Each user's certificate is thus not signed directly by the sub CA of DigiCert (currently DigiCert SHA2 Secure Server CA) anymore, but by Plex directly (Plex Devices High Assurance CA2) which itself is signed by DigiCert root certificates.
Plugins
Plex Media Server can be extended using plugins, sometimes called "apps". These can be installed via a kind of "app store", a built-in library of free third-party plugins that allow Plex to download content from websites like National Geographic, NBC, The New York Times, Twitch.tv, Vimeo and YouTube. As of July 2016, there are 131 channels available.
This "app store" is accessible either via a dedicated Plex Media Server section called Channels (previously called Plex Online) or via Plex Home Theater, the old Plex Media Player.
While Plex channels are maintained and supported by community volunteers, only those in the Channels Directory are considered as stable.
Even if Plex came from Kodi, these Plex plugins now use a proprietary plugin architecture. They are written in Python and XML. Many plug-ins for Plex Media Server leverage WebKit to display videos from online sources using the same Adobe Flash and Silverlight players that the sources provide for web browsers. This basically means that the server needs to render the streaming video on an offscreen WebKit canvas before capturing it, transcoding it and streaming it to the server. This software chain sometimes causes issues depending on the server configuration, and on the version of the app in the software chain.
Since January 2014, Plex removed support for WebKit based plugins (like Netflix and Hulu) as they couldn't provide a cohesive experience across all platforms with their new client/server infrastructure.
API
Plex Media Server via its web-based structure has a RESTful API returning either XML or JSON responses. This API provides a way for clients to browse and manage media libraries, as well as rich transcode functionality for video, images, and audio and synchronization.
Multiplatform
While Plex was initially a Mac OS X-only application, Plex Media Server became available for Windows and Linux too.
On May 14, 2011, Plex announced support for Linux. Three Linux flavors were initially supported: Ubuntu 10.01, Slackware 13.1 used in unRAID NAS devices, and ReadyNAS (NAS from Netgear using Intel CPUs). It should also work for other GNU Linux distribution or versions, as the C++ code is highly portable and the only hard dependency is Avahi for Bonjour-based network discovery. The Linux version of Plex Media Server is reported to work on CPUs of any speed (except if the user wants transcoding) and the resident daemon only uses 16 MB of RAM.
Support for Windows has been added with the Laika release on October 28, 2011.
On October 19, 2016, Netgear released the Nighthawk X10 AD7200 router which is the first commercially available router with Plex Media Server built into the router administration interface.
Multilanguage
On October 5, 2014, Plex added support for translating the media server interface to languages others than English. The localization is hosted at Get Localization and anyone applying either as a volunteer or professional translator can begin to translate the app.
License
Unlike the initial free front-end that was based on XBMC open source software, Plex Media Server is now a combination of 10% proprietary software and 90% open-source code.
The open source parts of the code are mostly used for support of most popular video and audio codecs brought through free and open-source libraries, such as LAME, faad (for faac), libmpeg2, and libavcodec (from the FFmpeg project).
Plex uses the metadata from several free open-source online libraries to automatically find all artwork, media descriptions, and theme music for the entire library.
As of July 2016, Plex uses the following libraries and open source code: cpp-netlib, taglib, vo-aac, rtmpdump, jemalloc, MediaInfo, FFmpeg, libcurl, libfribidi, libass, FreeType, libx264, boost, soci, libidn, cjson, simplejson, pyOpenSSL, lxml, OpenSSL, expat, libnatpmp, MiniUPnPc, libxslt, libxml2, libiconv, zlib, bzip2, Breakpad, and some FreeBSD network interface code for real time sockets.
Player apps
Player apps are Plex's front-end allowing the user to manage and play music, photos, videos and online content from a local or remote computer running Plex Media Server.
Plex Web App
The web app client has foundation based on the Cappuccino framework, but was rewritten using Bootstrap framework. Before the rewrite, it was only possible to configure the Plex Media Server with it, but support to view and organize collections have been added. The web UI became a Plex App Client viewer too. The new web app was written by Eric Matthys and Schuyler Ullman, both Plex employees.
The new version was aiming at replacing the old manager for Mac OS X written using the Mac OS X Cocoa APIs and because Windows and Linux versions of Plex didn't have an install wizard while the one for Mac OS X was outdated. The web UI was released for all Plex users (not only Plex Pass members) on November 16, 2012.
Plex Media Player
The Plex Media Player (sometimes called PMP), announced on October 20, 2015, uses hardware acceleration for a consistent user interface across all devices.
This player uses mpv as media playback engine, Chromium for the media browsing experience and Qt for the multi-platform glue between the media engine and the Chromium web-based interface.
Plex's media player is open source. Plex have helped FOSS projects on which Plex relies on. Plex contributed to MMAL hardware decoder for the Raspberry Pi and brought improvements to Qt. While Plex Media Player is reported to be open source and its code available on GitHub as GPLv2, not the whole software is actually open source. Only the host parts of the application (mpv, chromium, Qt and the glue between them) can be contributed. The UI cannot be modified nor corrected by the communities if there are issues. That UI is downloaded as a binary bundle from Plex servers when Plex Media Player is being compiled.
Plex Media Player is developed nearly exclusively by the German, Vincent Lang (@wm4), the primary contributor to the mpv project.
Plex Media Player is as of July 2016 in early preview and requires a Plex Pass subscription to access pre-versions of the software. It is compatible with Windows 7 and upwards, OS X Mavericks and upwards, embedded platforms like the Raspberry Pi 2 (the Raspberry Pi 1 is not supported due to both performance and resource limitations) and Intel NUC. While Linux is not clearly cited, since Raspberry Pi and NUC uses Linux-based distributions, Linux is compatible.
Plex Home Theater (discontinued)
Previously known as Plex Media Center, Plex Home Theater is the software component used for a long time as the front-end media player for Plex's back-end server component Plex Media Server.
This component came from the fork from the completely open-source XBMC Media Center software on May 21, 2008. It is now discontinued in favour of the new Plex Media Player. Since Plex Home Theater is based on Kodi, it has a 10-foot user interface.
The old and now obsolete Plex Home Theater is still distributed as open source under the GNU General Public License (GPL), with source code on GitHub.
This client media player was primarily programmed in C++, and made use of the Simple DirectMedia Layer (SDL) framework with an OpenGL renderer. Some of the third-party libraries that Plex Home Theater depended on was written in C, but are used with a C++ wrapper and loaded as shared libraries when used inside Plex. Since Plex Home Theater was based on XBMC Media Center it shared its flexible GUI toolkit and robust software framework. With themes based on a standard XML base, skinning and personal customization which was very accessible. Users could create their own skin (or simply modify an existing skin) and share it with others via third-party public websites for XBMC skin trading.
On October 28, 2011, support for Windows was announced for Plex Home Theater. That release named Laika had its code rebranched with the latest stable version of XBMC, brought integration with Windows Media Center, A/V sync corrections, support for optical media, for 10-bit video (Hi10P), HTTP Live Streaming and huge changes with regard to episode management of TV series, reducing the time to access content and offering media depending on the context and on the episodes watched.
The Laika release came with a new skin. Plex Home Theater was originally using a modified version of the "MediaStream" skin as its default skin, a skin that was originally designed by Team Razorfish for XBMC. Sebastian Pitkanen, the author of the Retroplex skin, one of the most popular third party skins, updated the Plex default theme for the Plex release codenamed Laika. Pitkanen is now a Plex employee.
Amazon Fire TV
Plex announced an application for the Amazon Fire TV, the same day it launched on April 2, 2014.
Android
On February 16, 2011, six months after the iOS app release, Plex announced its Android application, but without the same restrictions for free users as the iOS counterpart.
On February 11, 2013, a complete Android app rewrite was announced, targeting Android 3.2 and newer with its new Android Design Guidelines, and using new platform feature like Google Cloud Messaging, lock-screen music controls, global search integration. The new app integrated features like Mobile Sync, still called PlexSync at that time.
On June 25, 2014, support for the Android TV platform has been announced, just on time for the launch of the Android TV platform, announced the day after at the Google I/O. The Android features specific to the TV have been integrated like a redesigned home stream and voice control support.
The app received basic trailers and playlists support on July 31, 2014.
The Android TV application can run on the Nexus Player.
As of March 20, 2017, free users' playback on Android devices is limited to one minute for music and video, watermark on photos, until the app is unlocked (similar to iOS app), when playing media from a Plex Media Server, as the app cannot play content not created on the device itself without it.
Apple TV
With the fourth generation of Apple TV, third-party developers could write their own applications, removing the main limitations of previous models (see #Future above). This application was built in just 5 weeks, from the moment Apple released the new Xcode and API documentation. Apple TV applications can be developed using TVML for the UI or native code. As using native code would have required too much time to develop for the UI, Plex combined advantages of both worlds making a bridge between TVML and native code. XML is sent from the Plex Media Server, and converted to TVML using XSLT.
The app received text based subtitles support on December 23, 2015.
Chromecast
On March 13, 2014, Plex announced free support of Chromecast in its iOS and Android applications.
iOS
An iOS application was released on August 30, 2010 and provided a way to use iOS devices to remote control a Plex Media Server and view media on the iOS device.
In March 2011, the iOS platform received a massive UI refresh. New features included grid views, improved UI around channels, removing second level menu and replaced by filter list. The iPad version got rich new views and tweaked typography. Support for TV Out, AirPlay, multi-part media, image caching, subtitles and audio stream selection have been added to the app. Setting a subtitle in iOS will be reflected on other Plex app players. A search-as-you-type feature has been implemented. Results from the Plex Media Server appear nearly instantly. Integration of search results from YouTube and Vimeo have been integrated thanks to a partnership with Videosurf. As that company has been bought by Microsoft, Videosurf's features are not available anymore.
On November 19, 2012, the Plex Pass feature Mobile Sync was implemented on iOS.
On August 10, 2015, Plex announced a complete rewrite of the app supporting the new features of Plex Pass like Mobile Sync, Cloud Sync, Plex Home, Plex Mix and music and video extras. Despite the rumors that the app was to be completely written using Swift, it is still entirely written in Objective-C. This new version requires iOS 8.1 and upwards.
The app received basic trailers and playlists support on July 31, 2014. and an update to support text based subtitles on December 23, 2015
LG
On September 2, 2010, Plex announced a partnership with LG to integrate the software component into LG 2011 NetCast(TM) enabled HDTVs and Blu-ray devices. Now, only NeCast models from 2013 and models running webOS are supported.
Opera TV
Opera TV is a browser for set-top boxes and smart TVs. It comes with an extension app store (containing HTML5 web apps) called Opera TV Store.
Plex is the first personal media organizer to join the Opera TV Store. The app was announced on December 12, 2014.
PlayStation
Plex announced their apps for PlayStation 3 and PlayStation 4 on December 17, 2014 and were available the same day for Europe and most of Asia.
With regard to the formats supported, the app on the PlayStation 4 supports a maximum 1080p resolution. The PlayStation 3 is limited to 720p when Plex is installed through a SCEE (Sony Europe) PlayStation store. The app supports MP4 as container, H.264 (level 4 or lower) for the video decoding, AAC (m4a) for the sound decoding, all with a maximum bitrate of 20Mbit/s (do not overtake 8Mbit/s is recommended). DTS Audio and MKV container are not supported.
Roku
On May 3, 2011, Plex announced a client app on the Roku, available by installing the Plex private channel. The app was written by developer Jonny Wray. Only video was supported at first, with support for music and photos part of a later release.
A new version of the app supporting new Roku devices (Roku 1/2/3, Roku Stick, and Roku TV) was unveiled on February 24, 2015.
Samsung
On August 3, 2012, Plex announced support for Samsung TV and Blu-ray players. The app includes native support for external SRT subtitles without transcoding, and 3D support. Samsung Smart TV / and Blu-ray players (C-Series / D-Series / E(S)-Series / F-Series / H-Series) are supported.
Sonos
On July 20, 2016, Plex announced product support for Sonos devices. Users have the ability to stream their entire Plex Music collection on their own Sonos devices.
The app, called "Plex for Sonos," is available as a beta. Users need to register to the Sonos Public Beta Program first and then add the "music service" to their Sonos Controller either via the Sonos webapp or their mobile apps. Plex remote access needs to be enabled for using Plex for Sonos.
TiVo
TiVO DVRs have a Plex app from software version 20.4.7a or higher.
VIZIO
On October 15, 2014, Plex announced a partnership with VIZIO in order to have rights to release a Plex application on their devices. The Plex app is available on Vizio TVs from 2013 E/M series with Vizio Internet Apps Plus, or 2014 E/M/P series, or future 4K ones and onwards.
Windows
On March 30, 2012, Plex announced the availability of Plex for Windows Phone. The app was developed partially by Elan Feingold and another coworker.
On December 4, 2012, Plex announced a client application for Windows 8 using the new Metro interface.
Xbox
On October 5, 2014, applications for Xbox 360 and Xbox One were announced, supporting voice and gesture control of the devices.
The apps integrate a new home screen suiting the Xbox user interface, and a new movies library based upon viewing habits and user taste.
Plex Account
Initially unveiled as myPlex on October 28, 2011, the Plex account aims at 3 main purposes, in addition to providing access to Plex forums.
- Facilitating the connection between a Plex Player App and a Plex Media Server without the hassle need to play with NAT, port redirection, etc. The user simply needs to sign in on his/her Plex Media Server with his/her Plex Account, and do the same on the Plex client apps (e.g. iOS, Android,...), and the connection is done. This is even working with multiple Plex Media Servers in multiple locations.
- Providing a watch queue. The user can bookmark a video (local or on the web via supported websites) to watch it later. The queue is available on all clients connected to the user's Plex account. The following features are supported: saving the progression in TV series, stopping a media on one client and resuming it later on another.
- Sharing personal media with friends. This feature is offered by specifying an email address or a Plex account username. Zero additional configuration is needed. Any client connected to the users's Plex account can browse and play the shared media.
Plex Pass
Plex announced on August 28, 2011, a premium version of the service, called Plex Pass, which offers the following advanced features.
Due to increasing premium features and content, the cost of Plex Pass increased to $4.99 / month. The annual and lifetime subscriptions increased too.
Mobile Sync
Previously known as PlexSync, Mobile Sync is a feature offering synchronization of movies, music and photos with mobile devices either on the local network or via internet. The speed depends on the upload rate of the bandwidth connection.
The feature is especially useful when travelling offline or without a broadband connection. The user can sync partially its movies, music or photos collection to their device, in a format readable by the latter (see #Transcoding). View progression of episodes are synced back to the Plex Media Server when a connection is available again.
The reverse side is also supported with the feature allowing to sync videos, photos and music from a mobile device to the Plex Media Server.
The synchronization does support filters. The user can sync everything, limit based on duration on movies already watched or media that has just been added. The synchronization is quite smart with the server already transcoding files when similar content has been watched or already synced.
Cloud Sync
Cloud Sync is a feature to access cloud storage providers announced on October 14, 2013. Amazon Cloud Drive, Box, Dropbox and Google Drive are currently supported. Support for Bitcasa has been added afterwards and announced on December 13, 2013.
Accesses to these cloud providers are defined, revoked and organized in the Plex account on the Plex website. The order of appearance of these accounts are important because items will be uploaded to the cloud storage providers in the order in which they are listed.
The feature offers the ability to specify multiple storage providers at once, but Plex currently only supports linking to a single account from each cloud storage provider. This means the user can only connect to only one Google Drive account for example.
Individual limits can be defined for each account. These limits can be storage limits like "leave 25% of free storage on the account" or be more advanced like "only sync the newest 20 movies I added to my library".
This synchronization feature allows the Plex Media Server to be shut down completely when the synchronization has finished. The client's apps will be automatically aware of that and stream content from these online accounts instead when the file is available and stored there. When the media server is online again, the progression in episode views will be synced back to the server from the viewer apps.
The Cloud Sync feature is not intended at streaming content directly from these external storage places without having the content locally on the Plex server first. It is not intended at uploading entire Libraries or even large sync selections, but more specific content instead.
Plex Mix
Plex Mix is a feature allowing music mixes based on moods and lyrics. The music files are automatically fingerprinted and matched against online database to grab up to date high quality metadata like the cover art, artist biography, mood and genres tagging and album extras.
Lyrics are synced across devices.
Plex Home
Plex Home is a feature allowing to have advanced multi-users mode and fast switching between users. This feature is accessible from the Plex Web App. The first user of Plex is considered as the admin and can create, modify and remove other users. A maximum of 15 additional users can be created. If Plex Home is enabled, each app, device or tool communicating with the concerned Plex Media Server will need to be signed in a Plex Account and the server will have DLNA disabled. Each user can be customized, and managed with fine-grained access controls. A PIN code can be used to switch faster between accounts. Each users inherits the Plex Pass benefits from the admin. This feature is particularly convenient in a family when a member wants to watch a movie while another wants to watch another TV series episode for example.
Parental controls
Parental controls to restrict content to underage users are available.
High quality content
Access to high quality movie trailers, cast interviews, and other extras for movies in the library is a feature added on July 31, 2014. The feature also allows to select the number and the kind of trailers to read (the DVD version or the Blu-Ray disk for example).
This was the most requested feature among Plex Pass subscribers. At launch, this feature was fully supported on the Plex Web App and in Plex Home Theater, with basic support for Android and iOS applications. Full support to these platforms and others came in later releases.
This feature release marked the first time Plex Pass subscribers received licensed content. In that regard, Plex reserved the right to impose viewing limits in the future.
Camera Upload
Camera Upload is a feature allowing to wireless sync photos only from phones or tablets to Plex Media Server in order to access them from other devices.
Privacy
On July 2, 2015, Plex revealed the machine hosting their blog and forums had been compromised. Personal information like IP addresses, forum private messages, email addresses and hashed and salted passwords had been accessed. This access was gained via a 0-day vulnerability in their forums software.
Following this intrusion, Plex decided to migrate their whole forums to Vanilla Forums, reducing the sysadmin maintenance and security burden self-hosting their forums represented.
On September 20, 2017, Plex was going to implement a new privacy policy in which it was no longer possible for users of Plex to prevent their user data from being collected. However, in a later privacy policy update, the CEO of Plex, Keith Valory, has stated that they will generalize the playback data and offer users the ability to opt out of sending more specific playback information.
See also
- Kodi (ex XBMC Media Center), the cross-platform open source media player software that Plex is based on
- Emby, an open source alternative to Plex
- List of video players (software)
- RasPlex porting of Plex for OpenELEC on ARM for Raspberry Pi
- Comparison of video player software
- Comparison of DVR software packages
References
External links
- Plex - official site
- Daily Updated, Sortable List of Plex Channels
- Porting of Plex for OpenELEC on ARM, so Raspberry Pi
Source of article : Wikipedia