Interesados en un reproductor chinoppo (M9201, M9702, M9203, M9205) -->
https://www.avpasion.com/foro/t/m97...-clon-oppo-203-205-chinoppo-nuevo-m9702.2469/
Por fin tenemos la guía del nuevo sistema de Emby con Oppo en su versión 2.0. Xnoppo es un cliente que utiliza emby como interfaz y el oppo 203 como reproductor. De esta manera tenemos lo mejor de los dos mundos con una integración perfecta.
Xnoppo permite reproducir tu material multimedia a nivel local, o desde tus cuentas de almacenamiento en la nube, como Google Drive si las tienes montadas en tu NAS/ordenador. Es capaz de reproducir mkv, full bluray y full uhd, por carpetas y en formato iso. Funciona desde la app de emby de tu teléfono móvil o tablet, y desde la app de tu televisión. En la versión 2.0 la integración con la app de TV solo esta testeada con televisores de la marca LG. Es posible que se extienda esta integración a otras marcas en la medida que otras personas con otros modelos de TV y los conocimientos suficientes puedan colaborar con el proyecto. También funciona automáticamente el encendido, cambio de entrada y apagado en receptores AV como NAD, Onkyo, Denon, Marantz y Yamaha. (próximamente: Pioneer). El funcionamiento de Xnoppo es el siguiente:
- Con tu oppo encendido o en suspensión accedes a emby y eliges el contenido que quieres visionar.
- Según pulsas play, automáticamente la TV cambia al hdmi al que tienes conectado el oppo y comienza la reproducción.
- En el momento que pulses stop, la reproducción se detiene, el oppo entra en suspensión y la TV vuelve a la app de emby si es que has reproducido desde la app de la TV, o se queda en el hdmi del oppo si has reproducido desde el móvil o tablet.
Existe una limitación a día de hoy con la app de emby de la TV y los esos 4K. El contenido se reproduce sin problema en el oppo, pero al volver al emby, éste se queda bloqueado y toca salir y cerrarlo. La razón de que esto ocurra es que desde la app de la TV, ésta reproduce 1 o 2 segundos antes de que entre el cliente Xnoppo a trabajar y como la compatibilidad de emby con los isos a día de hoy es experimental, la app se rompe. Es una limitación de la propia app de emby y solo podemos esperar a que sus desarrolladores lo solucionen. Por suerte esta limitación desde la app del móvil o tablet no ocurre porque emby nunca llega a reproducir, siempre salta antes el cliente Xnoppo.
Su creador es el usuario @Siberian, podéis agradecer su trabajo mediante una donación a su Paypal:
siberi4n@gmail.com
TUTORIAL (ESPAÑOL)
creado por @adri24an,
@Tocinillo y @DarkSwan2001
HACED TODOS LOS PASOS DESDE CERO OTRA VEZ AUNQUE VENGÁIS DE UNA VERSION ANTERIOR.
Cambios en la versión 2.0
Esta nueva versión trae un montón de novedades entre las que se incluye:
- Correcciones de errores.
- Soporte para AV Yamaha.
- Soporte para NFS (el cual permite rutas de mas de 255 carácteres).
- Soporte para reproductores con lector.
- Interfaz gráfica con asistencia para configuración via web y mando para controlar el reproductor.
2. Consideraciones previas
Hemos trabajado mucho para asegurarnos de que el cliente os diera los menos problemas posibles. Emby y el oppo son dos sistemas muy caprichosos y en muchos momentos nos hemos encontrado con problemas por tonterías de formatos, o por como estaba almacenado el contenido multimedia que queríamos reproducir.
A continuación os damos recomendaciones para que el sistema os vaya tan bien como a nosotros. Si no seguís estas pautas no podemos aseguraros de que todo vaya a funcionar correctamente.
El oppo da algunos fallos con la compartición de archivos en samba. Muchos conoceréis el problema que tiene en el cual si accedemos a un recurso compartido con samba y luego salimos y queremos volver a entrar, este nos devuelve un error y solo se soluciona apagando y encendiendo el reproductor. Hemos conseguido solucionar este problema mediante una configuración específica que podréis ver en el apartado de instalación, y dándole al contenido multimedia de nuestro almacenamiento en la nube un formato específico. En la raíz de vuestra cuenta debéis tener una carpeta llamada por ejemplo Biblioteca, y dentro ya todo vuestro contenido de la forma en que lo tengáis normalmente. Si tenéis todo directamente en la raíz de vuestra cuenta, tendréis problemas.
Tener emby preferiblemente instalado con versión 4.5.2 o posterior. Sabemos de un error de la app en su versión 4.3 del centro de paquetes que bajaba las isos al NAS/ordenador.
Para evitaros problemas con samba los usuarios admin y guest deben tener permisos de Lectura/Escritura en las carpetas que contienen vuestro contenido multimedia. Para ello vais a Panel de Control -> Carpetas compartidas. Pulsáis en la carpeta a la que vais a dar permisos y luego le dais a Editar y después a Permisos. Ahí podréis asignar Lectura/Escritura para los usuarios que necesitéis. Repetir estos pasos para todas las carpetas que os hagan falta.
Os recomendamos que asignéis en vuestro router IP fijas para vuestra TV, AV y vuestro oppo, y que las apuntéis en un papel. Os harán falta mas tarde.
Para montar vuestros servicios en la nube os recomendamos usar rclone con el siguiente comando:
rclone mount --log-level INFO --allow-other --allow-non-empty --tpslimit 10 --tpslimit-burst 10 --dir-cache-time=48h --buffer-size=64M --attr-timeout=1s --vfs-read-chunk-size=64M --vfs-read-chunk-size-limit=2G --gid xxx --uid xxx --umask 000 --vfs-cache-max-age=5m --vfs-cachemode=writes --cache-dir /dirdevuestracache/cache --config=/dirdevuestraconf/rclone.conf --cache-workers 8 drive: /rutadondemontaisdrive &
- Si tenéis Synology, gid = 100 y uid = 1024
- Si tenéis Pi o Linux, gid = 1000 y uid = 1000
Si usáis un Synology para montar vuestro servicio de almacenamiento en la nube tipo Google Drive, este debe de estar montado en una carpeta dentro de otra carpeta de
/volume. Es decir, si vosotros montáis vuestro Google Drive en una carpeta llamada Gdrive, esta no debe de estar montada en /volume1/Gdrive, sino en una ruta como
/volume1/Drive/Gdrive por ejemplo.
Si usáis una pi para montar vuestro servicio de almacenamiento en la nube tipo Google Drive, la ruta donde montemos nuestro drive debe estar dentro de
/home/pi. Por ejemplo
/home/pi/drive
- En el oppo debéis entrar en Ajustes -> Configuración del dispositivo y aseguraros de que Modo Espera tiene el valor
Red en Espera.
Para los usuarios de QNAP como recomendación aconsejo descargar el
WinSCP para conectaros al NAS y poder navegar gráficamente, y
el
Notepad++ x64 o
Notepad++ x86 en función del sistema de cada uno para la edición de los documentos. Esto nos va a permitir crear/modificar los archivos necesarios sin tener que recurrir al vi, nano, ni historias de Linux si no controláis de ello.
Nota: Un tema importante, cuando creemos o editemos cualquier archivo en NAS o Pi, a través del Notepad++ es necesario realizar la conversión EOL de Windows a Linux.
3. Instalación de Python 3
HACED TODOS LOS PASOS DESDE CERO OTRA VEZ AUNQUE VENGÁIS DE UNA VERSION ANTERIOR. NO HACE FALTA DESINSTALAR NADA DE PYTHON.
3.1- Synology
Vamos a Centro de Paquetes -> Configuración -> Origen del paquete y añadimos el repositorio de
synocommunity (
).
Pulsamos OK y en la barra de arriba buscamos python3 y lo instalamos (en concreto la
versión 3.8 o superior).
Si tenemos Windows, arrancamos putty, metemos la IP de nuestro NAS (o si tenemos Mac arrancamos un terminal y tecleamos
ssh admin@IPDELAPI).
Introducimos la contraseña de nuestro Synology y acto seguido introducimos estos comandos:
sudo -i (y ponemos la contraseña de nuestro Synology).
wget
https://bootstrap.pypa.io/get-pip.py | python3
/usr/bin/
python3.8 get-pip.py (aqui puede daros un warning, no os
preocupéis por eso).
/usr/bin/
python3.8 /usr/local/python3/bin/pip3.7 install pywebostv
/usr/bin/
python3.8 /usr/local/python3/bin/pip3.7 install websocket-client==0.57.0
/usr/bin/
python3.8 /usr/local/python3/bin/pip3.7 install requests
/usr/bin/
python3.8 /usr/local/python3/bin/pip3.7 install psutil
exit
Lo que he puesto en negrita es para python 3.8. Si hemos instalado la 3.9 pues hay que poner ahí "python3.9", etc. Reiniciamos el NAS y listos.
Nota: si actualizáis Python 3 en algún momento tendréis que repetir estos pasos.
3.2.- Pi
Si tenemos Windows, arrancamos putty, metemos la IP de nuestra Pi (o si tenemos Mac arrancamos un terminal y tecleamos
ssh admin@IPDELAPI). Los datos de acceso por defecto son:
- Usuario: pi
- Contraseña: raspberry
A continuación solo tendremos que ir poniendo estos comandos. Si nos vuelve a pedir la contraseña recordad que es raspberry:
sudo apt-get update
sudo apt-get install -y build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev expect
wget
https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
sudo tar zxf Python-3.7.0.tgz
cd Python-3.7.0
sudo ./configure
sudo make -j 4
sudo make altinstall
sudo apt-get install python3-pip
cd /usr/local/bin
sudo ./pip3.7 install --upgrade pip
sudo pip3 install cryptography
sudo pip3 install requests
sudo pip3 install pywebostv
sudo pip3 install urllib3
sudo pip3 install psutil
sudo /usr/local/bin/python3.7 -m pip install pywebostv
sudo /usr/local/bin/python3.7 -m pip install requests
sudo /usr/local/bin/python3.7 -m pip install websocket-client
sudo /usr/local/bin/python3.7 -m pip install psutil
mkdir /home/pi/emby
sudo chmod -R 777 /home/pi/emby
sudo chown -R pi:users /home/pi/emby
sudo rm -rf /home/pi/Python-3.7.0
sudo rm -rf /home/pi/Python-3.7.0.tgz
Y listo, ya estamos preparados para continuar.
3.3.- Linux (Ubuntu)
Nos conectamos por terminal o por ssh (putty) a Ubuntu.
<usuario> hace referencia al usuario con el que hagáis login en el terminal, y todo se instalará partir del home de ese usuario.
En caso de no tener instalado
pip3 (se puede comprobar escribiendo
pip3 list), lo instalamos:
sudo apt update
sudo apt install python3-pip expect
Instalamos los siguientes paquetes:
sudo pip3 install pywebostv
sudo pip3 install websocket-client
sudo pip3 install psutil
Creamos una carpeta para la configuración:
mkdir /home/<usuario>/emby
sudo chmod -R 777 /home/<usuario>/emby
3.4. Windows
Descargamos e instalamos Python, dependiendo de si usáis Windows 7 o 10 y de 32 o 64 bits, tendréis que bajaros uno u otro:
Windows 10 x64:
python-3.9.0-amd64.exe
Windows 10 x86:
python-3.9.0.exe
Windows 7 x64:
python-3.8.6-amd64.exe
Windows 7 x86:
python-3.8.6.exe
Para el tutorial se ha instalado la versión para Win10 x64. Lanzamos el instalador y dejamos la configuración por defecto, indicando que añada la ruta del Python a la variable de entorno PATH.
Importante: Marcar la asignación a la variable PATH.
Y pulsamos sobre '
Install Now' y esperamos a que finalice la instalación. Abrimos una sesión de línea de comandos (pulsamos con el botón derecho del ratón sobre el icono de Windows y seleccionamos '
Símbolo del sistema'.
Para aquellos que os muestra el
'Windows Power Shell', iniciáis el 'Power Shell' y una vez abierta la ventana escribís cmd y pulsáis return.
A partir de aquí enlazamos con los pasos indicados en el tutorial y los seguiremos con alguna modificación en las rutas (que para Windows es todo más fácil).
Actualizamos el comando
pip, para ello escribimos en la línea de comandos:
python.exe -m pip install --upgrade pip
Instalamos el módulo
pywebostv (aunque no tengamos una LG):
Instalamos el módulo
Websocket-client:
pip install websocket-client
Instalamos el módulo
Requests:
Este último módulo está ya instalado y lo verificaréis porque aparecerá en todas las librerías el mensaje '
Requirement already satisfied'.
Instalamos el módulo
Psutil:
3.5.- QNAP
Vamos al App Center y seleccionamos Configuración.
En la opción General marcamos la opción (sino estaba ya), Permitir la instalación de apps sin firma digital.
En la opción Repositorio de aplicaciones damos de alta el repositorio: QNAP Club.
Volvemos al App Center y nos aparecerá un nuevo icono para el repositorio, lo seleccionamos en ambas zonas y nos desplazamos hasta localizar QPython3 v3.8.6.0.
Y lo instalamos.
Para continuar con el resto del proceso de instalación debéis tener habilitado el servicio SSH y el SFTP, a través del Panel de Control -> Servicios de Red…
Desde el PC/Linux abrimos una sesión con Putty, Ssh o lo que tengamos configurado para poder acceder al NAS con un usuario administrador.
Una vez abierta la ventana, pulsaremos 'Q' y posteriormente 'Y' para salir al Shell normal.
Ejecutaremos los siguientes comandos (en el caso de ser la primera vez):
cd /share/CACHEDEV1_DATA/.qpkg/QPython3/bin
wget
https://bootstrap.pypa.io/get-pip.py | python3
/share/CACHEDEV1_DATA/.qpkg/QPython3/bin/python3.8 get-pip.py
/share/CACHEDEV1_DATA/.qpkg/QPython3/bin/python3.8 /share/CACHEDEV1_DATA/.qpkg/QPython3/bin/pip3.8 install pywebostv
/share/CACHEDEV1_DATA/.qpkg/QPython3/bin/python3.8 /share/CACHEDEV1_DATA/.qpkg/QPython3/bin/pip3.8 install websocket-client
/share/CACHEDEV1_DATA/.qpkg/QPython3/bin/python3.8 /share/CACHEDEV1_DATA/.qpkg/QPython3/bin/pip3.8 install requests
Si ya se tiene todo lo anterior instalado, podemos aprovechar para actualizar algún componente.
/share/CACHEDEV1_DATA/.qpkg/QPython3/bin/python3.8 -m pip install --upgrade pip
Esta es una nueva librería necesaria para el cliente 2.0. En principio python 3.8 la incluye, pero mejor lo verificáis.
/share/CACHEDEV1_DATA/.qpkg/QPython3/bin/python3.8 /share/CACHEDEV1_DATA/.qpkg/QPython3/bin/pip3.8 install psutil
4. Configuración de Samba.
4.1.- Synology
Accedemos a Panel de Control -> Servicios de archivos y ahí en la sección de SMB pulsáis en Configuración avanzada. Debéis dejar las opciones como en las dos imágenes siguientes:
Comprobad en el oppo que podéis entrar en vuestras carpetas compartidas por samba, salir y volver a entrar sin que os pida la contraseña de nuevo. Si lo hace, revisad que el paso anterior lo habéis hecho correctamente y si la carpeta que os falla es la que tenéis montada desde Google Drive o similar, aseguraros de que tenéis todo almacenado y montado como se explica en el capítulo 2.
4.2.- Pi
Esta parte es algo extraña ya que tendremos que forzar a la Pi a usar una configuración muy particular. De hecho, estamos obligados a usar como carpeta compartida todo nuestro home (/home/pi) y de ahí, en el oppo, iremos ya navegando a donde queramos.
No os preocupéis, que no tenéis que entender por qué ni hacer complicadas configuraciones. Desde putty conectados a nuestra Pi (o haciendo ssh como anteriormente desde un terminal si tenemos Mac) pondremos los siguientes comandos:
sudo apt-get install samba
sudo smbpasswd pi (nos pedirá que pongamos una contraseña, que será: raspberry)
sudo smbpasswd -a pi (nos pedirá otra vez que pongamos una contraseña, que nuevamente será: raspberry)
cd /home/pi/emby
sudo mv /etc/samba/smb.conf /etc/samba/smb.bak
wget https://raw.githubusercontent.com/salondigital/salondigital/master/smb.conf (esperamos a que termine de bajarse y seguimos)
sudo mv /home/pi/emby/smb.conf /etc/samba
Ahora, de vuelta a la normalidad en la terminal, pondremos:
sudo systemctl restart smbd
Y listo, con eso lo tendremos todo preparado y perfecto para seguir.
Ahora si tenemos un PC con Windows, abrimos el explorador de archivos y escribimos: \\
IPDELARASPBERRYPI (Si no sabéis la IP de la raspberry, podéis verlo en el router por ejemplo). En mi caso sería: \\
192.168.1.140. Si tenéis un Mac tendréis que abrir el finder y en la barra de la izquierda abajo debería saliros un acceso a la Pi en la sección de Compartido. Bien, veréis que entraréis en las carpetas compartidas de la Pi, que si no habéis
añadido ninguna (que es lo recomendable) solo habrá una:
a Esa carpeta contiene todo el home entero, así que entrando en ella podréis
acceder a casi cualquier carpeta. Nos iremos a la de emby y nos quedamos aquí para copiar los archivos del siguiente apartado del tutorial.
4.3.- Linux (Ubuntu)
Para evitar en el oppo el error con las carpetas compartidas por samba al volver a una carpeta, estamos obligados a usar como carpeta compartida todo nuestro home (/home/usuario) y de ahí, en el oppo, iremos ya navegando a donde queramos. No os preocupéis, que no tenéis que entender por qué ni hacer complicadas configuraciones. Desde terminal o putty conectados a nuestro ubuntu pondremos:
sudo apt-get install samba
Creamos el usuario para samba, por ejemplo,
oppo pero podéis poner el que queráis. Este usuario es el que tendremos que meter en el oppo cuando queramos acceder a las carpetas compartidas:
smbpasswd -a oppo (introducimos password)
Vamos a configurar el smb.conf para las carpetas compartidas:
cd /home/<usuario>/emby
sudo mv /etc/samba/smb.conf /etc/samba/smb.bak
Descargamos el fichero de configuración:
Movemos el fichero de configuración correcto:
sudo mv /home/<usuario>/emby/smb.conf /etc/samba
Reiniciamos samba:
sudo systemctl restart smbd
Y listo, con eso lo tendremos todo preparado y perfecto para seguir. Ahora si nos vamos a un PC con Windows, abrimos el explorador de archivos y escribimos: \\
IPDEVUESTROUBUNTU Por ejemplo, en mi caso es: \\
192.168.1.140
Bien, primero os pedirá usuario y contraseña para acceder, que será el que habéis puesto al crear el usuario para samba (oppo en nuestro ejemplo). Veréis que entraréis en las carpetas compartidas, que si no habéis añadido ninguna (que es lo recomendable) solo habrá· una: <usuario>. Esa carpeta contiene todo el home entero, así que entrando en ella podréis entrar en casi cualquier carpeta. Nos iremos a la de emby y nos quedamos aquí para copiar los archivos del siguiente punto.
4.4.- Windows
Esto depende muy mucho de lo que cada uno tenga. Para Windows tenéis un tutorial que se curraron los compañeros del foro:
Activar smb en windows 10 y compartir archivos o discos duros.
4.5.- QNAP
Habilitamos el servicio SAMBA y/o NFS a través de Panel de Control -> Servicios de Red y de Archivos.
Pulsamos en Opciones avanzadas, para establecer las versiones Samba admitidas.
A través del Panel de Control -> Privilegios -> Carpetas Compartidas asignaremos los permisos a cada carpeta que queramos compartir y qué usuarios tendrán acceso.
En caso de tener problemas, recomiendo revisar la configuración del QNAP vs la propuesta de
@Tocinillo para solucionar el problema en Pi.
En mi caso, si todas las carpetas están a nivel raíz no tengo errores, pero en cuanto dos carpetas, ejemplo Bluray y DVD, cuelgan de una base, ejemplo, Peliculas y salgo y entro ya tengo el error de las credenciales en el chinoppo.
5. Instalación del cliente Xnoppo
MUY IMPORTANTE: Antes de comenzar, los que tengáis una versión anterior de Xnoppo instalada debéis localizar la carpeta donde lo instalasteis y eliminarla. Podéis hacer un backup antes por si la nueva versión os da algún problema al principio y queréis volver a la version anterior. Luego seguid el proceso a continuación.
Desde vuestro ordenador Windows/Mac descargamos el cliente Xnoppo:
https://github.com/siberian-git/Xnoppo/archive/main.zip que viene en un archivo comprimido con nombre Xnoppo-main
.zip
5.1.- Synology
Vamos a
Panel de Control -> Carpeta compartida y ahí creamos una nueva carpeta compartida como en la imagen.
Tomamos el fichero zip del Xnoppo y lo arrastramos a la carpeta compartida xnoppo que hemos creado anteriormente en nuestro Synology. Hacemos click derecho sobre el zip y pulsamos
Extraer aquí. Acto seguido veréis podéis borrar ya el zip.
Con vuestra TV, oppo y AV encendidos, desde putty conectados a nuestro NAS (o haciendo ssh como anteriormente desde un terminal si tenemos Mac) pondremos el siguiente comando para iniciar el servicio del Xnoppo:
nohup /volume1/@appstore/python3/bin/python3.7 /volume1/xnoppo/emby_xnoppo_client.py > /dev/null 2>&1 &
5.2.- Pi
Tomamos el fichero zip del Xnoppo y ahora lo descomprimimos (con winrar por ejemplo,
click derecho -->descomprimir aquí) y ahora copiáis todos los archivos que se han descomprimido del zip, a la carpeta descargas de la
a como vimos en el paso anterior.
Con vuestra TV, oppo y AV encendidos, en putty si tenemos Windows y conectados a nuestra Pi (o haciendo ssh como anteriormente desde un terminal si tenemos Mac), pondremos los siguientes comandos:
cd /home/pi/emby
sudo chmod -R 777 /home/pi/emby
nohup /usr/local/bin/python3.7 /home/pi/emby/emby_xnoppo_client.py > /dev/null 2>&1 &
5.3.- Linux (Ubuntu)
Tomamos el fichero zip del Xnoppo y ahora lo descomprimimos (con winrar por ejemplo, click derecho -->
descomprimir aquí) y ahora copiáis todos los archivos que se han descomprimido del zip, a la carpeta emby como vimos en el paso anterior.
Con vuestra TV, oppo y AV encendidos, en putty y conectados a linux, pondremos los siguientes comandos:
cd /home/<usuario>/emby
sudo chmod -R 777 /home/<usuario>/emby
nohup /usr/local/bin/python3.7 /home/<usuario>/emby/emby_xnoppo_client.py > /dev/null 2>&1 &
5.4.- Windows
Crearemos la carpeta
Xnoppo dentro de
C:, tal y como muestra la imagen:
Tomamos el fichero zip del Xnoppo y ahora lo descomprimimos (con winrar por ejemplo, click derecho -->
descomprimir aquí) y ahora copiáis todos los archivos que se han descomprimido del zip, a la carpeta
Xnoppo del paso anterior:
Ahora iniciamos el servicio con el siguiente comando:
python emby_xnoppo_client.py
Y posteriormente pasaremos a la configuración.
5.5.- QNAP
Nos conectamos al NAS, para ello, abrimos una sesión ssh, o bien, desde un cliente FTP, como el WinSCP, y navegamos hasta el directorio de paquetes del Qnap:
cd /share/CACHEDEV1_DATA/.qpkg
y creamos el directorio Xnoppo2
Copiamos el contenido del archivo zip que nos hemos descargado previamente en dicha carpeta (esto lo podemos hacer con el WinSCP).
Ahora para lanzar el cliente (la configuración la vamos a realizar posteriormente) ejecutamos:
/share/CACHEDEV1_DATA/.qpkg/QPython3/bin/python3.8 /share/CACHEDEV1_DATA/.qpkg/Xnoppo2/emby_xnoppo_client.py
Si cerramos la ventana Shell el proceso finalizará, o se quedará parado, lo que obliga a dejar la sesión Shell abierta.
En el apartado de mantenimiento veremos como solucionar esto.
6. Configuración de Xnoppo
6.1.- Configuración inicial
Con el oppo encendido, la televisión encendida y el emby abierto, abrid en el ordenador un navegador y acceded a la dirección:
http://ipdevuestroservidor:8090/emby_conf.html
Aquí introducid los datos de vuestro usuario y contraseña de emby y pulsad Probar conexión. Cuando os de el OK, Pulsad Guardar cambios y después el botón Siguiente -> Oppo.
Aquí introducid la ip de vuestro Oppo. Debajo tenéis una serie de opciones:
- Marcar si el dispositivo dispone de lector BluRay: indicado para reproductores con lector fisico como Oppo 203/205 o Cineultra.
- NO Suspender el chinoppo al terminar la reproducción: esta opción sirve para si queréis que el oppo se suspenda o no después de cada reproducción. Con la opción desmarcada el oppo después de cada reproducción se suspenderá y se encenderá él solo con cada reproducción. Con la opción marcada, el oppo se quedará siempre encendido después de cada reproducción. Si dejáis la opción marcada, el oppo deberá estar siempre encendido antes de intentar ver cualquier contenido multimedia.
- Autoscript habilitado en el chinoppo: indicado para chinoppo con el autoscript instalado.
- Xnoppo intenta averiguar automáticamente si el medio a reproducir está en un sistema NFS o SMB. En caso de que no lo encuentre por defecto entenderá que es NFS si se marca esta casilla o SMB si no se marca: Si vais a utilizar NFS como protocolo esta opción deberá estar marcada, si por contra usáis SMB deberá estar desmarcada.
- Marcar para forzar a Xnoppo a esperar a que el OPPO tenga listas las unidades NFS: esta opción deberá estar marcada si vais a utilizar el protocolo NFS.
- Marcar para intentar hacer magia y que no salga el error de SMB (SMBTrick): esta opción esta pensada para los casos raros en que aunque hayáis seguido al pie de la letra las recomendaciones y configuraciones de samba de este tutorial, aún tengáis problemas. Marcando esta opción podrían solucionarse. Si os funciona todo normalmente esta opción deberá estar siempre desactivada.
A continuación, pulsad Probar conexión, y cuando os de el OK, pulsad Guardar Cambios y después el botón Siguiente -> Bibliotecas.
Aquí os aparecerá un listado con todas las bibliotecas que tenéis en emby. Deberéis marcar cuales deseáis que maneje Xnoppo (es decir, cuales deseáis que al reproducirlas en emby, sean reproducidas desde el oppo. En caso de que queráis que maneje todas, pulsad la opción Activar todas las bibliotecas. Después pulsad el botón Siguiente -> Rutas
En este apartado introduciremos las rutas del oppo de cada una de nuestras bibliotecas. Este proceso se ha simplificado muchísimo en esta versión 2.0. En primer lugar, pulsad el botón Refrescar desde Emby. Se os mostrara una lista parecida a la de la imagen con todas las bibliotecas que tenéis en emby y que queréis que Xnoppo maneje.
Ahora deberéis ir biblioteca por biblioteca pulsando editar. Esto mostrará un nuevo menú debajo en el que introducir la ruta del oppo para cada biblioteca.
A la derecha del campo Ruta en Oppo deberéis pulsar el botón con la imagen de una carpeta. Esto os mostrará un desplegable con vuestros recursos compartidos por los que podréis navegar hasta llegar a la carpeta deseada.
Por ejemplo, si tengo una biblioteca llamada Películas que está en /volume1/Descargas/Peliculas, y la tengo compartida por SMB, al pulsar el botón, me saldrá mi recurso samba (en mi caso llamado DISKSTATION). Al pulsar encima podré ir navegando hasta llegar a la carpeta donde se ubican mis películas (en mi caso /DISKSTATION/Descargas/Peliculas/). Una vez llegado a la carpeta deseada debéis pulsar Probar conexión, y cuando os de el OK, pulsad Guardar cambios. Veréis que en la lista, el campo Probada de esa biblioteca se pondrá en verde.
Por ejemplo, si tengo una biblioteca llamada Series que está en /volume1/Descargas/Series, y la tengo compartida por NFS, al pulsar el botón, me saldrá mi recurso NFS (en mi caso llamado con la ip de mi servidor). Al pulsar encima podré ir navegando hasta llegar a la carpeta donde se ubican mis series (en mi caso ipdemiservidor/Descargas/Series/). Una vez llegado a la carpeta deseada debéis pulsar Probar conexión, y cuando os de el OK, pulsad Guardar cambios. Veréis que en la lista, el campo Probada de esa biblioteca se pondrá en verde.
Esto nos da muchas posibilidades, por ejemplo yo tengo todas mis bibliotecas locales compartidas mediante NFS y mis bibliotecas con contenido en la nube mediante SMB.
Dependiendo de vuestra conexión a veces al navegar entre carpetas puede ser que tarde unos segundos entre una y otra. Sed pacientes.
Una vez terminado, pulsad el botón Siguiente -> TV
Aquí podréis configurar la integración de vuestro televisor con el Xnoppo. Si tenéis una LG, abrid el desplegable y seleccionar LG.
Primero deberéis rellenar el campo de Ip de vuestra TV. Una vez hecho esto, pulsad el botón Obtener key, y el Xnoppo la obtendrá por vosotros. Tendréis que ir a la TV y pulsar aceptar en la ventana que aparecerá. Después pulsad el botón Obtener entradas, pulsad en el desplegable y seleccionar la entrada donde tenéis conectado vuestro reproductor. Luego pulsad Guardar cambios y Siguiente -> AV.
Si tenéis una TV que no sea LG, podéis pulsar SCRIPTS en el menu desplegable para introducir vuestros propios scripts de encendido y apagado y hacerla compatible.
Aquí podréis seleccionar el modelo de vuestro AV en el menú desplegable. Deberéis rellenar los datos con la IP, entrada de HDMI, etc para que todo funciona correctamente. Una vez terminado pulsad Guardar cambios y Siguiente -> Otros Parametros.
Aqui deberéis rellenar los siguientes campos:
- Idioma.
- Nivel de Trazas en los log: nivel de 0 a 2, donde 0 es muy pocos detalles y 2 es muchos detalles. Si todo funciona correctamente, 0 es el valor recomendado. Si tenéis problemas, ponedlo a 2 para que otros usuarios puedan ver vuestro log y ver que ocurre.
- Dispositivo a monitorizar: deberéis seleccionar en el desplegable vuestra televisión.
Una vez terminado el configurador, apagad y encended el oppo y el cliente Xnoppo ya estará correctamente configurado en vuestro sistema.
Pulsad Guardar cambios, y ya estará todo listo.
6.2.- Menú Servicio
Una de las novedades de esta versión 2.0 es el menú de Estado
Aquí podréis ver el estado del cliente Xnoppo en todo momento: si todo esta funcionando correctamente, qué se esta reproduciendo, cuanto consumo estamos haciendo de CPU y RAM, etc. En el desplegable de arriba podéis marcar cada cuantos segundos queréis que se actualice la información.
También tiene otras herramientas muy útiles, como:
- Download log: sirve para bajar a vuestro ordenador el log de Xnoppo. En caso de algún error, este fichero os dará información sobre qué está fallando.
- Remote: muestra en pantalla un mando a distancia con el que manejar el oppo. Especialmente útil si accedéis desde el movil, permite ver información sobre la reproducción, navegar, cambiar audios y subtítulos, apagar y encender el oppo, etc. Yo ya prácticamente no uso el mando a distancia.
- Reiniciar Xnoppo: en caso de que algo funcione de manera extraña, pulsando este botón se reiniciará el servicio. Ya no es necesario acceder al terminal.
- Actualizar Xnoppo: cuando salgan nuevas versiones, con pulsar este botón vuestro Xnoppo se actualizara y reiniciará en cuestión de segundos. Para los que quieran probar también versiones BETA (solo recomendado para beta-testers) pueden marcar la casilla Marcar para comprobar versiones BETA.
7. Mantenimiento
7.1.- Synology
Como se ha comentado en el apartado de instalación, con el siguiente comando se inicia Xnoppo:
nohup /volume1/@appstore/python3/usr/python3.7 /volume1/xnoppo/emby_xnoppo_client.py > /dev/null 2>&1 &
De esta forma tendréis el cliente funcionando hasta la próxima vez que reiniciéis el Synology, momento en que tendréis que volver a introducir este comando de nuevo. Si en algún momento necesitáis cerrar el cliente por alguna razón, éste es el comando:
Para no tener que arrancar el cliente a mano en cada reinicio, os recomendamos que creéis un script con el siguiente contenido y lo añadáis al planificador de tareas para que el cliente se inicie en cada arranque. Para ello en Synology os vais a
Panel de Control -> Programador de tareas, y pulsáis en Crear -> Tareas activadas -> Script definido por usuario. Rellenad los campos como en las imágenes siguientes, pulsáis ok y listo:
Ojo con el comando que podéis liarla con los espacios, copiadlo directamente de aquí:
sleep 160
nohup /volume1/@appstore/python3/usr/python3.7 /volume1/xnoppo/emby_xnoppo_client.py > /dev/null 2>&1 &
(
NOTA: según el servidor que tengáis, el 160 deberá incrementarse a 200 o 250 o el valor que sea, ya que hay NAS más lentos que otros, si ves que no carga tras reiniciar el NAS, modifícalo y aumenta ese valor).
7.2.- Pi
Como se ha comentado en el apartado de instalación, con el siguiente comando se inicia Xnoppo:
nohup /usr/local/bin/python3.7 /home/pi/emby/emby_xnoppo_client.py > /dev/null 2>&1 &
De esta forma tendréis el cliente funcionando hasta la próxima vez que reiniciéis la Pi, momento en que tendréis que volver a introducir este comando. Si en algún momento necesitáis cerrar el cliente por alguna razón, éste es el comando:
Para no tener que arrancar el cliente a mano en cada reinicio, os recomendamos que creéis un script. En putty si tenemos Windows y conectados a nuestra Pi (o haciendo ssh como anteriormente desde un terminal si tenemos Mac), pondremos los siguientes comandos:
cd /home/pi/emby
nano xnoppo_boot.sh
Se nos abrirá el editor de textos y ponemos estas tres líneas:
#!/bin/bash
sleep 30
nohup /usr/local/bin/python3.7 /home/pi/emby/emby_xnoppo_client.py > /dev/null 2>&1 &
Pulsamos CTRL+X para guardar, pulsamos S de si y listo, ya se han guardado los cambios. Ahora ponemos:
sudo chmod +x /home/pi/emby/xnoppo_boot.sh
sudo crontab -u pi -e
(Si aquí nos aparece una lista para seleccionar el editor de texto, poned el número que corresponda a nano). Nos vamos al final del archivo y ponemos:
@reboot /home/pi/emby/xnoppo_boot.sh
Pulsamos CTRL+X para guardar, pulsamos S de si y listo, ya se han guardado los cambios y reiniciamos la Pi con un:
Y listo, ya lo tenemos todo.
7.3.- Linux (Ubuntu)
Como se ha comentado en el apartado de instalación, con el siguiente comando se inicia Xnoppo:
nohup /usr/local/bin/python3.7 /home/<usuario>/emby/emby_xnoppo_client.py > /dev/null 2>&1 &
De esta forma tendréis el cliente funcionando hasta la próxima vez que reiniciéis el servidor, momento en que tendréis que volver a introducir este comando. Si en algún momento necesitáis cerrar el cliente por alguna razón, éste es el comando:
Para no tener que arrancar el cliente a mano en cada reinicio, os recomendamos que creéis un script. En putty si tenemos Windows y conectados a
nuestra Pi (o haciendo ssh como anteriormente desde un terminal si tenemos Mac), pondremos los siguientes comandos:
cd
cd /home/<usuario>/emby
nano xnoppo_boot.sh
Se nos abrirá el editor de textos y ponemos estas tres líneas:
#!/bin/bash
sleep 30
nohup python3 /home/<usuario>/emby/emby_xnoppo_client.py > /dev/null 2>&1 &
Pulsamos CTRL+X para guardar, pulsamos Y de yes y listo, ya se han guardado los cambios. Ahora ponemos:
sudo chmod +x /home/<usuario>/emby/xnoppo_boot.sh
sudo crontab -u <usuario> -e
(Si aquí nos aparece una lista para seleccionar el editor de texto, poned el
número que corresponda a nano). Nos vamos al final del archivo y ponemos:
@reboot /home/<usuario>/emby/xnoppo_boot.sh
Pulsamos CTRL+X para guardar, pulsamos Y de yes y listo, ya se han guardado los cambios y reiniciamos linux con un:
Y listo, ya lo tenemos todo
7.4.- Windows
Como se ha comentado en el apartado de instalación, con el siguiente comando se inicia Xnoppo:
python emby_xnoppo_client.py
Para que cargue Xnoppo de forma automática en cada reinicio con Windows, vamos a crear una tarea para iniciar el cliente con cada reinicio del sistema.
*
Opción 1:
Arranque mediante el menu de inicio
Con un editor de texto, creamos en el directorio donde hemos instalado el cliente
c:\Xnoppo un archivo con el nombre
xnoppo_boot.bat
El contenido de archivo es:
@echo off
@timeout 60
start python c:\Xnoppo\emby_xnoppo_client.py
exit
A continuación creamos un acceso directo en el menú de inicio. Para ello realizamos las siguientes acciones:
- Pulsar las teclas
Windows + R.
- Escribir:
shell:startup
En la nueva ventana que aparece arrastramos el archivo
xnoppo_boot.bat para crear un acceso directo:
Ya podemos reiniciar el sistema o ejecutar
xnoppo_boot.bat para iniciar el cliente.
Una vez iniciado aparecerá una ventana ms-dos donde se está corriendo el cliente, si la cerramos habremos finalizado el cliente.
*
Opción 2:
Instalación como servicio empleando NSSM
Descargamos el programa NSSM
https://nssm.cc y copiamos el ejecutable en la carpeta del cliente Xnoppo.
Para el tutorial se ha empleado
nssm-2.24-101-g897c7ad.zip pues la versión anterior parece que da algún problema con Windows 10.
En el directorio
c:\Xnoppo creamos un archivo
timeout.bat con el contenido:
Abrimos una sesión de línea de comandos con permisos elevados (Administrador) y ejecutamos el siguiente comando:
C:\Xnoppo\nssm.exe install "Cliente Xnoppo" "C:\Users\<user>\AppData\Local\Programs\Python\Python39\python.exe" "C:\Xnoppo\emby_xnoppo_client.py"
Debéis sustituir
<user> por el nombre de vuestro usuario de Windows.
Después ejecutamos el comando:
C:\Xnoppo\nssm.exe edit "Cliente Xnoppo"
Nos movemos hasta la pestaña
'hooks' y en command ponemos:
c:\Xnoppo\timeout.bat
Pulsamos '
Edit Service’ y ya hemos acabado. A continuación, podéis reiniciar el sistema, o bien, ir al
Administrador de Tareas -> pestaña
Servicios y buscar el '
Cliente Xnoppo'
Nota: Si tras el reinicio no podéis localizar el cliente en la aplicación de móvil, tablet, etc. es necesario reiniciar el servicio.
En mis pruebas no siempre ha funcionado. Parece que, o bien el
nssm, o bien el sistema operativo, pasa del timeout.
Una posible solución sería reiniciar el servicio una vez reiniciado Emby, aplicando la opción 1 y ejecutando en un bat el comando:
nssm restart "Cliente Xnoppo". Y también eliminaríamos el archivo
timeout.bat (pues ya no tendría sentido).
7.5.- QNAP
Para evitar tener que estar abriendo sesiones continuamente vamos a crear un paquete para iniciar/parar el cliente a nuestro gusto, además en QNAP existe un problema (al menos en mi caso y en el de alguno más según los foros) por el cual el servidor Emby no arranca bien tras reiniciar el NAS y es necesario rearrancarlo, por lo cual el cliente Xnoppo deja de estar operativo y es necesario relanzarlo también.
En este punto será necesario crear una script y dar una serie de permisos (todos estos pasos los realicé el WinSCP/Notepad++). Si lo queréis hacer con WinSCP os abris una sesión tipo SFTP o SCP con las credenciales del usuario administrador con las que hicisteis los pasos iniciales.
Aquí explicaré los pasos por línea de comandos.
Abrimos una nueva sesión con permisos de administración (si hemos cerrado la anterior). Ejecutamos:
cd /share/CACHEDEV1_DATA/.qpkg/Xnoppo2
A continuación creamos el archivo Xnoppo2_boot.sh mediante
El contenido del archivo es el siguiente:
#!/bin/sh
CONF=/etc/config/qpkg.conf
QPKG_NAME=Xnoppo2
QPKG_DIR=$(getcfg $QPKG_NAME Install_Path -f $CONF)
PID_FILE=/share/CACHEDEV1_DATA/.qpkg/Xnoppo2/cliente-xnoppo2.pid
export QNAP_QPKG=$QPKG_NAME
case "$1" in
start)
ENABLED=$(/sbin/getcfg $QPKG_NAME Enable -u -d FALSE -f $CONF)
if [ "$ENABLED" != "TRUE" ]; then
echo "$QPKG_NAME is disabled."
exit 1
fi
if [ -f $PID_FILE ] && kill -0 $(cat $PID_FILE); then
echo "$QPKG_NAME is already running."
exit 1
else
/opt/QPython3/bin/python3.8 /share/CACHEDEV1_DATA/.qpkg/Xnoppo2/emby_xnoppo_client.py > /dev/null 2>&1 &
echo $! > $PID_FILE
fi
;;
stop)
if [ -f $PID_FILE ]; then
PID=$(cat $PID_FILE)
if kill -0 $PID; then
kill $PID
while [ -e /proc/$PID ]; do
sleep 1;
done
fi
rm $PID_FILE
exit 0
else
rm $PID_FILE
echo "$QPKG_NAME is not running."
exit 1
fi
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart}"
exit 1
esac
exit 0
Haz clic para expandir...
Una vez finalizado le asignamos permisos de ejecución con el comando:
Ahora creamos una copia de seguridad del archivo de configuración (para tener una copia por si la liamos):
cp /etc/config/qpkg.conf /etc/config/qpkg.conf.bak
Editamos el archivo de configuración 'qpkg.conf':
para añadir al final de éste las siguientes líneas:
[Xnoppo2]
Name = Xnoppo2
Class = null
Status = complete
Build = 20210205
Display_Name = Cliente Xnoppo2
Version = 2.0
Author = Siberian
Date = 2021-02-05
Shell = /share/CACHEDEV1_DATA/.qpkg/Xnoppo2/Xnoppo2_boot.sh
Install_Path = /share/CACHEDEV1_DATA/.qpkg/Xnoppo2
QPKG_File = Xnoppo2.qpkg
Pid_File = /CACHEDEV1_DATA/.qpkg/Xnoppo2/cliente-xnoppo2.pid
WebUI = /emby_conf.html
Web_Port = 8090
Enable = TRUE
Salváis y con esto hemos finalizado la configuración en el Qnap.
En la aplicación App Center aparecerá un nuevo icono para iniciar/parar el cliente como cualquier otra aplicación.
Si pulsamos el botón Abrir, se levantará un navegador que os llevará a la web para poder configurar el Cliente Xnoppo.
8. Uso del cliente Xnoppo
Para su uso con la app de emby del móvil o tablet, accedéis a la app, pulsáis en el icono de arriba a la derecha y seleccionáis el dispositivo
Xnoppo.
Luego seleccionáis la película que queréis ver y pulsáis play. El cliente Xnoppo nos permite cambiar audios o subtítulos desde la app de emby, y que éstos cambien en el contenido que se esta reproduciendo en el oppo. También podéis usar la barra de tiempo para ir a cualquier momento de la película/serie salvo en contenidos en formato iso por limitaciones de la propia app de emby.
Para su uso en la app de webos de LG, seleccionáis el contenido que queréis ver y pulsáis play normalmente. Con el contenido local, la reproducción es prácticamente instantánea, con el contenido subido a sistemas en la nube como Google Drive, dependiendo de vuestra conexión la reproducción puede demorarse hasta 20-30 segundos, así que sed pacientes. Os recomendamos no reproducir varios contenidos multimedia en pocos
segundos porque es probable que bloqueéis el cliente y el puerto del oppo.
9. Otros
Es posible que la ruta os de error al lanzarlo con Xnoppo si es demasiado larga (más de 255 caracteres que es lo que soporta SMB); para comprobarlo podéis usar este program (para Windows):
https://www.softpedia.com/get/System/File-Management/Path-Length-Checker.shtml#download
Lo abrís y donde pone Starting Directory le poneis la ruta de los archivos que se ven en samba desde Windows (en mi caso, por ejemplo, sería: \\synology\Peliculas 4K en caracteres minimos poned 220 o 230 para no ir "tan justos" pulsais en
Get Path lenghts... así os dirá cuantos caracteres tiene la ruta:
Y listo, cambiad el nombre de los archivos que superen los 250-255 caracteres y ya irán.
GITHUB -->
Xnoppo es un cliente que utiliza emby como interfaz y el oppo 203 como reproductor. De esta manera tenemos lo mejor de los dos mundos - GitHub - siberian-git/Xnoppo: Xnoppo es un cliente que utili...
github.com
Versiones:
2.01 Changelog:
fix en versiones agrupadas donde siempre se reproducía el primero de la lista
soporte AV Yamaha
soporte reproductores con lector
soporte NFS
interfaz grafico por web y remote
2.01 Known bugs:
Código:
si el oppo esta apagado el menu status no carga
1.5c Changelog:
fix conexiones a emby ciertas contraseñas en determinados sistemas fallaban
fix configurador al no elegir ningun TV/AV de la lista al configurarlo ahora se considera que no se activa la integracion con TV/AV
añadido nuevo parametro al config Autoscript para indicar si se tiene o no instalado en el chinoppo
añadida desmontaje de unidad al terminar la reproduccion si se tiene autoscript, evitando asi los problemas de montaje de smb.
eliminacion del password de emby del archivo log.
ahora el TV LG vuelve a la ultima app/entrada seleccionada antes del cambio de hdmi al chinoppo ya se use movil o app emby de la LG.
eliminacion del configurador de la seleccion de dispositivo en la configuracion de la tv al no ser ya necesario.
modificados los comandos para AV DENON de encedido y apagado para que solo actue sobre la zona main.
ahora el cliente recarga el config despues de terminar una reproduccion.