Página 2 de 3

Re: Integrando la biblioteca...

Publicado: 08 Feb 2010, 00:41
por jurrabi
Hola de nuevo... ya podemos disponer de una versión alfa de las series a la carta en la biblioteca...

Ha costado un poquito, pero aquí esta.

Diré que integrar la funcionalidad episodio a episodio sigue las premisas originales y no toca casi nada de lo existente (sólo los ficheros que ya indiqué la otra vez). Pero añadir la opción de series enteras es otro cantar. Esta opción debe integrarse mucho con el canal en que se añade, por lo que mi sueño de dejar los canales sin tocar se va un poco al garete.

De momento sólo he modificado el canal seriesyonkis. En él he añadido una opción antes del primer episodio de cada serie para añadir a la biblioteca. Esto lo que realmente hace es crear un fichero strm por cada episodio en una carpeta adecuada. Actualmente los strm se almacenan en special://home/plugins/Video/pelisalacarta/library. Lógicamente puede cambiarse. Lo suyo sería una opción en los parámetros del plugin.

También he añadido código para crear las carpetas de cine y series dentro de library y una carpeta por cada serie que se añada (o incluso para episodios sueltos dentro de series). Todo esto se hace de forma transparente para el usuario.

Finalmente he creado un pequeño video de demo para ver el uso y disfrute del añadido. Podeis verlo aquí. Perdonad la calidad, pero es mi primer video editado y subido a youtube y no sé como subirlo con mejor calidad (si alguien sabe más que me diga como).

Estoy abierto a todo tipo de comentarios y sugerencias.

El código aún no está para abrirlo a todo el mundo ya que hay que cambiar y limpiar cosas. Por ejemplo actualmente sólo se pueden añadir videos de megavideo (megaupload) y si tenemos configurada una cuenta premium. Pero los cambios para el resto no son difíciles. Además hace falta actualizar todos los canales (ver más abajo). Finalmente hace falta probarlo intensivamente y en todas las plataformas...

En el plano técnico, la modificación más radical es la necesidad de añadir un par de parámetros que le digan al módulo library donde deben ir los strm. Por un lado he reutilizado el parámetro category (que yo creo que no tenía mucho o ningún uso) para que indique si el archivo es una serie o película o documental, etc... Esto indicará la carpeta adecuada. Actualmente sólo se guardan bien (en su carpeta correspondiente) las series. Es necesario modificar los canales para que aporten este dato de sus contenidos. Los cambios son sencillos y, si a jesus le parece bien la línea, me comprometo a hacerlos yo mismo. El otro parámetro se usa en el caso de las series y sirve para indicar a que serie pertenece un vídeo. Podría haber intentado algún tipo de extracción del nombre de la serie del título (como de hecho hago en el apartado de novedades de seriesyonkis). Pero como en algún momento me gustaría contemplar la idea de que el usuario pueda editar los nombres de series y archivos antes de crearlos (con un parámetro en las opciones del plugin que indique si queremos que nos pregunte antes de guardar o no, por ejemplo) pues este parámetro iba a ser necesario. Así ya lo tenemos. Lógicamente si no se trata de series pues no hace falta.
Finalmente, a la hora de añadir series enteras tenía 2 opciones.
1. Extraer el URL final del video de megaupload y que el strm enlace diréctamente a éste. Esto tiene el inconveniente de que en el momento de añadir la serie (un proceso que el usuario ha de esperar online hasta que termine) el proceso se ralentiza y alarga mientras se scrapean las url de todos los episodios.
2. Dejar el URL de seriesyonkis y dejar que se escrapee el megavideo cuando el usuario vaya a verlo. En este caso la espera es corta (ya que los videos se ven de uno en uno). Tiene la pega que comentaba bandavi de que el strm depende del canal. Pero por otro lado si se actualiza el video en seriesyonkis (por ejemplo si el video de megavideo deja de funcionar y se sube otro enlace nuevo) pues sigue funcionando.

Salomónicamente decidí implementar la opción 2 (lo siento bandavi) tras comprobar que añadir las 10 temporadas de friends tardaban 30 segundos con la opción 1 y varios minutos (que el usuario ha de esperar pacientemente) con la opción 2. El cambio a la 2, no obstante, es cuestión de descomentar 3 lineas y comentar otras que he dejado (más o menos) indicadas...

Bueno, ahora os dejo para que lo probéis y me deis vuestras opiniones y directrices (jesus andas algo callado últimamente).

Yo mientras sigo disfrutando...

Un saludo,

Jur.

