# Plex (software)

Plex organiza video, música y fotos de librerías de medios personales y hace stream de estos a smart TVs, reproductores de medios y dispositivos móviles. Es un Reproductor de medios y suite de software integrada por diferentes aplicaciones para reproducir medios asociadas a un media server que organiza los medios almacenados en dispositivos locales. Se encuentra disponible para Mac OS X, Linux, y Microsoft Windows. Plex también ofrece aplicaciones para realizar streaming para Roku y Chromecast. Los canales integrados de Plex ofrecen al usuario acceso a diferentes proveedores de contenido en línea, tales como YouTube, Vimeo, TEDTalks, y CNN entre otros. Plex también proporciona acceso a servicios de almacenamiento en la nube incluyendo a Dropbox, Box, Google Drive, Copy y Bitcasa.
La interfaz de Plex , Plex Home Theater (formalmente Plex Media Center), permite al usuario organizar y reproducir videos, fotos, música y pódcast desde una computadora local o remota que se encuentre corriendo Plex Media Server. Además, los servicios de Plex Online le da acceso al usuario a una lista creciente de plugins para disfrutar contenido en línea incluyendo a Hulu, Netflix, y CNN video. Además de ser un mal sistema operativo
Antes del lanzamiento de Plex Home Theater, que es de código cerrado, en noviembre de 2013, el código fuente de Plex Media Center fue inicialmente una bifurcación de XBMC el 21 de mayo de 2008; esta todavía se usa en la interfaz de Linux. Plex Media Server, es software propietario.

## Antecedentes

Plex comenzó como un proyecto de hobby pero desde 2010 ha evolucionado hasta ser un software comercial el cual es propiedad y es desarrollado por una solo compañía startup, Plex, Inc. Esta es una compañía de alta tecnología ubicada en los Estados Unidos y es responsable del desarrollo de Plex Media Server y la app, el Cliente-servidor, y todo el software bajo la marca "Plex". La compañía también posee el copyright del código del software propietario, así sean distribuidos por ellos mismos o como un componente en productos de terceros, esto como una alianza estratégica.

## Plex Media Server

Plex Media Server es el motor del media server de Plex, el cual es Software propietario y por lo mismo de código cerrado. Presentado en 2009, Plex Media Server es usado para albergar el contenido y plugins que son enviados por streaming al media player (incluido Plex Home Theater) y las apps móviles de Plex, ya sea que se encuentren en el mismo equipo, la misma red local, o incluso en Internet. Además de las plataformas soportadas por la interfaz, el servidor también se encuentra disponible para Linux. Plex Media Server puede ser configurado para clasificar contenido en cualquier ruta del equipo en que se ejecuta, además de poder obtener el contenido de iTunes, iPhoto, y Aperture de forma automática. El contenido puede ser transcodificado por el servidor antes de que sea enviado por streaming, esto con el objetivo de reducir los requerimientos de banda ancha, o por la compatibilidad con el dispositivo al que se envía el contenido.
Plex Media Server permite la instalación de complementos para aumentar sus capacidades. Muchos de estos complementos están disponibles vía el servicio de Plex Online. Este servicio puede ser usado directamente en la interfaz gráfica de Plex Home Theater o Plex Media Center.
Plex usa los metadatos de diferentes librerías de código abierto para encontrar de forma automática la información de los diferentes elementos de la librería.

## TV y Aplicaciones de Streaming

Plex media player es compatible con un amplio rango de formatos multimedia e incluye características como listas de reproducción, visualizaciones de audio, y un conjunto creciente de complementos de terceros. Como software para reproducir contenidos, Plex puede reproducir la mayor parte de los archivos de audio y video, así como visualizar imágenes de diversas fuentes, incluidos CD/DVD-ROM drive, USB flash drives, Internet, y local area network shares. La reproducción de DVD todavía no se encuentra del todo integrada y requiere el uso de otras aplicaciones como el Reproductor de DVD de Apple. Plex media player también puede reproducir archivos almacenados en hard disk drive, or realizar streaming sobre SMB/SAMBA/CIFS shares (Windows File-Sharing), ReplayTV DVRs, o UPnP (Universal Plug and Play) y DLNA y media servers. Plex está diseñado para tomar ventaja de una conexión de internet si esta se encuentra disponible, usando, por defecto, TheMovieDB (TMDB. ORG) para obtener thumbnails y sinopsis de películas, TheTVDB para previsualizaciones de shows de tv y metadata, CDDB (vía FreeDB) para información de CD de audio, y AMG para imágenes de las portadas de álbumes. También tiene listas de reproducción de música y video, slideshows, una función de karaoke y gran variedad de audio visualizers y screensavers.
Plex media player puede decodificar video de alta definición hasta 1080p, así como fuentes 10-bit H.264. Con el hardware apropiado, Plex soporta decodificación por Hardware de video a H.264.
La Biblioteca de Video, una de las databases de metadatos, es una de sus principales funciones. Esta permite la organización automática de los contenidos de video por medio de la información asociada esos archivos (películas y Shows de TV). La vista en el modo librería permite al usuario navegar por el contenido de video por medio de categorías, como género, título, año, actores y directores.
La Biblioteca Musical, una de las bases de datos de metadata, es otra de las principales funciones de Plex. Esta permite organizar de forma automática la colección de música del usuario por medio de la información almacenada en los metadatos, como título, artista, álbum, género y popularidad.
Para la reproducción de audio, Plex incluye un reproductor de audio llamado PAPlayer (Psycho-Acoustic Audio Player) el cual fue creado por los desarrolladores de XBMC. Algunas de las características más notables de este reproductor son on-the-fly audio frequency resampling, reproducción sin pausas, crossfading, ReplayGain, cue sheet y soporte para Ogg.

