Página 1 de 2

[TUTORIAL] Colección Y Biblioteca Compartida Con NAS y MySQL

Publicado: 31 Ene 2017, 19:26
por Digiray
Hola a todos.

Aquí os traigo un tutorial para compartir vuestra colección de Kodi y vuestra biblioteca de Pelisalacarta mediante el uso de un NAS y una base de datos en MySQL alojado en el NAS. Os enseñaré a Configurar el NAS, el servidor MySQL y Kodi partiendo de cómo lo tengo yo, ya que cada marca de NAS es diferente pero las opciones son casi iguales en todos. A pesar de que el tutorial está dirigido a NAS, los pasos 1 y 4 se pueden utilizar también para compartir la Biblioteca de Pelisalacarta con un disco de red tipo WD MyCloud o parecidos, e incluso algunos tienen también servidor MySQL por si os interesa el tutorial al completo. También pueden seguir los mismos pasos los que estén interesados en el apartado NAS y no el de MySQL.

Algunos estaréis familiarizados con este método, otros quizá no tanto y no conocéis los beneficios de usar este sistema. A continuación, os pongo una lista de Pros y Contras de este método:

PROS:
  • Biblioteca y Colección siempre sincronizada. Es decir, cuando ves una película o capitulo en un dispositivo y se marca como “Visto”, automáticamente quedara marcado en todos los dispositivos de la casa.
  • Empezar una película o serie en una tele de la casa y terminarla en otra gracias a los marcadores de Kodi.
  • Única actualización de la Colección de Kodi. Al estar toda la información almacenada en una base de datos, todos los dispositivos acceden a ella y están actualizados a la vez.
  • Única actualización de la Biblioteca de Pelisalacarta. Al todos usar la misma ruta para almacenar los archivos STRM generados por Pelisalacarta, basta con crearlos 1 vez y automáticamente salen en los demás dispositivos al acceder a la Biblioteca.
CONTRAS:
  • Si al arrancar Kodi la base de datos MySQL no está accesible, tarda muchísimo en arrancar y cuando por fin lo hace, la colección está vacía.
  • Si mientras se usa Kodi, la base de datos MySQL queda inaccesible, Kodi tarda muchísimo en responder a cualquier cosa que se quiera hacer con él.
    *Esto sólo suele pasar si tienes el NAS programado para apagarse o reiniciarse mientras estas usando Kodi.*
Que se comparte mediante MySQL?

Se comparten todos los metadatos de las películas y series que tengamos agregados a la colección de Kodi, siendo esto título, actores, directores, años, etc. También se comparte la ruta del “arte” que usamos (fanart y miniaturas). Otra función que tiene es la de compartir marcadores, los puntos que generamos cuando paramos una película o serie y la volvemos a poner y nos pregunta si deseamos Resumir desde XX:XX. Se comparten las rutas genéricas de los archivos y el historial de Visto / No Visto. No se comparte nada más mediante MySQL, con lo cual es relativamente seguro de utilizar.

Bueno, habiendo repasado de qué se trata este método, paso a explicaros lo que usaremos:
- Lo primero de todo, Kodi. Yo esto lo he basado en Kodi 17 ya que es lo que uso actualmente, pero las opciones que se usan son las mismas en versiones previas de Kodi.
- Un NAS con servidor MySQL y 2 Shares diferentes (Carpetas Compartidas)* en formato SMB, aunque imagino que en formato NFS el proceso debería ser exactamente el mismo.
- El gestor de MySQL PHPMyAdmin
- Notepad++
Como veis, no se usa nada del otro mundo e imagino que son herramientas que un 90% de los usuarios ya tenemos instalados.

*NOTA ACLARATORIA: Digo de usar 2 Shares diferentes por la siguiente razón: Kodi en sí, puede acceder a rutas del NAS protegidas por usuario y contraseña. Pero Pelisalacarta no. Para que Pelisalacarta pueda crear los archivos STRM de las Series/Películas cuando se añaden, hay que tener activado la opción de Acceso total de cuenta de Invitado. Yo tengo creado un Share llamado Kodi y allí meto todo lo relacionado con éste (Repositorios, addons, los archivos STRM, etc), así también lo uso como una especie de repositorio personal. Luego en otro Share tengo las películas que tengo en local, el cual tiene la protección de Usuario / Contraseña.

Yo tengo este sistema montado en casa desde hará unos 3 años ya y tengo la Biblioteca de Pelisalacarta y la Colección de Kodi compartido con el PC, la NVidia Shield, un Amazon FTV y 2 Android Sticks mediante un NAS básico de Qnap, modelo 212.