PD. Me olvidaba los adjuntos... Como el otro día, sólo cambios aquí. Subo todo a megaupload y ahora lo edito... EDITADO: Aquí esta pelisalacarta.zip
PPD. Estoy tratando de mejorar la calidad del video. Cuando lo tenga lo edito de nuevo.

Re: Integrando la biblioteca...

Publicado: 09 Feb 2010, 16:02
por jesus
@jurrabi, el parámetro category teóricamente sirve para que el skin lo muestre cuando estás dentro de esa carpeta. Debería mostrarse... pero casi ningún skin lo hace.

Me ha encantado el vídeo (para ser el primero te ha quedado genial!) y espero poder dedicarle este finde un rato para estudiar los cambios y ver cómo impactan en el resto. Me gustaría incluirlo en la próxima versión de pelisalacarta, aunque esté "sin pulir", porque seguro que a la gente le encanta :)

Por cierto, si quieres igual es más sencillo que te abra el acceso al subversion.

¿Te importa que haga un post en el blog con el vídeo? Creo que ayudará a "levantar expectación" je je je

Re: Integrando la biblioteca...

Publicado: 09 Feb 2010, 16:46
por jurrabi
jesus escribió:@jurrabi, el parámetro category teóricamente sirve para que el skin lo muestre cuando estás dentro de esa carpeta. Debería mostrarse... pero casi ningún skin lo hace.
No lo sabía. Si ves que es un inconveniente pues le buscamos otro sitio.
jesus escribió:Me ha encantado el vídeo (para ser el primero te ha quedado genial!)
Gracias. He subido una versión con algo más de calidad (creo). Podéis verlo aquí
jesus escribió:y espero poder dedicarle este finde un rato para estudiar los cambios y ver cómo impactan en el resto. Me gustaría incluirlo en la próxima versión de pelisalacarta, aunque esté "sin pulir", porque seguro que a la gente le encanta :)
Por cierto, si quieres igual es más sencillo que te abra el acceso al subversion.
No sé que rango de fechas manejas para la siguiente versión. Si creo que hace falta añadirlo a otras partes (como a los videos sin cuenta premium y otros que no sean megavideo). También debemos probar bastante y en todas las plataformas para que no se le rompa nada a nadie.
Me encanta la idea de que te apetezca añadirlo al "main branch". Así me evitaré tener que remodificar cuando vayas actualizando ;) Como no usas la biblioteca me parecía que podía no interesar...
Me encantaría si me das acceso al subversión.
jesus escribió:¿Te importa que haga un post en el blog con el vídeo? Creo que ayudará a "levantar expectación" je je je
Claro que no. ¡Encantado! Si quieres te puedo mandar el video directamente para que lo tengas... Se verá mejor que en youtube.

Con respecto al otro 50% de la biblioteca, las pelis, te cuento que tengo un ticket dado de alta en el trac ya que me parece que es un error del xbmc. Tan pronto como haya cambios iré contando...

Mientras quedo un poco a la espera de que puedas ver el código para no seguir cambiando canales en la linea equivocada. Bueno, quizá adapte algún otro para usarlo yo ;)

Un saludo,

Jur.

EDITO: Se me olvidaba. Si quieres alguna modificación en el video aun tengo las fuentes. Puedo cambiar lo que quieras.

Re: Integrando la biblioteca...

Publicado: 10 Feb 2010, 01:37
por jesus
He estudiado el código (no en profundidad pero sí lo suficiente), y por si te tranquiliza creo que más o menos yo lo habría hecho igual. No lo he probado sobre XBMC, eso sí que tendrá que esperar al fin de semana que ya es la 1:30 de la mañana.

Te voy a dar dos consejos a ver qué te parecen :)

1) Pon esta funcionalidad únicamente en seriesyonkis. Así no te pegas la paliza de modificar todos los canales (son muchos ya) y puedes dejarla un poco en rodaje a ver qué tal funciona. Además ese es el canal que mejor funcionará con la opción de "añadir todos", porque es el único que tiene los capítulos de las series como vídeos y no como carpetas.

2) No te agobies tanto porque esté sin terminar. Esto es una beta constante, así que mientras no rompas nada no es un problema que lo pongas en una versión "pública" de pelisalacarta sin terminar. A mí me costó varias versiones hacer lo de las descargas... y aún no está del todo fino. Pero es útil desde el primer día :)

Este fin de semana lo estudiaré con más detalle, aprovecharé para hacer algún cambio en el xbmctools.py (que lo necesita) y si veo una forma mejor de encajarlo todo la comentamos. En cualquier caso el código necesita una remodelación, para implementar el buscador y el acceso por categorías, así que igual es un buen momento.