## Apps Móviles

La Aplicación móvil de Plex existe para iOS (versión 4.1 en adelante), Android (versión 1.6 en adelante), Windows Phone (versión 7.5 en adelante) y Windows 8. La app permite controlar de forma remota las otras aplicaciones de Plex, incluido Plex Home Theater. También permite navegar y hacer streaming directo hacia el dispositivo desde un servidor con Plex, usando transcodificación cuando esta sea requerida, así como también desde diferentes "canales" en línea. Ambos requieren una cuenta de MyPlex para tener acceso remoto (vía internet) a los servidores. A diferencia de las aplicaciones de escritorio, esta aplicaciones no son gratuitas. También se encuentran disponibles aplicaciones de terceros para las tres plataformas para controlar Plex.

## Formatos Multimedia

Como otros reproductores derivados de XBMC, Plex usa FFmpeg y otras bibliotecas de código abierto para manejar los formatos multimedia más comunes. Puede decodificar estos formatos por software, usando decodificación de video por hardware cuando este disponible y opcionalmente reproducir audio AC3/DTS directamente en un amplificador o receptor de audio vía S/PDIF.
El reproductor de video de Plex usa un "núcleo" desarrollado originalmente por los desarrolladores de XBMC como un DVD-player para DVD-Video movies, el cual incluye soporte para DVD-menús. Este "núcleo" soporta todos los codecs de FFmpeg, además de los códecs de video de MPEG-2 y los códecs de audio de DTS y AC3.
PAPlayer soporta una gran variedad de formatos de audio.
Plex soporta todos los formatos comunes de imágenes, con opción de realizar panning/zooming y presentación de imágenes con efecto "Ken Burns", mediante el uso de la librería CxImage.

## Desarrollo

El código fuente de Plex Home Theater fue desarrollado a partir del código de XBMC el 21 de mayo de 2008; este todavía se usa como interfaz del reproductor de media del motor de Plex. Plex Media Server, a diferencia de Plex Home Theater, es Software propietario. Plex Home Theater se distribuye bajo licencia GNU General Public License, su código fuente se puede encontrar en GitHub. Elan Feingold, uno de los fundadores de Plex, fue parte del equipo de desarrollo de XBMC por un periodo corto de tiempo.
Plex Home Theater se encuentra escrito principalmente en C++, hace uso del framework SDL (Simple DirectMedia Layer) con un renderer OpenGL renderer. Algunas de las librerías de terceros de las que Plex hace uso se encuentran escritas en C, pero son usadas con una función wrapper en C++ y cargadas como bibliotecas compartidas cuando son usadas dentro de Plex. Como Plex Home Theater está basado en XBMC, comparte su GUI toolkit flexible y su framework. Con temas basados en el estándar XML, el cambio de temas y la personalización son muy accesibles. Los usuarios pueden crear sus propios temas (o modificar los existentes) y compartirlos con otros usuarios usando sitios de terceros creados con este propósito.
Los desarrolladores pueden crear plugins para la arquitectura de Plex Media Server usando Python y XML. Muchos plug-ins para Plex Media Server usan WebKit para mostrar el video de diferentes fuentes usando los reproductores de Flash y Silverlight que se usan para los navegadores web.
Plex Home Theater usa un tema llamado RetroPle creado por un artista llamado se.bastian, mientras que la última versión de Plex Home Theater usa una versión modificada del tema "MediaStream" como tema predeterminado, un tema diseñado originalmente por Team Razorfish para XBMC.
Plex Home Theater es distribuido bajo licencia GNU General Public License (GPL) por los desarrolladores, por lo que permiten a cualquier persona distribuir el código de Plex media player bajo las condiciones de esa licencia. Plex Media Server, el motor del servidor del que dependen todos los plugins, es de código cerrado.
Para los codecs más populares de audio y video, Plex incluye soporte de forma nativa a través de librerías de código abierto y gratuitas, como LAME, faad (para archivos faac), libmpeg2, y libavcodec (del proyecto FFmpeg). Estas librerías están disponibles bajo licencias open source.
Plex puede obtener información y portadas de diversos sitios incluyendo IMDb, TheMovieDB, TheTVDB, freedb y Allmusic.
Plex incluye libdvdcss para poder reproducir películas en DVD-Video encriptadas usando el esquema CSS (Content Scramble System).