Lo ideal, es declarar un dispositivo como Maestro y los demás como esclavos. El maestro se encargará de actualizar biblioteca, actualizar colección, establecer los fanarts y miniaturas y, sobre todo, escribir en la base de datos MySQL. Así, los demás dispositivos sólo han de “leer” la base de datos y ya saben las rutas, los datos, etc. Yo en mi caso, uso el PC y así los otros dispositivos “menos potentes” no requieren realizar tanto procesado. En caso de no tener PC, yo usaría la Shield por ser el más potente. Pero esto ya depende de cada uno (dónde lo tiene más cómodo realizar las búsquedas, cuál tiene teclado, etc).

Comenzamos.

Paso 1. Configurar las carpetas del NAS.

Como os he dicho, yo tengo varios Shares en mi NAS. La inmensa mayoría de los que tengamos NAS, como mínimo, tienen 2 Shares. Éstos suelen ser nuestra carpeta Personal (normalmente la ruta es /home/Usuario o /homes/Usuario/Home. Yo no uso esa ruta y lo tengo directamente como /DigirayNAS, pero eso es lo de menos) y la carpeta Downloads (que suele estar creado en la raíz del sistema de archivos como /Download). En la carpeta Personal es donde normalmente guardaríamos las películas descargadas en una carpeta específica para ello. Como he dicho anteriormente, mi recomendación es crear otra carpeta compartida o Share que le podamos dedicar a Kodi con acceso total de invitado. En caso de no querer hacer otra carpeta compartida, tenemos que otorgarle derechos de escritura a la cuenta de invitado en la carpeta que vayamos a usar.

En cualquier caso, accedemos a la interfaz web del NAS mediante su IP local y entramos con la cuenta de administrador. Una vez dentro, accedemos al Panel de control o Configuración, según se llame en vuestro NAS. En el mío se llama Panel de control y allí buscamos la opción de Carpetas Compartidas o Shares:

Imagen

Entramos allí y nos vamos a la opción de Crear:

Imagen

Se nos abrirá otra página para configurar la carpeta nueva. Os dejo 3 imágenes de cómo se haría en el mío:

Imagen
Imagen
Imagen

Ojo a que está seleccionado Lectura / Escritura de la cuenta de invitado, esto es importante.

En caso que no queramos crear una carpeta nueva, seleccionaríamos una de las que ya tenemos y otorgaríamos el acceso de Lectura / Escritura al invitado como se muestra a continuación:

Accedemos a las carpetas compartidas:

Imagen

Y buscamos el icono de configuración de la carpeta que queremos usar. En mi caso podéis ver que ya tengo la carpeta Kodi:

Imagen

Y se nos abrirá la ventana de configuración y lo dejaríamos así:

Imagen

Con esto ya tendríamos preparada la carpeta que usaremos para los archivos STRM de Pelisalacarta y que podemos usar como repositorio personal para Kodi.


Paso 2. Configurar el Servidor MySQL.

Tal como ya he mencionado, yo uso un NAS de la marca QNap, así que mis capturas de pantalla son específicas de esa marca. Pero por lo general, todos los sistemas NAS más conocidos (Synology, FreeNAS, etc) tienen un sistema de instalación del Servidor MySQL parecido. Algunos lo tienen dentro de las opciones de Servidor Web y otros lo tienen como un elemento separado (tal es mi caso). Decir que no hace falta habilitar el servidor web para utilizar el servidor MySQL, suele poderse activar por separado.

Para activar el Servidor SQL, volveremos a acceder a la interfaz Web de nuestro NAS mediante el IP local del mismo y volveremos a dirigirnos al Panel de control (o ajustes). Una vez allí, buscaremos las opciones de Servidor SQL:

Imagen

Entramos y veremos que nos da pocas opciones, entre ellas Habilitar servidor, Habilitar TCP/IP y configurar el puerto de acceso entre otras cosas:

Imagen

Deberemos marcar Habilitar Servidor y Habilitar Red TCP/IP. Lo primero poner el servidor en marcha, lo segundo nos permite acceder a él desde un dispositivo que no es el NAS mediante nuestra red local. Muy importante es acordarnos del puerto de conexión. El puerto que veis en la imagen, el 3306, es el predeterminado de SQL, con lo cual, si no hay una necesidad de peso para cambiarlo, yo lo dejaría así. Ahora le damos a Aplicar y luego en Inicializar base de datos.

En este punto, es recomendable reiniciar nuestro NAS para que se apliquen y guarden bien los cambios. Además, así nos aseguramos que el Servidor SQL está en marcha para el siguiente paso.

Ahora nos dirigiremos a lo que viene siendo la tienda de aplicaciones de nuestro NAS. En mi caso, se llama AppCenter. Allí encontraremos muchas cosas que podemos añadir para agregar funciones a nuestro NAS, pero ahora el que nos interesa es “phpMyAdmin”:

Imagen

Le damos a instalar, dejamos que haga lo que tenga que hacer y cuando nos avise de que ya está instalado, lo ejecutamos.

Una vez dentro, se nos presentará esta pantalla:

Imagen

En el caso de los QNap, el usuario y contraseña es root / root. En el caso de Synology tengo entendido que es root para usuario y la contraseña se deja en blanco. También puede darse el caso que nos informe que la contraseña es la misma que la del administrador del NAS.

Una vez dentro, veremos esto:

Imagen

Nos puede sonar a chino, pero por suerte, lo único que haremos aquí es crear el usuario para que Kodi pueda crear sus bases de datos y que cualquier dispositivo de nuestra red pueda acceder a ellos. Para ello, abriremos una ventana de consulta pulsando en el icono para ello que se encuentra en la parte superior izquierda y que se indica en la siguiente imagen:

Imagen

Cuando pulsamos eso, se nos abrirá una ventana nueva con este aspecto:

Imagen


Allí pondremos lo siguiente:

Código: Seleccionar todo

CREATE USER 'kodi' IDENTIFIED BY 'kodi';
GRANT ALL ON *.* TO 'kodi';
Con esto, el Usuario se llama kodi, su contraseña es kodi (para cambiar la contraseña, basta poner lo que queramos en IDENTIFIED BY 'aquitucontraseña'). Con la segunda línea, le autorizamos acceso a crear/modificar bases de datos al usuario kodi.


Le damos a Continuar y deberíamos ver que nos informa que todo ha ido bien:

Imagen

Para estar seguros que todo ha ido bien, ponemos lo siguiente en la ventana de consulta:

Código: Seleccionar todo

 SELECT host,user from mysql.user; 
Y deberíamos ver algo parecido a esto:

Imagen

En mi caso, veréis que ahora tengo varios usuarios, pero vosotros deberíais tener solo kodi, localhost y el nombre del NAS.


Ahora volvemos a la ventana de consulta y ponemos lo siguiente:

Código: Seleccionar todo

SHOW DATABASES; 
Y veréis algo como esto:

Imagen

En mi caso ya están creadas las bases de datos de Kodi, pero vosotros deberíais tener la de mysql y la de information_schema. En esos 2 se almacena la información de permisos y usuarios del propio SQL.

Y ya está. Podemos cerrar todo y volvemos a reiniciar nuestro NAS.


Paso 3. Preparar el archivo de configuración para Kodi

Para que Kodi sepa que tiene que utilizar la base de datos MySQL que hemos preparado, hay que crear un archivo que se llama advancedsettings.xml

Para esto, utilizaremos la aplicación Notepad++. Se puede hacer sin problemas con el Bloc de Notas, pero yo uso este por comodidad.

Abrimos Notepad++ y ponemos lo siguiente:

Código: Seleccionar todo

<advancedsettings>

	<videodatabase>
		<type>mysql</type>
		<host>IP de Nuestro NAS (192.168.1.X)</host>
		<port>3306 (Salvo que lo hayamos cambiado)</port>
		<user>kodi</user>
		<pass>kodi (Salvo que lo hayamos cambiado)</pass>
	</videodatabase> 

	<musicdatabase>
		<type>mysql</type>
		<host>IP de Nuestro NAS (192.168.1.X)</host>
		<port>3306 (Salvo que lo hayamos cambiado)</port>
		<user>kodi</user>
		<pass>kodi (Salvo que lo hayamos cambiado)</pass>
	</musicdatabase>

 </advancedsettings>

Le damos a Archivo – Guardar Como… ponemos lo siguiente:

Imagen

Este archivo lo debemos guardar en nuestra carpeta Userdata. La mayoría sabemos dónde está, pero para los que no lo saben, os adjunto este snippet del Wiki de Kodi:

Imagen

Hecho eso en todos los dispositivos, todos buscaran nuestras películas, series y música en nuestra base de datos MySQL.


Paso 4. Configurar Kodi.

Ahora lo que debemos hacer es configurar Kodi con nuestras rutas designadas a funcionar con nuestro NAS. Para ello, usaremos el dispositivo que hayamos decidido asignar como Maestro.

Abrimos Kodi y nos vamos a Videos – Archivos – Añadir Videos. Si ya tenemos fuentes configuradas, las modificamos.

Recordamos que yo tengo mis películas descargadas en un Share del NAS y las series de Pelisalacarta en otra. Si lo tenéis todo en la misma, os cambiarán las rutas, pero la teoría es la misma. A continuación, os dejo un par de capturas del proceso para añadir una fuente nueva, el proceso de modificación de ruta es prácticamente el mismo.

Le damos a buscar:
Imagen

Seleccionamos el sistema de archivos que estemos usando:
Imagen

Seleccionamos nuestro NAS:
Imagen

Seleccionamos el Share donde tengamos nuestras películas guardadas:
Imagen

Navegamos hasta su ubicación, le damos a aceptar y le ponemos un nombre a la fuente:
Imagen

Ahora bastara darle a OK, establecer contenido y Kodi nos preguntara si deseamos escanear ahora. Yo prefiero decirle que no hasta que he terminado de añadir todas las fuentes para no tener que esperar.

Esta parte del proceso es lo mismo para todas las fuentes de Video y de Música. Yo como tengo el Share separado como repositorio personal de Kodi y para los STRM de Pelisalacarta, mi ruta de las carpetas CINE y SERIES es diferente:

Películas:
Imagen

Series:
Imagen

Todo esto, SÓLO lo realizaremos en el dispositivo MAESTRO. Al usar rutas de Red, estas se guardan en el servidor MySQL y todos los dispositivos sabrán de dónde cogerlos cuando usemos la Colección de Kodi.

Ahora debemos configurar Pelisalacarta. Nos vamos a Ajustes del Addon y a Rutas y ponemos la misma ruta que teníamos en la fuente:

Imagen

Esto SI hay que hacerlo en TODOS los dispositivos que vayan a acceder a nuestra biblioteca de Pelisalacarta o que vayan a usar los STRM de Pelisalacarta mediante la Colección de Kodi.

En versiones anteriores de Pelisalacarta, este paso no era necesario. Con la versión nueva (4.2.0 – Beta2), SÍ es necesario.

Esta ruta hay que introducirla a mano.

Mucho ojo a la hora de introducirla ya que después del “smb:” (o en su caso, “nfs:”) van 2 /, en el resto de la ruta sólo va 1.

Además, no se pone la parte de CINE o SERIES, tan sólo la carpeta donde queremos que se generen esas carpetas, osease, la carpeta genérica de los STRM.

En mi caso, tengo la carpeta STRM y dentro las de CINE y SERIES. A Kodi le doy la carpeta de CINE para películas o SERIES para eso, series. A Pelisalacarta SÓLO le doy la carpeta STRM.


Y ya está. Con eso, ya tenemos todo configurado. Ahora basta con escanear la colección con el Kodi “maestro” y todos los dispositivos estarán actualizados cuando abramos Kodi.

Un par de apuntes:
  • Recomiendo tener desactivada la función de Actualizar Biblioteca de Pelisalacarta y la de Actualizar Colección de Kodi en todos los dispositivos menos en el Maestro. Así se evitan archivos STRM repetidos o entradas duplicadas en la base de datos de Kodi
  • Este método puede parecer algo anticuado si usamos la opción de Trakt, pero nos beneficia con el poder usar marcadores y cambiar de televisor para seguir viendo una película.
  • Recordar siempre designar el dispositivo más potente para hacer de Maestro, ya que los escaneos consumen recursos
Y eso es todo. Espero que esto les haya servido de ayuda a los que estén interesados en compartir su biblioteca y/o colección mediante varios dispositivos de su hogar.

Saludos

Re: [TUTORIAL] Colección Y Biblioteca Compartida Con NAS y M

Publicado: 31 Ene 2017, 20:28
por SeiTaN
Muchas gracias por hacer el tutorial Digiray

Re: [TUTORIAL] Colección Y Biblioteca Compartida Con NAS y M

Publicado: 31 Ene 2017, 20:36
por jarrelive
Estupendo tutoríal. Digiray.

En cuanto tenga un momento, lo pruebo.

Muchísimas gracias.

Re: [TUTORIAL] Colección Y Biblioteca Compartida Con NAS y M

Publicado: 31 Ene 2017, 20:40
por Digiray
SeiTaN escribió:Muchas gracias por hacer el tutorial Digiray
De nada compañero. Solo espero que ayude a otros compañeros lo mismo que vosotros nos ayudais a todos :)
jarrelive escribió:Estupendo tutoríal. Digiray.

En cuanto tenga un momento, lo pruebo.

Muchísimas gracias.
Si tienes algún problema o si por "inercia" me he saltado algo, avisame e intentare ayudarte en lo que pueda. Todo lo mio esta basado en SMB, pero por NFS deberia ser lo mismo compañero ;)

Re: [TUTORIAL] Colección Y Biblioteca Compartida Con NAS y M

