Export to GitHub

xbmc-tvalacarta - issue #222

Atresplayer no reproduce


Posted on May 11, 2014 by Swift Ox

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 Dog

A 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 Wombat

No 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 Bear

En la siguiente url hay una clave modificada el 11 Mayo pero parece no funcionar.

https://code.google.com/p/mp-onlinevideos2/source/browse/trunk/SiteUtilProjects/OnlineVideos.Sites.Dj_Moren/AtresplayerUtil.cs?r=3227#246

También cambian la función getApiTime añadiendo un cero más, por si a alguien le sirve de ayuda.

https://code.google.com/p/mp-onlinevideos2/source/diff?spec=svn3227&old=3056&r=3227&format=unidiff&path=%2Ftrunk%2FSiteUtilProjects%2FOnlineVideos.Sites.Dj_Moren%2FAtresplayerUtil.cs

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 Wombat

En 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 Bear

Pues 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 Wombat

El 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 Bear

Pues 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 Wombat

Me 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 Bear

Parece 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 Rabbit

Gracias 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 Rabbit

Esta es la URL de los cambios de una versión a otra.

https://code.google.com/p/xbmc-tvalacarta/source/diff?spec=svn2098&r=2098&format=side&path=/trunk/tvalacarta/tvalacarta/channels/a3media.py&old_path=/trunk/tvalacarta/tvalacarta/channels/a3media.py&old=2085

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 Bear

La 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 Rabbit

Correcto!

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 Ox

Muchas Gracias por solucionarlo !!!!!!

Status: New

Labels:
Type-Defect Priority-Medium