Sobre el proyecto

## Descripción general del proyecto etlp (embyToLocalPlayer) es una herramienta de puente con reproductores locales: al hacer clic en el botón de reproducción original en la web de Emby / Jellyfin, en lugar de reproducir en el navegador, se invoca el reproductor instalado en el equipo local, y al cerrarse normalmente el reproductor se devuelve el progreso de reproducción al servidor multimedia. El README indica que es compatible con Plex. ## Capacidades principales - Reproducción desde la página de inicio, activada al hacer clic en el botón de reproducción original; para vídeos con múltiples versiones se puede configurar la prioridad de versión. - Compatibilidad con listas de reproducción (reproducción continua), manteniendo la misma versión en el siguiente episodio. - Compatibilidad con marcado unidireccional como visto en bgm.tv / bangumi.tv, simkl.com y trakt.tv. - Los usuarios con montaje local pueden saltar a la carpeta correspondiente a la ruta (el botón aparece encima de la ruta del archivo en la web). - Los reproductores no adaptados generalmente también se pueden invocar, solo que no devuelven el progreso. - Se puede reproducir directamente o saltar a la carpeta montada desde la interfaz web de qBittorrent (requiere scripts complementarios). - Incluye un script de pseudobúsqueda agregada (embyEverywhere). ## Reproductores compatibles con devolución de progreso mpv (incluidos mpv.net y otros reproductores con núcleo mpv), PotPlayer, MPC-HC, MPC-BE, VLC, IINA (macOS). El README recomienda priorizar la familia mpv si no hay necesidades especiales. ## Instalación y modo de ejecución 1. Instalar en el navegador Tampermonkey o Violentmonkey u otro complemento de usuarioscripts y activar el modo desarrollador; tras instalar el usuarioscript correspondiente, actualizar la página de Emby. 2. Descargar y descomprimir el zip desde la página de versiones en una ruta en inglés; tres opciones: - `etlp-mpv-py-embed-win32.zip` (Windows, con mpv integrado, sin necesidad de modificar la configuración); - `etlp-python-embed-win32.zip` (Windows, requiere configurar la ruta del reproductor y la selección en el ini); - `embyToLocalPlayer.zip` (Windows / Linux / macOS, requiere instalar Python por cuenta propia y modificar la configuración). 3. En Windows, hacer doble clic en `embyToLocalPlayer_debug.bat`; pulsar 1 para ejecutar en primer plano y probar, pulsar 2 para crear el inicio automático en segundo plano al arrancar. 4. En macOS / Linux, ejecutar mediante `etlp_run.command`; se ofrecen ejemplos de autoinicio como elemento de inicio de sesión o servicio systemd. Python requiere como mínimo la versión 3.8; Windows requiere como mínimo la versión 10. ## Modos y puntos clave de configuración - Cambiar mediante el menú del complemento de usuarioscripts: activar/desactivar el script, interruptor del modo de lectura de disco duro. - El modo de lectura de disco duro convierte las rutas del servidor en direcciones de archivo locales; es necesario rellenar las reglas de sustitución de rutas en el ini; `dev > path_check = yes` permite comprobar la existencia del archivo y gestionar NFC/NFD. - El modo de caché persistente solo consulta el archivo de configuración y no entra en conflicto con la configuración del usuarioscript. - Modo de actualización: en Windows, pulsar 6 en el bat; en Linux/macOS, ejecutar `python3 utils/update.py`, y comparar con `embyToLocalPlayer_diff.ini`. ## Preguntas frecuentes y limitaciones - El reproductor debe cerrarse para que se active la devolución del progreso; la aparición de `serving at 127.0.0.1:58000` en el registro indica que el servicio se ha iniciado correctamente. - La selección de subtítulos/pistas de audio integrados de Emby no tiene efecto; los subtítulos/pistas de audio externos sí funcionan; los subtítulos integrados se dejan a elección del reproductor. - La lista de reproducción está activada por defecto; se recomienda no desactivarla; los botones de reproducir todo / reproducción aleatoria / lista de reproducción en la web solo son compatibles con los tipos película y vídeo musical. - PotPlayer puede presentar fallos de Pin de renderizado, `KeyError: 'stream.mkv'`, etc.; el README ofrece pasos de diagnóstico como configuración inicial, cambio de versión o uso del modo de lectura de disco. - IINA requiere configurar la salida al finalizar la reproducción; de lo contrario, afecta a la devolución del progreso; el modo que no es de lectura de disco no admite listas de reproducción. - En la página de inicio de Jellyfin, si se repite la reproducción del mismo archivo dentro de los 10 segundos posteriores a la finalización, el tiempo de reproducción puede ser erróneo. - El dominio de Plex puede sufrir contaminación DNS; es necesario modificar el DNS o usar un proxy. ## Sincronización del historial de visualización - bangumi.tv: es necesario crear un token de acceso y rellenarlo en el ini; solo sincronización unidireccional; solo admite series habituales, no películas u otros formatos; el README detalla la estrategia de identificación de secuelas y coincidencia por fecha de emisión. - simkl: es necesario crear una app en la página de desarrolladores, con Redirect uri `http://localhost:58000/simkl_auth`; tras rellenar client_id/secret, la autorización es automática. - trakt.tv: es necesario crear una app, con Redirect uri `http://localhost:58000/trakt_auth`; tras rellenar user_name/client_id/client_secret, se autoriza. - Los tres solo sincronizan tras el cierre normal del reproductor; hacer clic en la web sobre algo ya reproducido no lo activa. ## Funciones ocultas (el README indica que no tienen soporte) Incluyen reproducción de ISO de disco original/bdmv (se recomienda VLC; el ISO no admite devolución de progreso), redirección/sustitución local de la dirección de reproducción, sincronización de progreso de reproducción en LAN mediante strm, paso de datos de mpv a scripts lua, omisión automática de cabecera y créditos en mpv, prelectura del siguiente episodio, prelectura de "continuar viendo", notificaciones de seguimiento en Telegram, caché persistente (reproducción mientras se descarga), compatibilidad con el reproductor de danmaku Dandanplay, y listas de reproducción basadas en Emby en modo de lectura de disco de Pot, entre otras. ## Requisitos de retroalimentación El README insiste en que, antes de enviar comentarios, se actualice a la última versión, se pruebe con la versión portátil que incluye mpv, se prueben al menos dos vídeos y se proporcionen registros y pasos de reproducción; los comentarios que no cumplan los requisitos serán ignorados.