ramiro / service.subtitles.subdivx

Subdivx.com subtitles download Add-on for Kodi/XBMC v13 Gotham up to Kodi Matrix v19.
GNU General Public License v2.0
16 stars 22 forks source link

Manejar subtítulos forzados #14

Open ramiro opened 8 years ago

ramiro commented 8 years ago

Nota

Para ejemplificar y probar lo que se detalla mas abajo vamos a usar Zoolander.2.2016.HDRip.XviD.AC3-EVO.avi

En subdivx.com un sub que le va bien es http://www.subdivx.com/X6XNDY1MzM4X-zoolander-2-2016.html del traductor oraldo y que es un archivo 465338.rar que contiene los siguientes archivos:

a. Zoolander 2 2016 720p WEB-DL DD5.1 H.264-PLAYNOW.srt <- El sub principal b. Zoolander 2 2016 720p WEB-DL DD5.1 H.264-PLAYNOW-FORZADOS.srt <- El sub forzado

El funcionamiento estándar actual del addon es que para el archivo de video del ejemplo, el nombre del archivo de sub será Zoolander.2.2016.HDRip.XviD.AC3-EVO.es.srt. Este sería el subtítulo principal. Notar el fragmento .es del filename.

Con ese nombre, si el usuario tiene configurado Kodi para usar subtítulos en español, este levanta dicho .srt y todo funciona como se espera. Desde XBMC 13.x a Kodi 16.x.

Descripción

La spec de cómo Kodi espera encontrar los subtítulos forzados está en http://kodi.wiki/view/subtitles#Using_Forced_Subtitles

Debemos trabajar en base a la misma. Creo que podemos dividir esto en dos (o mas bien tres) partes:

Parte 1

Primero hay que solucionar un problema general del addon:

Actualmente el addon no puede manejar mas de un archivo de subtítulos contenidos en un único archivo .rar/.zip. Sólo elige uno de ellos de manera no predecible.

Si en la UI del addon el usuario elige el resultado de busqueda correspondiente al sub de arriba (el del traductor oraldo), es muy posible que el archivo que termine como subtítulo principal sea el archivo b; el otro se ignora y no se copia/renombra al destino final configurado para los subs. Lo correcto seria que se usara el archivo a.

Esto es algo a solucionar incluso si directamente quisieramos ignorar los subtítulos forzados. Debemos detectar lo mas correctamente posible cuál es el subtítulo principal y usarlo.

Parte 2

Lo que deberiamos implementar es

a. Zoolander 2 2016 720p WEB-DL DD5.1 H.264-PLAYNOW.srt -> Zoolander.2.2016.HDRip.XviD.AC3-EVO.es.srt <- El sub principal b. Zoolander 2 2016 720p WEB-DL DD5.1 H.264-PLAYNOW-FORZADOS.srt Zoolander.2.2016.HDRip.XviD.AC3-EVO.es-forced.srt<- El sub fozado

(Ojo, ver abajo)

Parte 3

En teoría y segun la spec linkeada arriba, implementando lo que se describe en la Parte 2 tendríamos este issue listo. Pero aparentemente Kodi (al menos la versión16.x) no está cumpliendo con su propia spec, ya que lo que sucede es que ignora el archivo .es.srt principal y levanta el forzado. O sea que seguimos en casillero uno.

Lo que si funciona es asignarle al sub forzado el siguiente nombre: Zoolander.2.2016.HDRip.XviD.AC3-EVO.Spanish-forced.srt

Con eso logramos que Kodi levante ambos subtítulos correcta y transparentemente.

Habría que analizar si no nos conviene cambiar también el nombre final con el que el addon graba el subtítulo principal (que ya dijimos es Zoolander.2.2016.HDRip.XviD.AC3-EVO.es.srt) a Zoolander.2.2016.HDRip.XviD.AC3-EVO.Spanish`.srt, por consistencia.

ramiro commented 7 years ago

@IvanRF

Este issue es sobre un solo feature/problerma y está necesitando un desarrollador creativo, meticuloso y prolijo ;-P

Mi idea es 'cortar' 0.2.5 pronto (no mas de 48 hs a partir de ahora).

Si hubiera una PR para el mismo la incluímos. Si no lo dejamos poara 0.2.6.

IvanRF commented 7 years ago

@ramiro la verdad es la primera vez que veo que hay subtítulos Forced, tendría que leer al respecto. Si es por mí, cerra la versión actual (tengo una semana complicada).

ramiro commented 7 years ago

Lamentablemente Kodi (actualmente v17 Krypton) tiene una limitación en este sentido que nos impide implementar esto. Ver los dos commits de arriba para mas detalles.

Dejamos esto pendiente.