A mí lo de la biblioteca me sigue sin llamar, aunque es cierto que tengo muy poquito tiempo libre y por tanto no tengo muchas ocasiones de sentarme a organizarla. En cualquier caso gracias por la aportación, es muy interesante y te estás pegando una buena currada. Seguro que cuando la contemos en los foros de XBMC te copian la idea para otros plugins :)

Re: Integrando la biblioteca...

Publicado: 10 Feb 2010, 14:13
por jurrabi
jesus escribió:1) Pon esta funcionalidad únicamente en seriesyonkis. Así no te pegas la paliza de modificar todos los canales (son muchos ya) y puedes dejarla un poco en rodaje a ver qué tal funciona. Además ese es el canal que mejor funcionará con la opción de "añadir todos", porque es el único que tiene los capítulos de las series como vídeos y no como carpetas.
Me parece bien. Quizá añada algún otro que me interesa personalmente (casttv que tiene series en inglés). Pero poco más. Revisaré también el seriesyonkis para completarlo y dejarlo "bonito". Si me das acceso a las fuentes lo subo directamente...
De todas formas te diré que con los otros no habrá más problema. Tal y como está hecho, lo único que pasará cuando añadan series completas de otros canales que no tengan los capítulos de series directamente como vídeos el usuario en la biblioteca tendrá que seleccionar el episodio y cuando le salgan los vídeos posibles elegir uno. Un pasito más (si no queremos complicar el plugin) pero que viniendo de usar pelisalacarta no creo que suponga mucho inconveniente.
jesus escribió:2) No te agobies tanto porque esté sin terminar. Esto es una beta constante, así que mientras no rompas nada no es un problema que lo pongas en una versión "pública" de pelisalacarta sin terminar. A mí me costó varias versiones hacer lo de las descargas... y aún no está del todo fino. Pero es útil desde el primer día :)
A ver que tal vivo con eso... :D es broma. Me parece bien también.
jesus escribió:A mí lo de la biblioteca me sigue sin llamar, aunque es cierto que tengo muy poquito tiempo libre y por tanto no tengo muchas ocasiones de sentarme a organizarla. En cualquier caso gracias por la aportación, es muy interesante y te estás pegando una buena currada. Seguro que cuando la contemos en los foros de XBMC te copian la idea para otros plugins :)
Aunque yo tengo más tiempo te insisto en que la biblio te quita casi cero tiempo. Imagínate que estás navegando por los canales del plugin. Y decides... anda, esta peli me apetece verla (o esta serie), pero no ahora. Es cierto que puedes añadirla a favoritos como antes, pero si la añades a la biblioteca puedes tenerlas junto con las que te bajes. Así cuando quieras ver algo y digas... a ver que comedias tengo... está todo en el mismo sitio y puedes decidir más rápido.
Entiendo que tengas la noción de que mantener la biblioteca es un coñazo pero te aseguro que cada vez menos... Añades un dir de pelis. Si no son muy raras (es decir, que las hayan echado aquí en el cine) filmafinity te las va a pillar el 90% a la primera... y cuando las estés recorriendo, si alguna está mal pues pulsas "I" le das a refrescar y seleccionas la correcta... y ya está...

Pero bueno, parece que intento venderte algo, y no es así. Tú úsalo como más cómodo te parezca.

Vamos hablando,

Jur.

Re: Integrando la biblioteca...

Publicado: 11 Feb 2010, 01:18
por jesus
Ya tienes acceso al SVN.

Vete a http://code.google.com/p/xbmc-tvalacarta y sigue las instrucciones.

Si necesitas ayuda te cuento mas o menos de que va.

Re: Integrando la biblioteca...

Publicado: 13 Feb 2010, 21:25
por jurrabi
Acabo de probarlo. Funcionando perfecto.

Si quieres voy subiendo los cambios que hay hechos. ¿O prefieres hacerlo tu?

Si no me equivoco de momento sólo están modificados los siguientes archivos:

pelisalacarta/pelisalacarta.py
pelisalacarta/channelselector.py
pelisalacarta/library/
pelisalacarta/resources/lib/library.py
pelisalacarta/resources/lib/xbmctools.py
pelisalacarta/channels/seriesyonkis.py

En espera quedo...

Re: Integrando la biblioteca...

Publicado: 14 Feb 2010, 12:03
por jurrabi
He detectado un par de fallos en xbmctools y estoy aprovechando para limpiar el código.

Yo me encargo de subirlos cuando termine (entre hoy y mañana).

Un saludo,

Jur.

Re: Integrando la biblioteca...