Publicado: 31 Ene 2017, 21:03
por super_berny
Buen trabajo Digiray!!!
Gracias por compartirlo, seguro q ahora mas gente se anima a crear su biblioteca compartida

Re: [TUTORIAL] Colección Y Biblioteca Compartida Con NAS y M

Publicado: 01 Feb 2017, 00:12
por Skramouche
¿nfs funciona en pelisalacarta?, porque yo no lo consigo. le pongo la direccion nfs y me da error, no se puede crear directorio.

Re: [TUTORIAL] Colección Y Biblioteca Compartida Con NAS y M

Publicado: 01 Feb 2017, 09:08
por Digiray
Skramouche escribió:¿nfs funciona en pelisalacarta?, porque yo no lo consigo. le pongo la direccion nfs y me da error, no se puede crear directorio.
La carpeta NFS donde le indicas a pelisalacarta que escriba, tiene activado la lectura y escritura de la cuenta de invitado???

NFS tendria que funcionar, ademas que hay compañeros que lo usan.
super_berny escribió:Buen trabajo Digiray!!!
Gracias por compartirlo, seguro q ahora mas gente se anima a crear su biblioteca compartida
Un placer compi ;)

Re: [TUTORIAL] Colección Y Biblioteca Compartida Con NAS y M

Publicado: 01 Feb 2017, 12:27
por Skramouche
Si que tengo los permisos de lectura/escritura asignados, y no hay forma, quizas algo se me escapa y no me estoy dando cuenta.

Re: [TUTORIAL] Colección Y Biblioteca Compartida Con NAS y M

Publicado: 01 Feb 2017, 19:20
por jarrelive
Hola.

Acabo de hacer los pasos del tutorial, y de momento todo va bien. Aun está añadiendo las series, que son 200 y pico.

Sobre hacerlo con NFS, yo tampoco fui capaz, pelisalacarta da error al crear carpetas. Sin embargo, si puedo acceder desde kodi.

Quizás sea un tema de configuraciones en el NAS. Probé a toquetear algunos parámetros en los permisos NFS sin resultado.

Adjunto unos pantallazos de cómo lo tengo para el NFS.


Imagen

Imagen

Imagen


Lo malo, en mi caso, es que uno de los objetivos, era poder acceder a la colección del NAS, desde fuera de casa.
Por SMB no logro conectar, pero por NFS sí.
Así lo hacía con versiones anteriores de pelisalacarta.

A ver si alguien confirma que este tuto se puede hacer por NFS, y cual podría ser el motivo que a algunos no nos vaya.



Muchísimas gracias Digiray.

Re: [TUTORIAL] Colección Y Biblioteca Compartida Con NAS y M

Publicado: 02 Feb 2017, 01:45
por Digiray
jarrelive escribió:Hola.

Acabo de hacer los pasos del tutorial, y de momento todo va bien. Aun está añadiendo las series, que son 200 y pico.

Sobre hacerlo con NFS, yo tampoco fui capaz, pelisalacarta da error al crear carpetas. Sin embargo, si puedo acceder desde kodi.

Quizás sea un tema de configuraciones en el NAS. Probé a toquetear algunos parámetros en los permisos NFS sin resultado.

Adjunto unos pantallazos de cómo lo tengo para el NFS.


Imagen

Imagen

Imagen


Lo malo, en mi caso, es que uno de los objetivos, era poder acceder a la colección del NAS, desde fuera de casa.
Por SMB no logro conectar, pero por NFS sí.
Así lo hacía con versiones anteriores de pelisalacarta.

A ver si alguien confirma que este tuto se puede hacer por NFS, y cual podría ser el motivo que a algunos no nos vaya.



Muchísimas gracias Digiray.
Desde fuera de casa, yo tampoco puedo acceder con SMB, para eso hay que enrutar los puertos del router y creo que activar el servidor web del propio Kodi. No lo he hecho (ni me lo he planteado) nunca.

En cuanto a no poder acceder mediante SMB, quiza lo tengas desactivado.

Mañana mirare de hacer otro share en mi NAS con NFS si puedo (sin que toque el resto de mi sistema de archivos) y si eso te comento. Ya te digo que siempre he ido por SMB y la teoria deberia ser la misma. Mirare a ver que puedo sacar ;)
Skramouche escribió:Si que tengo los permisos de lectura/escritura asignados, y no hay forma, quizas algo se me escapa y no me estoy dando cuenta.
Veo que tienes el mismo problema que @arrelive

Quiza Peisalacarta no tiene NFS activado? No lo se. Como le he dicho a el, mirare de montar un share nuevo y hacer pruebas ;)