xbmc ubuntu y raspbmc raspberry pi Funcionan bien menus capitulos,etc pero no reproduce
Log: 09:35:16 T:3006560064 ERROR: Playlist Player: skipping unplayable item: 0, path
Gracias
Comment #1
Posted on May 11, 2014 by Helpful DogA mí tampoco me reproduce. Revisando el log (detallado) parece que el problema es que el servidor no acepta el hash del token:
18:27:52 T:2831152192 NOTICE: [scrapertools.py] cachePage url=http://servicios.atresplayer.com/api/urlVideo/20140511-EPISODE-00005-false/android_tablet/20140511-EPISODE-00005-false|1399828672|24e23619e6e1282276f4e384195257cd 18:27:52 T:2831152192 NOTICE: [scrapertools.py] MODO_CACHE=2 (no cachear) 18:27:52 T:2831152192 NOTICE: [scrapertools.py] downloadpage 18:27:52 T:2831152192 NOTICE: [scrapertools.py] url=http://servicios.atresplayer.com/api/urlVideo/20140511-EPISODE-00005-false/android_tablet/20140511-EPISODE-00005-false|1399828672|24e23619e6e1282276f4e384195257cd 18:27:52 T:2831152192 NOTICE: [scrapertools.py] post=None 18:27:52 T:2831152192 NOTICE: [scrapertools.py] ficherocookies=/home/pi/.xbmc/userdata/addon_data/plugin.video.tvalacarta/cookies.dat 18:27:52 T:2831152192 NOTICE: [scrapertools.py] Importando cookielib 18:27:52 T:2831152192 NOTICE: [scrapertools.py] cookielib disponible 18:27:52 T:2831152192 NOTICE: [scrapertools.py] Hay cookies 18:27:52 T:2831152192 NOTICE: [scrapertools.py] Leyendo fichero cookies 18:27:52 T:2831152192 NOTICE: [scrapertools.py] opener usando urllib2 (cookielib) 18:27:52 T:2831152192 NOTICE: [scrapertools.py] petición GET 18:27:52 T:2831152192 NOTICE: [scrapertools.py] --------------------------- 18:27:52 T:2831152192 NOTICE: [scrapertools.py] header User-Agent=Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; es-ES; rv:1.9.2.12) Gecko/20101026 Firefox/3.6.12 18:27:52 T:2831152192 NOTICE: [scrapertools.py] --------------------------- 18:27:52 T:2831152192 NOTICE: [scrapertools.py] normal 18:27:52 T:2831152192 NOTICE: [scrapertools.py] Respuesta 18:27:52 T:2831152192 NOTICE: [scrapertools.py] --------------------------- 18:27:52 T:2831152192 NOTICE: [scrapertools.py] date=Sun, 11 May 2014 16:27:52 GMT 18:27:52 T:2831152192 NOTICE: [scrapertools.py] content-length=42 18:27:52 T:2831152192 NOTICE: [scrapertools.py] content-type=application/json;charset=UTF-8 18:27:52 T:2831152192 NOTICE: [scrapertools.py] connection=Close 18:27:52 T:2831152192 NOTICE: [scrapertools.py] server=Apache-Coyote/1.1 18:27:52 T:2831152192 NOTICE: [scrapertools.py] --------------------------- 18:27:52 T:2831152192 NOTICE: [scrapertools.py] Descargado en 1 segundos 18:27:52 T:2831152192 NOTICE: {"result":3,"resultDes":"Hash no válido"} 18:27:52 T:2831152192 NOTICE: core.jsontools.load_json Probando simplejson en directorio lib 18:27:53 T:2831152192 NOTICE: Previous line repeats 1 times. 18:27:53 T:2831152192 NOTICE: Traceback (most recent call last): File "/home/pi/.xbmc/addons/plugin.video.tvalacarta/core/jsontools.py", line 28, in load_json from lib import simplejson File "/home/pi/.xbmc/addons/plugin.video.tvalacarta/lib/simplejson/init.py", line 240, in _default_decoder = JSONDecoder(encoding=None, object_hook=None) File "/home/pi/.xbmc/addons/plugin.video.tvalacarta/lib/simplejson/decoder.py", line 328, in init self.scan_once = make_scanner(self) File "/home/pi/.xbmc/addons/script.module.simplejson/lib/simplejson/scanner.py", line 76, in py_make_scanner object_pairs_hook = context.object_pairs_hook AttributeError: 'JSONDecoder' object has no attribute 'object_pairs_hook' 18:27:53 T:2831152192 NOTICE: core.jsontools.load_json Probando simplejson incluido en el interprete 18:27:53 T:2831152192 ERROR: EXCEPTION Thrown (PythonToCppException) : -->Python callback/script returned the following error<-- - NOTE: IGNORING THIS CAN LEAD TO MEMORY LEAKS! Error Type: Error Contents: 'resultObject' Traceback (most recent call last): File "/home/pi/.xbmc/addons/plugin.video.tvalacarta/default.py", line 27, in launcher.run() File "/home/pi/.xbmc/addons/plugin.video.tvalacarta/platformcode/xbmc/launcher.py", line 140, in run itemlist = channel.play(item) File "/home/pi/.xbmc/addons/plugin.video.tvalacarta/tvalacarta/channels/a3media.py", line 206, in play item.url = lista['resultObject']['es'] KeyError: 'resultObject' -->End of Python script error report<--
Comment #2
Posted on May 27, 2014 by Happy WombatNo va a reproducir a nadie si han modificado la clave. El problema es que obtener la nueva va a ser muy dificil ya que hay involucrada una función hash. ¿Cómo obtuvo el autor del script la clave original? ¿Hay algo que se pueda hacer o en lo que se pueda ayudar?
Comment #3
Posted on May 28, 2014 by Happy BearEn la siguiente url hay una clave modificada el 11 Mayo pero parece no funcionar.
También cambian la función getApiTime añadiendo un cero más, por si a alguien le sirve de ayuda.
Yo también tengo interés en como se obtuvo la clave la primera vez para ver si se puede hacer algo.
Comment #4
Posted on May 28, 2014 by Happy WombatEn el script qe apuntas también hay cambios en la función GetWebData. ¿Donde está difinida esa función en su código?
Comment #5
Posted on May 28, 2014 by Happy BearPues supongo que es la función que obtiene datos. Al ser un plugin pues estará definida en el programa principal.
De todas formas, parece que sólo le añade un User-Agent. No creo que importe mucho.
Comment #6
Posted on May 30, 2014 by Happy WombatEl equivalente a getWebData en nuestro código es la función cachePage() dentro de la libería /core/scrapertools.py. Allí se ve que el User-Agent que usamos nosotros es distinto al que usa la gente de "mp-onlinevideos2" (que es un SGS3). Puede resultar poco importante, pero quizá la gente de A3player una de las cosas que quiere hacer es limitar solo la reproducción de su video a dispositivos como móviles o tabletas (y no a XMBCs en Raspberrys).
Nunca he programado nada en Python, pero a ver si pudiera sacar un poco de tiempo, modificara y probara...
Comment #7
Posted on May 31, 2014 by Happy BearPues parece que poniendo la nueva contraseña y el user-agent funciona correctamente. No sería necesario modificar el 3000L por 30000L (funciona con los dos; también funciona si pones 1L). He probado desde un script propio en python y ya devuelve la url dentro del resultObject.
Supongo que con cualquier user-agent de Android debería funcionar.
Comment #8
Posted on May 31, 2014 by Happy WombatMe alegro de que mi ida fuera acertada. Gracias por la comprobación. A ver si el autor integra pronto este cambio en el código y genera nueva versión.
Comment #9
Posted on May 31, 2014 by Happy BearParece que ya hay una nueva versión aunque usa la api de pydowntv para resolver la url. Iba a hacer un parche pero como ya se ha cambiado el código, pongo aquí cómo sería. En la función play:
token = d(item.extra, "QWtMLXs414Yo+c#_+Q#K@NN)") headers = [] headers.append(["User-Agent", "Dalvik/1.6.0 (Linux; U; Android 4.3; GT-I9300 Build/JSS15J)"]) data = scrapertools.cachePage(url, headers=headers)
Comment #10
Posted on May 31, 2014 by Happy RabbitGracias por las indicaciones, pero acabo subir una versión que tiene la contraseña y el user-agent, y a mí me sigue saliendo "Hash no válido"
Si la podéis probar por si me he pasado algo por alto os lo agradecería
Comment #11
Posted on May 31, 2014 by Happy RabbitEsta es la URL de los cambios de una versión a otra.
Hay más cosas que no tienen nada que ver, pero al final se ven los cambios que indicais.
Comment #12
Posted on May 31, 2014 by Happy BearLa contraseña nueva está mal puesta; acaba en ")". Yo confundí ese paréntesis la primera vez con el cierre de la llamada a la función. No sé si habrá pasado lo mismo esta vez.
Un saludo.
Comment #13
Posted on May 31, 2014 by Happy RabbitCorrecto!
Era eso, que fallo más tonto :(
Ya he actualizado el canal para que todo el mundo lo disfrute, gracias por arreglarlo.
https://code.google.com/p/xbmc-tvalacarta/source/detail?r=2099
Comment #14
Posted on May 31, 2014 by Swift OxMuchas Gracias por solucionarlo !!!!!!
Status: New
Labels:
Type-Defect
Priority-Medium