Publicado: 18 Feb 2010, 13:09
por jurrabi
Acabo de subir la subversión r98 incluyendo la funcionalidad de biblioteca según los términos que hemos venido hablando. A saber:

1. Funcionalidad limitada al módulo de seriesyonkis. permite añadir episodios sueltos y series enteras
2. La biblioteca (los ficheros strm) se guarda en plugins/video/pelisalacarta/library y no es parametrizable. Por fortuna el video del otro día puede ayudar a los usuarios a saber como aprovechar las nuevas funcionalidades. En un futuro seguramente será conveniente meter el parámetro en la pantalla de configuración del plugin.


Como próximos pasos tengo 2 cosas rápidas en mente.

1. Reorganizar la función playvideoEx de xbmctoos.py. La idea es que actualmente un if inicial (para ver si se trata de megavideo o no) separa 2 ramas que crean menús muy parecidos y luego se repite funcionalidad casi idéntica (replicando muchísimas partes de código). Mi idea es convertir la creación del menú en una parte común que incorpore las opciones necesarias en general y luego un case (simulado, ya sé que no hay case en python) que determine las acciones en función de la opción seleccionada. Lo tenía planteado para haberlo hecho ya, pero no quería dejar pasar más tiempo sin subir lo que hay ya (y también quiero saber si te parece bien esta modificación).

2. Quiero investigar la opción de prescindir totalmente de ficheros strm. Como sabes actualmente los ficheros strm no están funcionando (quiero decir que no se pueden añadir a la biblioteca) en el caso de las películas. Sigo en contacto con los programadores de XBMC y, de hecho, me he comprometido a revisar el código personalmente para intentar encontrar el problema. Pero este problema me inclina por la otra opción posible que ya te comenté en el primer post. Añadir directamente los vídeos a la biblioteca sin necesidad de ficheros strm.


Quiero pedir disculpas por no haber subido antes los cambios, pero he estado liado y además esta semana me cambiaron porfín el adsl de telefónica por otro de jazztel. Por si a alguien le sirve de referencia he pasado de 10megas con telefónica que no me servían para usar pelisalacarta por las tardes (desde las 17.00) y nada los fines de semana a 3megas de jazztel que de momento ayer funcionaron a la perfección para ver vídeos en alta calidad todo el día (y la noche) sin ningún problema. Ya contaré que tal se porta el fin de semana, pero de momento jazztel 1 - telefonica 0.

A ver si tienes oportunidad de probarlo y me cuentas.


Estos próximos días voy a estar liado revisando el código de xbmc encargado de añadir películas a la biblioteca, cosa que supongo no me será fácil empezando por mi limitada experiencia en C++. Pero en peores plazas he lidiado...

Eso sí, cualquier problema que surja con los añadidos me comprometo a revisarlo inmediatamente.

Un saludo,

Jur.

Re: Integrando la biblioteca...

Publicado: 20 Feb 2010, 02:56
por jurrabi
Más y buenas noticias...

Después de un par de días de jugar con el código fuente de XBMC he dado con la causa por la que los strm de películas no podían añadirse a la biblioteca de cine.
Básicamente había 2 problemas.

1. XBMC no identificaba los ficheros strm como fuente de video. Esto se soluciona fácilmente añadiendo la extensión .strm a las extensiones que XBMC debe interpretar como videos en el archivo advancedsettings.xml. Algo así:

Código: Seleccionar todo

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<advancedsettings>
  <videoextensions>
    <add>.strm</add>
  </videoextensions>
</advancedsettings>


2. XBMC interpretaba que los ficheros strm son playlists y había un chequeo que impedía añadir playlists a la librería de películas (no así para la librería de series). He creado un parche que soluciona el problema y lo he mandado a los responsables para ver si lo aceptan.

Por mi parte esto ya requerirá menos tiempo así que vuelvo a pelis a la carta. Voy a empezar a modificar canales para poder añadir películas a la librería.

Por cierto, si alguien quiere el xbmc.exe compilado por mi con el parche aplicado que lo diga y lo subo a algún sitio. Aunque personalmente no creo que tarden mucho en subirlo al SVN. Probablemente esté listo antes que la siguiente versión de pelisalacarta que ya incorpore películas a la librería :D

Eso sí... yo lo voy a empezar a disfrutar desde hoy ;) (ventajas de ser el desarrollador )


Ahora también quiero ver las opciones para llamar a las funciones de librería diréctamente (esta mini-experiencia coqueteando con el código de XBMC puede ser de bastante ayuda). Aunque no me resisto a modificar algunos canales más...

Un saludo,

jur.