En este hilo pretendo guiar en la instalación de un servidor Plex Media Server en nuestra raspberry para disfrutar todo nuestro contenido multimedia desde cualquier parte, además de hablar de mejoras, configuraciones, añadidos, resolver dudas etc.
¿Que es Plex?
Plex es un sistema de reproducción multimedia que consiste en una aplicación cliente para la reproducción y un servidor de ficheros multimedia de comunicación asociados y catalogados.
Siempre es fácil compartir ficheros entre dispositivos hoy en día, con una buena wifi, son pocos los medios que son incapaces de conectarse entre sí, pero cuando hablamos de visualizar vídeos de cierta calidad y catalogarlos con una interfaz amigable y usable... ya la cosa cambia.
Plex resuelve todos estos problemas mediante la recopilación de información sobre los ficheros multimedia almacenados en su servidor, conectándose a las mejores base de datos de películas, series, etc. es capaz de extraer información sobre su sinopsis, caratulas, fondos relacionados con la película, para después formar un catálogo de tus ficheros multimedia con todo lujo de detalles. Además extrae meta-información de los ficheros, informándote de si el vídeo tiene o no subtítulos, la calidad del audio, si es 2.0, 5.1, DTS, Dolby Sourround, etc. o la calidad del vídeo
¿Montar Plex Media Server?
Gracias a PLEX Media Server, es posible la reproducción de películas, programas de TV, series y otros desde nuestra raspberry, ya sea en un televisor con Smart TV, Android, iOS, con otro ordenador, un móvil, tablet, etc.
Simplemente montará una plataforma que dará acceso a cualquiera de las aplicaciones cliente Plex más arriba citadas, mientras nosotros almacenamos el contenido multimedia (Videos, series, programas, música, imágenes, etc) , y además recopilamos la información, como sinopsis, caratulas, información de episodio, artistas de música, etc y todo esto con apenas unos clicks.
¿Como lo puedo utilizar?
El punto fuerte de montar un servidor de Plex, es poder reproducir todo nuestro contenido desde cualquier punto del planeta, a través de todos los dispositivos que soportan el cliente, a través de la web, o de las aplicaciones propias de cada dispositivo.
Otro punto fuerte es que nos guarda el seguimiento del video en el minuto que nos hayamos quedado, pudiendo reanudar cuando queramos desde donde lo dejamos, además de un sistema muy sencillo de visto y no visto, para poder filtrar las películas y poder seguir las series por el capítulo por el que vayamos.
Otro de los puntos muy fuertes es el poder compartir nuestra biblioteca con nuestros amigos y familiares cómodamente dando acceso a sus propias cuentas y viceversa.
¿Por qué en una Raspberry?
Generalmente esto se monta en un pc ya que suele tener muchísimo mejor procesador, y más RAM, pero también consume muchísimo más y lo queremos tener 24h. Además no hace ruido y no molesta nada. Esto en teoría es para 1 persona, ya que vamos a tener a la raspberry haciendo streaming de video a nuestros dispositivos. Optimizando y haciendo un poco el truco del almendruco he podido estar conectado desde 2 pc por webs y un móvil android a la vez, así que tiene potencia suficiente para un uso básico.
· Raspberry Pi 3 - Obligatorio claro, en la Rpi2 también se puede montar, me ha comentado @Kagnaska que el lo tiene montado ahí y ha soportado hasta 4 dispositivos simultaneos, yo lo tengo en la Rpi3 y parto de esta base para la guía.
· Cable Ethernet conectado al Router - Se que tiene Wi-Fi, pero donde esté una conexión por cable que se quite lo demás. Creo que el cable da igual ya que no es una red Gigabit pero para que valga para el futuro recomiendo de cat 5e hacia arriba, la RPi3 peca de ofrecer 10/100 solamente por ethernet.
· Una tarjeta de memoria micro SD - Preferiblemente de clase 10, al precio que están yo personalmente las recomiendo, trabajaré con una de 16 gigas, pero se puede montar en una de 8GB inlcuso. La idea es usar un disco duro externo, pero si alguien quiere usar una de gran capacidad e ir borrando se podría perfectamente - (Yo ahora mismo tengo la samsung evo de 16 GB solo para el SO) https://www.amazon.es/Samsung-Evo-MB-MP16DA-EU-adaptador/dp/B00J2BU7WO/ref=sr_1_1?ie=UTF8&qid=1474734945&sr=8-1&keywords=16+gb+sd
Otra muy recomendable es - https://www.amazon.es/gp/product/B013CP5A0Y/ref=oh_aui_detailpage_o02_s00?ie=UTF8&psc=1
Fuente de alimentación - Yo tengo una de 5V 3A directa, sin botón ni nada, esta.
Disco duro externo - La Idea es tener un disco duro conectado a la RPi3 donde almacenaremos todo nuestro contenido multimedia, y donde descargaremos directamente a través del PC o el teléfono torrents principalmente (se puede instalar un gestor de enlaces de descarga directa pero no lo voy a incluir de momento). Dicho esto, mi recomendación es tener un disco duro con alimentación externa ya que si no tuviese alimentación, tendría que tirar de la propia alimentación de la raspberry y yo personalmente no lo recomiendo. Hay un adaptador para enchufar un disco duro a un cargador tipo móvil y que tenga alimentación independiente.
Una vez instalado el sistema operativo y sabiendo la IP de nuestra Raspberry una vez conectada a la red, podemos terminar de configurarla a través de la terminal en nuestro PC desde, por ejemplo, putty habilitando previamente la conexión por SSH.
Si nos da mucha pereza, lo podemos conectar a un monitor o TV a través de un HDMI y hacerlo desde ahí, pero yo no la voy a tener enchufada a la TV solo para habilitar el SSH.
Yo he utilizado Raspberry Stretch Lite [ZIP] [Torrent], más que nada porque no vamos a necesitar la versión desktop ya que realmente no vamos a utilizar la RPi para nada.
Para montar la ISO del sistema operativo en la SD utilizaremos el programa - win32disk
Después de montar la imagen en la microSD, la metemos en la raspberry y la enchufamos a la luz para que arranque, hará sus cosas hasta que nos pida login que por defecto será:
Usuario: pi
Contraseña: raspberry
Habilitar SSH
Lo primero que vamos a hacer es habilitar el SSH para poder manejarnos desde el PC con mayor fluidez.
sudo raspi-config
En la pantalla Vamos a la 5º opción y dentro en SHH que es la segunda, lo habilitamos. A partir de aquí podremos usar Putty desde el pc y hacer el resto desde el ordenador.
Seguridad
He tenido bastantes problemas en general últimamente ya que me había entrado una especie de malware de criptominado que me estaba jodiendo la vida, buscando y buscando encontré esta web con unos sencillos pasos a seguir para aumentar la seguridad de nuestra Rpi.
http://eltallerdelbit.com/malware-raspberry-pi-linux-muldrop-14
Dejo la página de momento y desarrollaré algunos puntos mínimos para cambiar.
Configurar IP Estática (opcional)
Es muy recomendable asignarle una IP estática a nuestra Raspberry, ya sea a través de la configuración interna o a través del router. Yo lo tengo por Router sabiendo la MAC de la Raspberry.
((Esto lo desarrollaré más adelante si es preciso))
Ya sea desde la Raspberry o desde Putty vamos a empezar a usar la terminal para empezar a instalar todo lo que nos hará falta para instalar el servidor y poder utilizarlo como es debido en unos sencillos pasos.
# Nos convertimos en Super User
sudo su
# Añadimos la Key Pública
wget -O - https://dev2day.de/pms/dev2day-pms.gpg.key | apt-key add -
# Añadimos el repositorio
echo "deb https://dev2day.de/pms/ stretch main" >> /etc/apt/sources.list.d/pms.list
# activamos el https
apt-get install apt-transport-https
# actualizamos
apt-get update
# instalamos
apt-get install plexmediaserver-installer
Esto tardará, así que le dejamos ahí tranquilamente hasta que acabe todo. Si todo ha ido bien ya tendríamos nuestro servidor instalado y funcionando.
Mientras que se descarga y se termina de instalar nos crearemos una cuenta en plex.tv, si no tenéis, no se tarda nada. Una vez con la cuenta creada vamos a configurar el servidor que acabamos de instalar y preparar.
Turno de preparar nuestro almacenamiento, lo primero que deberíamos hacer es formatear nuestro disco duro en un formato amigable para linux, ext3 o ext4. Esto es una recomendación mía ya que vamos a ganar un poco más de rendimiento a la hora de cargar y gestionar toda nuestra biblioteca.
Si no quieres formatearlo en "modo linux" porque lo vas a utilizar en windows pasa a los *** de más abajo. Para formatear el disco primero vemos en que ruta está con:
sudo fdisk -l
Generalmente la ruta es /dev/sda así que para formatear usaremos esa o la que sea, yo utilizaré /dev/sda2, este es será mi ejemplo
sudo mkfs.ext4 /dev/sda2 -L HDD1T
La “-L HDD1T” del final del comando es para etiquetar al disco duro y que lo reconozcamos más facilmente.
*** Yo ahora mismo lo tengo con formato NTFS que me viene genial para explicar otro ejemplo, así que primero voy a instalar los “drivers” para que reconozca este sistema de archivos con el comando:
sudo apt-get install ntfs-3g
Una vez instalados y/o formateado el disco pasamos nuevamente a ver todas las unidades montadas ahora con el siguiente comando.
sudo blkid
a mi me sale la siguiente línea que es con la que voy a trabajar para el ejemplo, así que copiadla en un bloc de notas mismamente.
/dev/sda2: LABEL="Seagate Backup Plus Drive" UUID="8E44C38E44C3780B" TYPE="ntfs" PARTLABEL="Basic data partition" PARTUUID="27af33a1-36b7-41db-85ac-62508bf8d6d0"
Ahora vamos a crear el directorio donde vamos a montar el disco duro en el que añadiremos nuestro contenido multimedia yo lo voy a hacer dentro de la carpeta media y le damos permisos y creamos un acceso directo para facilitarnos el acceso.
sudo mkdir /media/HDD
sudo chmod 777 /media/HDD
ln -s /media/HDD/ /home/pi/HDD
Ahora vamos a montar el disco para que siempre lo reconozca, sin el disco no iniciará la raspberry, pero no tengo pensado quitarlo así que bien.
He tenido problemas con esto así que si alguien conoce un sistema mejor que me lo diga, el método que me ha funcionado es el siguiente:
Para montar el HDD he utilizado este comando
sudo mount -t ntfs-3g -o uid=1000,gid=1000,umask=007 /dev/sda2 /media/HDD
luego hay que hacer una copia de seguridad del archivo fstab por si acaso:
sudo cp /etc/fstab fstab.old
y vamos a editarlo para añadir nuestro disco duro:
sudo nano /etc/fstab
y nos abrirá un editor de texto sencillo donde tendremos que dejarlo tal que así:
proc /proc proc defaults 0 0
PARTUUID=86168646-01 /boot vfat defaults 0 2
PARTUUID=86168646-02 / ext4 defaults,noatime 0 1
UUID=8E44C38E44C3780B /media/HDD ntfs-3g defaults,nofail 0 0
# a swapfile is not a swap partition, no line here
# use dphys-swapfile swap[on|off] for that
Lo que hacemos es asignar la UUID de nuestro disco duro a la carpeta que hemos creado, le añadimos el formato en este caso ntfts-3g y el resto de comandos. Pongo una tabla para que pongáis el formato que tengáis el disco duro.
ntfs-3g para NTFS
vfat para FAT32
ext4 para ext4
Para salir pulsamos Ctrl+X, elegimos "yes" para guardar, sobrescribimos y listo, ya deberíamos tener el disco duro montado en nuestro sistema, podemos probar a meternos en la ruta de nuestra carpeta para ver que todo ha salido bien.
El sistema de carpetas lo haremos vía SAMBA posteriormente, yo utilizaré las carpetas Películas, Series, Dibujos, Anime.
Anexo
Es muy importante hacer que nuestro disco duro pare de dar vueltas cuando no lo estemos utilizando, así prolongaremos su vida y consumirá menos, se calentará menos etc. Algunos discos tienen un sistema por defecto que lo hace y no tenemos que tocar nada, el mío tiene esa función, pero la Rpi3 no lo gestiona, así que voy a instalar unos "drivers" para que se pare a los 10 minutos si no se está leyendo o escribiendo ningún archivo.
En mi caso voy a usar sdparam, pero hay otros dejo un enlace, para mi el mejor hd-idle - https://www.htpcguides.com/spin-down-and-manage-hard-drive-power-on-raspberry-pi/
Abrimos la dirección http://iplocalpi3:32400 en mi caso http://192.168.1.200:32400 y ya nos saldrá el servidor plex.
Lo primero que nos sale al meternos en la ip local de plex es para poder poner el nombre del servidor y para activar la casilla del contenido visible fuera de la red.
Lo segundo es crear las bibliotecas, si utilizasemos la SD para almacenar contenido, aquí tendríamos que especificar la ruta y el tipo de contenido que habrá en la biblioteca (películas, series...). Si en el disco duro que hemos montado ya hay contenido, se puede empezar a buscar ya el contenido que haya dentro. En esta guía lo dejaré para más tarde.
Una vez en la página principal de Plex, nos vamos a Ajustes > Servidor , tendremos bastantes pestañas en el menú lateral, voy a dejar las opciones que tengo yo puestas, cada uno es libre de poner o quitar las opciones que quiera.
General - Todo desmarcado
Acceso Remoto - Activado si queremos acceder por ejemplo, desde el trabajo, desde la calle etc (a mi últimamente no me funciona bien)
Versiones optimizadas - Nada esto es para convertir nuestros archivos de vídeo, en otro formato mas amigable, yo no lo uso.
Agentes - Los agentes son los que cargan la info de peliculas, series, musica... (sinopsis, portada, reparto...) yo uso The movie database para pelis y TVDB para series, se puede dejar por defecto pero yo los suelo subir de posición para que estén los primeros
Biblioteca - Marcadas: Escanear automáticamente (la primera) y vaciar papelera esas dos, y los desplegables en "Nunca"
Complementos - Nada
Red - Solo tengo habilitada la canalización http
Transcodificador - Calidad -> Haz sufrir a mi CPU, así conseguimos que los vídeos que necesiten ser transcodificados tengan ese plus de rendimiento para que no se quede pillado o en algunas partes de quede 1 segundo pensado. La última opción de conversiones simultaneas, yo lo limito a 2.
Idiomas - Al gusto, yo lo tengo por defecto
DLNA - Lo tengo deshabilitado, todo desmarcado.
Tareas programadas - de esta pongo foto
Contenido extra - todo deshabilitado
y ya, esta es la configuración que yo tengo, otro puede tener otra y ser completamente válida.
Anexo - configuración web
A la izquierda de la configuración del servidor está la configuración web, esto es para la reproducción desde el navegador en el que estemos.
Mis recomendaciones son siempre buscar la reproducción en directplay, esto significa que la calidad siempre tiene que estar al máximo y la retransmisión tiene que ser directa, sin transcodificar (transcodificar es convertir un vídeo de 1080p en uno de 720p en tiempo real para que el reproductor fuerce esa resolución, y es una tonteria), con esto nos aseguramos que la pi3 no sufra casi nada y se pueda reproducir fluidamente, la configuración de cada reproductor es independiente, los navegador tienen la suya, la app de android tiene otra dependiendo del dispositivo etc y siempre hay que buscar el directplay
Los que ya tengáis acceso a vuestro HDD de manera sencilla para mover archivos os recomiendo que creeis una estructura de carpetas, la mía comentada más arriba es:
Peliculas (p), Series TV(s), Anime(s), Dibujos(p)
Las p y s entre paréntesis corresponden al tipo de biblioteca en este caso tendré 4 bibliotecas 2 con tipo series ( Series TV y Anime) y otras dos con tipo películas (Películas y Dibujos).
De momento no tengo acceso al disco duro ya que está enchufado a la Rpi3 así que voy a habilitar SAMBA por putty y creare un acceso directo como si fuese una unidad de red para meter el contenido en el disco duro. Hay más formas, pero de momento voy a usar esta para hacerlo a través del PC windows.
Nota: para trasnferir archivos del pc al HDD, lo mejor es demontar el disco o apagar la Pi3 enchufar el HDD al ordenador y transferir, pero como soy muy vago, lo hago todo por samba
sudo apt install samba samba-common-bin
Una vez instalado vamos a editar el archivo de configuración
sudo nano /etc/samba/smb.conf
Tenemos que modificar 2 cosas, una es el soporte para windows y que quede así
# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
wins support = yes
Y la otra es crear abajo del todo una nueva carpeta para compartir como en el siguiente ejemplo:
[share]
comment = HDD Pi3
path = /media/HDD
browseable = Yes
writeable = Yes
only guest = no
create mask = 0644
directory mask = 0755
public = no
Ctrl + X para salir, decimos que Y para guardar y sobreescribimos. Por último hay que crear una contraseña para este servicio:
sudo smbpasswd -a pi
(pi es el usuario, por si ponéis otra cosa) y elegimos al que queramos y confirmamos (hay que meterla 2 veces). Una vez hecho esto reiniciamos el servicio de samba y ya tendría que estar disponible desde el acceso a red de windows.
sudo systemctl restart smbd
Compruebo que efectivamente puedo acceder desde windows y creo un acceso directo a la unidad P: para que me resulte más sencillo acceder a las carpetas.
Recuerdo que el usuario es pi y la contraseña que hayamos puesto. Ahora ya podemos cargar nuestro disco duro con contenido. La velocidad media que tengo es de 11 MB/s.
Éste proyecto pretende explicar cómo configurar un centro multimedia (mediacenter) completo. Queda prohibido cualquier uso orientado a piratear/robar contenido con derechos de autor/terceros sin expreso consentimiento. Éste proyecto está basado en un conjunto de software gratuito que se puede encontrar fácilmente en internet. Éste proyecto no tiene ningún fin lucrativo, su único fin es enseñar y educar sobre la configuración y uso de los distintos programas.
Iré actualizando progresivamente