Montando tu propio servidor Plex + PlexDrive + TVHeadends Montando tu propio servidor Plex + PlexDrive + TVHeadends
Hola, tras un tiempo de inactividad hoy, y escapando un poco del objetivo fijado para este año que me tiene el tiempo bastante restringido,... Montando tu propio servidor Plex + PlexDrive + TVHeadends

Hola, tras un tiempo de inactividad hoy, y escapando un poco del objetivo fijado para este año que me tiene el tiempo bastante restringido, vamos a contar como montarnos nuestro propio servidor multimedia. El ya conocido Plex, a él añadiremos PlexDrive para poder reproducir contenido desde Google Drive y evitar así consumir gran cantidad de disco en nuestro server y TVHeadend para emitir IPTV

Nota: Este tutorial es meramente informativo y la reproducción de contenido con derechos de autor sin permiso es ilegal en nuestro país, en mi caso solamente lo uso para visionar contenido iptv dentro de mi misma red interna y evitar así tener que usar multiples decodificadores.

Instalar Plex Media Server

Partimos de una instalación limpia de Ubuntu 18.04, dotamos al server con una ip fija y realizamos los ajustes para instalar plex utilizando apt:

Añadimos la clave GPG del respositorio de Plex

curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -

Añadimos el repositorio a la lista, actualizamos paquetes y lanzamos la instalacion de Plex:

echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list

sudo apt install apt-transport-httpssudo 

sudo apt update

sudo apt install plexmediaserver

Con esto ya podemos verificar que tenemos el servidor de plex corriendo en nuestro Linux:

sudo systemctl status plexmediaserver

Una vez tenemos el servicio activo, podemos ir a la web y configurar nuestro servidor de Plex.

Accedemos mediante el navegador a la ip que hayamos configurado (en mi caso 192.168.1.165):

http://192.168.1.165:32400/web

Hemos de tener una cuenta en Plex, sino la tienes create una en Plex.tv para poder seguir con la instalación.

NOTA: Si usas redes diferentes para tu cliente y la red donde estan los servidores necesitaras montar un tunel SSH. Para hacer esto, si tu cliente es Windows se puede utilizar Putty, lo configuramos como sigue:

Le damos a Open y nos identificamos en la máquina como siempre con el usuario y la contraseña. Ya tendremos el tunel montado, podemos acceder a la URL http://1921.168.1.165:8888/web

Con esto tendremos Plex funcionando, añadamos ahora la posibilidad de reproducir contenido desde Google Drive sin ocupar espacio en nuestro server. Para ello usamos PlexDrive aunque existe otra alternativa que es rclone, según dicen los gurus de Plex es mejor ya que usa menos la API y evitamos los baneos por parte de Google.

Instalar PlexDrive para usar Google Drive directo en Plex

Realizamos la instalación con los siguientes pasos:

apt-get install mongodb
mkdir /home/plexdrive cd /home/plexdrive 

wget https://github.com/dweidenfeld/plexdrive/releases/download/4.0.0/plexdrive-linux-amd64 mv plexdrive-linux-amd64 plexdrive 

chown root:root /home/plexdrive/plexdrive 

chmod 755 /home/plexdrive/plexdrive

Con esto ya tenemos instalado PlexDrive, abrá que autorizar ahora el acceso a la API en Google:

  • Nos logueamos en Google API Console.
  • Creamos un nuevo proyecto.
  • Vamos a Overview -> Google APIs, Google Apps APIs, Drive API y Enable.
  • Vamos a Credentials en el panel izquierdo y Create Credentials, OAuth client ID.
  • En tipo de aplicación seleccionamos Other y Create.
  • Nos dara un client id y client secret. Lo copiamos y guardamos.

Ahora para dejar el proceso de cacheo corriendo (es lento), usamos screen:

apt-get install screen

screen -S plexdrive

mkdir /home/plexcloud

cd /home/plexdrive

./plexdrive -o allow_other -v 3 -m localhost /home/plexcloud

Esto lanza Plexdrive, pulsamos Ctrl+a+d para salir a la shell de Linux, siempre podemos volver para ver el proceso usando: screen -r plexdrive.

Instalar rclone para usar Google Drive en Plex

Si tuviste problemas con PlexDrive o te gusta más esta alternativa que no cachea el contenido, te doy aquí los pasos para su instalación y configuración.

Descarga e instalación:

curl https://rclone.org/install.sh | sudo bash

Ejecutamos:

rclone config

Nos aparece el menu de rclone:

1- Pulsamos N para crear una nueva unidad y le damos un nombre Plexdrive

2- En el tipo elegimos 12 Google Drive (este número puede cambiar dependiendo de la versión de rclone)

3- Nos pedira un clientid y un secretid lo dejamos en blanco y seguimos.

4 – Le damos a N para que nos muestra una URL que hemos de pegar en nuestro navegador para obtener el código de validación de la cuenta de Google Drive. Lo hacemos, introducimos el codigo que nos da y revisamos que todo este correcto.

5 – Finalizamos la revisión con Y.

Ahora nos queda montar la unidad, utilizamos fuse:

apt-get install fuse

mkdir /home/plexdrive

rclone mount --allow-other --allow-non-empty -v plexdrive: /home/plexdrive &

Si todo ha ido como debería, tenemos que poder lista el contenido de nuestro Drive con:

ls /home/plexdrive

Si queremos que este proceso se haga al inicio, hemos de añadir un cron:

crontab -e

Añadimos al final:

@reboot sleep 30 && rclone mount --allow-other --allow-non-empty -v plexdrive: /home/plexdrive &

Ahora hemos de ir a Plex y añadir una biblioteca que enlace con este directorio para poder ver nuestra colección de Google Drive en Plex:

TVHeadends para visionar IPTV desde Plex

Como introducción diré que es necesario tener Plexpass para poder usar esta opción en Plex, Plexpass es la parte de pago de Plex y es bastante asequible.

Para poder tener esto funcionando necesitamos TVHeadends un servidor de streaming y un pequeño servidor proxy entre el Plex y el TVHeadends. Vamos a ello:

Instalar TVHeadend

Para la instalación vamos a utilizar el mismo servidor donde tenemos instalado Plex, montaremos en el todo lo necesario para nuestro centro multimedia.

Añadimos la key de GPG

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 379CE192D401AB61

Añadimos el repositorio a la lista, actulizamos los paquetes e instalamos TVHeadend

echo "deb https://dl.bintray.com/tvheadend/deb xenial stable-4.2" | sudo tee /etc/apt/sources.list.d/tvheadend.list

sudo apt update
sudo apt-get install tvheadend

Nos pedira un usuario y una contraseña para la administración de TVHeadend, una vez terminamos, tendremos accesible el servicio en el puerto 9981

Accedemos a través del navegador web a la ip y puerto indicados: http://192.168.1.165:9981

Ahora tenemos que mapear los canales, en mi caso de VomistarTV en TvHeadends, creamos una nueva red IPTV

Y luego en Muxes añadimos los canales del proveedor, puedes ver una lista actualizada de los canales en:

https://www.adslzone.net/foro/movistar-tv-imagenio.38/lista-actualizada-canales-vlc.350532/

Por ejemplo, para añadir TVE1 a la lista, hemos de utilizar sus datos:

#EXTINF:-1,[001] La 1 HD
rtp://@239.0.0.185:8208

Una vez tengamos todos los canales añadidos, vamos a  Map services > Map all services. Esto nos creara la lista definitiva en TVHeadend

Podemos probar si funciona correctamente pulsando el simbolo PLAY, esto nos descarga un m3u que podemos reproducir con VLC. Ten en cuenta que este tráfico es multicast y tendrás que tener tu infraestructura de red configurada correctamente para que el servidor TVHeadend reciba este tipo de tráfico correctamente desde la red de Vomistar.

Este proceso se puede hacer de manera semi automática con este script: https://github.com/grudolf/m3u2hts

Sino hemos de introducir los canales uno a uno, es un proceso que nos llevara tiempo.

Llegados a este punto, solo nos queda conectar el TVHeadend y nuestro servidor de Plex, para ello, hay que montar un proxy entre ambos. Usaremos TVhProxy: https://github.com/jkaberg/tvhProxy

La instalacion es sencilla, como esta escrito en python necesitamos instalarlo previamente, crear un usuario para la ejecución y crear un virtual environment, veamos todo seguido:

sudo apt install python-pip

sudo apt install virtualenv

sudo useradd -m tvh -s /bin/bash

sudo su - tvh

git clone https://github.com/jkaberg/tvhProxy.git

cd tvhProxy

virtualenv venv

. venv/bin/activate

pip install setuptools --upgrade

pip install wheel

pip install -r requirements.txt

exit

Con esto queda instalado, ahora vamos a configurarlo y ejecutarlo como un servicio de Linux. Para la configuración editamos el fichero tvhProxy.py

vi /home/tvh/tvhProxy/tvhProxy.py

Hemos de modificar las lineas siguientes:

En el caso que nos ocupa, como hemos instalado todo en la misma máquina, hemos de completar solo usuario contraseña que hemos definido para TVHeadend, en este caso admin con password admin:

'tvhURL': os.environ.get('TVH_URL') or 'http://admin:admin@localhost:9981',
'tvhProxyURL': os.environ.get('TVH_PROXY_URL') or 'http://localhost:5004'

Por ultimo creamos el servicio para ejecutar el Proxy como un demonio:

sudo cp /home/tvh/tvhProxy/tvhProxy.service /etc/systemd/system/tvhProxy.service
sudo systemctl daemon-reload
sudo systemctl enable tvhProxy.service
sudo systemctl start tvhProxy.service

Ya solo nos queda configurar Plex para que acceda al proxy y muestre los canales, para ello vamos a LiveTV y DVR, configuramos el DVR:

Luego podemos tambien gestionar la guia de programas de manera automatica poniendo el codigo postal 28003 se han de mapear solos:

y con esto tendremos nuestros canales en PLEX:

 

No soy experto en este tipo de sistemas, lo mio es más temas de seguridad y redes por lo que este post es una recopilación de diversas fuentes que cito a continuación:

https://itstuff.non-stop-tech.com/2018/03/13/install-tvheadend-tvhproxy-for-plex-to-use-as-a-tv-tuner/

https://www.adslzone.net/foro/movistar-tv-imagenio.38/tvheadend-instalacion-configuracion-basicas-movistar.408338/

https://www.adslzone.net/foro/movistar-tv-imagenio.38/lista-actualizada-canales-vlc.350532/

https://bytesized-hosting.com/pages/plexdrive

 

gpinero

No hay comentarios

Se el primero en dejar un comentario.

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

CAPTCHA ImageChange Image