Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Manejar subtítulos forzados #14

Open
ramiro opened this issue May 7, 2016 · 3 comments
Open

Manejar subtítulos forzados #14

ramiro opened this issue May 7, 2016 · 3 comments

Comments

@ramiro
Copy link
Owner

ramiro commented May 7, 2016

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

  • Detectar que un archivo de subtitulos es forzado (buscando palabras clave en el filename, etc.)
  • Si hay mas de un archivo de subtitulos y uno de ellos es forzado entonces grabar/renombrar los mismos con los nombres correctos según la spec. En nuestro ejemplo:

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 ramiro changed the title Manejar subbtítulos forzados Manejar subtítulos forzados May 8, 2016
@ramiro
Copy link
Owner Author

ramiro commented Jan 17, 2017

@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
Copy link
Collaborator

IvanRF commented Jan 17, 2017

@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 added a commit that referenced this issue Jan 18, 2017
By ignoring forced subtitles contained in the same compressed file along
the other subtitle files we make sure they aren't mistakenly recognized
as the main ones. Refs #14.
ramiro added a commit that referenced this issue Jan 18, 2017
Functionality hasn't changed yet, but now we store medatada about
whether a subtitle file found inside a compressed file contains a forced
subtitle.

We will need to wait for Kodi because even when a list of files can be
returned, AFAICT it still doesn't provide any means to report from an
subtitiles addon the fact that more than one subtitle file have been
downloaded/uncompressed. It simply saves the first one with the same
file name as the movie and with the corresponding subtitle extension
(.srt, ...) ingnoring the ones reported later.

It doesn't give addons an API to control the filenames under which these
files get saved either.

See https://github.com/xbmc/xbmc/blob/cc33768f65fffdc9d7cd72e655a38660fa55667b/xbmc/video/dialogs/GUIDialogSubtitles.cpp#L436

Refs #14.
@ramiro
Copy link
Owner Author

ramiro commented Jan 18, 2017

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants