Página 1 de 1

El misterio de la velocidad de ejecución en ATV2

Publicado: 26 Sep 2011, 18:20
por jesus
Hola a todos,

Creo que ya he resuelto el misterio de la velocidad de ejecución en ATV2, en ciertos canales como tumejortv. Si echais un vistazo a este log, donde se ve el proceso de buscar las URL de los vídeos en una de las páginas, veréis que hay una de StageVu que le cuesta una barbaridad resolverla. Casi un minuto:

Código: Seleccionar todo

19:15:12 T:804675584 M:115785728  NOTICE: [megavideo.py] find_videos #id.+?http://www.megavideo.com..v.(.+?)".+?(parte\d+)#
19:15:12 T:804675584 M:115785728  NOTICE: [megavideo.py] find_videos #<div[^>]+>([^<]+)<.*?<param name="movie" value="http://www.megavideo.com/v/([A-Z0-9a-z]{8})[^"]+"#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #<a href\="http\:\/\/www.megavideo.com/\?v\=([A-Z0-9a-z]{8})".*?>([^<]+)</a>#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #http\:\/\/www.megavideo.com/\?v\=([A-Z0-9a-z]{8})#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #<param name="movie" value="http://wwwstatic.megavideo.com/mv_player.swf\?v=([^"]+)">#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #www.megavideo.com.*?mv_player.swf.*?v(?:=|%3D)(\w{8})#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #http://www.megavideo.com/v/([A-Z0-9a-z]{8})#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #<a href="http://www.megavideo.com/\?v\=([^"]+)".*?>(.*?)</a>#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #<param name="movie" value=".*?v\=([A-Z0-9]{8})" />#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #src="http://wwwstatic.megavideo.com/mv_player.swf.*?\&v\=([^"]+)"#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #http://www.megavideo.com/\?d\=([A-Z0-9a-z]{8})#
19:15:15 T:804675584 M:115769344  NOTICE: [megaupload.py] find_videos #<a.*?href="http://www.megaupload.com/\?d=([A-Z0-9a-z]{8})".*?>(.*?)</a>#
19:15:15 T:804675584 M:115769344  NOTICE: [megaupload.py] find_videos #http\://www.megaupload.com/(?:es/)?\?.*?d\=([A-Z0-9a-z]{8})(?:[^>]*>([^<]+)</a>)?#
19:15:15 T:804675584 M:115769344  NOTICE:   titulo=[Megaupload]
19:15:15 T:804675584 M:115769344  NOTICE:   url=http://www.megaupload.com/?d=QBMOA4N3
19:15:15 T:804675584 M:115769344  NOTICE:   url duplicada=http://www.megaupload.com/?d=QBMOA4N3
19:15:15 T:804675584 M:115769344  NOTICE: [megaupload.py] find_videos #xrxa\("([A-Z0-9a-z]{8})=d\?/moc.daolpuagem.www//\:ptth"\)#
19:15:15 T:804675584 M:115769344  NOTICE: [megaupload.py] find_videos #http://www.megavideo.com/\?d\=([A-Z0-9a-z]{8})#
19:15:15 T:804675584 M:115765248  NOTICE: [directo.py] find_videos #(http://[a-zA-Z0-9]+\.mysites\.com\/get_file\/.*?\.mp4)#
19:15:15 T:804675584 M:115757056  NOTICE: [bliptv.py] find_videos #(http://blip.tv/play/[A-Z0-9a-z]+.html)#
19:15:15 T:804675584 M:115752960  NOTICE: [facebook.py] find_videos #www.facebook.com(?:/|%2F)v(?:/|%2F)(.*?)(?:&|%26)#
19:15:15 T:804675584 M:115752960  NOTICE: [facebook.py] find_videos #(http://video.ak.facebook.com/.*?\.mp4)#
19:15:15 T:804675584 M:115748864  NOTICE: [fourshared.py] find_videos #(http://www.4shared.com/embed/[A-Z0-9a-z]+/[A-Z0-9a-z]+)#
19:15:15 T:804675584 M:115748864  NOTICE: [fourshared.py] find_videos #"(http://www.4shared.com.*?)"#
19:15:15 T:804675584 M:115748864  NOTICE: [fourshared.py] find_videos #'(http://www.4shared.com.*?)'#
19:15:15 T:804675584 M:115744768  NOTICE: [googlevideo.py] find_videos #http://video.google.com/googleplayer.swf.*?docid=([0-9]+)#
19:15:15 T:804675584 M:115736576  NOTICE: [gigabyteupload.py] find_videos #<a href="(http://www.gigabyteupload.com/[^"]+)"#
19:15:15 T:804675584 M:115732480  NOTICE: [movshare.py] find_videos #"(http://www.movshare.net/video/[^"]+)"#
19:15:15 T:804675584 M:115732480  NOTICE: [movshare.py] find_videos #'(http://www.movshare.net/embed/[^']+)'#
19:15:15 T:804675584 M:115728384  NOTICE: [stagevu.py] find_videos #(http://stagevu.com/video/[A-Z0-9a-z]+)#
19:15:15 T:804675584 M:115728384  NOTICE: [stagevu.py] find_videos #http://stagevu.com.*?uid\=([A-Z0-9a-z]+)#
Aquí viene el problema...

Código: Seleccionar todo

19:15:15 T:804675584 M:115728384  NOTICE: [stagevu.py] find_videos #http://.*?.stagevu.com/v/.*?/(.*?).avi#
Y un minuto después sigue con su búsqueda

Código: Seleccionar todo

19:16:10 T:804675584 M:115990528  NOTICE: [tutv.py] find_videos #<param name="movie" value="(http://tu.tv[^"]+)"#
19:16:10 T:804675584 M:115859456  NOTICE: [tutv.py] find_videos #<param name="movie" value="(http://www.tu.tv[^"]+)"#
19:16:10 T:804675584 M:115859456  NOTICE: [tutv.py] find_videos #<embed src="(http://tu.tv/[^"]+)"#
19:16:10 T:804675584 M:115855360  NOTICE: [userporn.py] find_videos #userporn.com\/f\/([A-Z0-9a-z]{12}).swf#
19:16:11 T:804675584 M:115855360  NOTICE: [userporn.py] find_videos #userporn.com\/video\/([A-Z0-9a-z]{12})#
19:16:11 T:804675584 M:115855360  NOTICE: [userporn.py] find_videos #userporn.com\/e\/([A-Z0-9a-z]{12})#
19:16:11 T:804675584 M:115855360  NOTICE: [userporn.py] find_videos #(http\:\/\/(?:www\.)?userporn.com\/(?:(?:e/|flash/)|(?:(?:video/|f/)))?[a-zA-Z0-9]{0,12})#
19:16:11 T:804675584 M:115851264  NOTICE: [veoh.py] find_videos #"http://www.veoh.com/.*?permalinkId=([^"]+)"#
19:16:11 T:804675584 M:115851264  NOTICE: [veoh.py] find_videos #var embed_code[^>]+>   <param name="movie" value="http://www.veoh.com/static/swf/webplayer/WebPlayer.swf.*?permalinkId=(.*?)&player=videodetailsembedded&videoAutoPlay=0&id=anonymous"></param>#
19:16:11 T:804675584 M:115847168  NOTICE: [videobb.py] find_videos #(http\:\/\/(?:www\.)?videobb.com\/(?:(?:e/)|(?:(?:video/|f/)))?[a-zA-Z0-9]{12})#
19:16:11 T:804675584 M:115847168  NOTICE: [videobb.py] find_videos #(http\://www.videobb.com/watch_video.php\?v=[a-zA-Z0-9]{12})#
19:16:11 T:804675584 M:115843072  NOTICE: [videoweed.py] find_videos #(http://www.videoweed.[a-z]+/file/[a-zA-Z0-9]+)#
19:16:11 T:804675584 M:115838976  NOTICE: [videoweed.py] find_videos #(http://embed.videoweed.*?)&#
19:16:11 T:804675584 M:115834880  NOTICE: [videozer.py] find_videos #(http\:\/\/(?:www\.)?videozer.com\/(?:(?:e/|embed/|flash/)|(?:(?:video/|f/)))?[a-zA-Z0-9]{4,8})#
19:16:11 T:804675584 M:115826688  NOTICE: [vidxden.py] find_videos #(http://www.vidxden.com/[A-Z0-9a-z]+/.*?html)#
19:16:11 T:804675584 M:115712000  NOTICE: [vk.py] find_videos #<iframe src="(http://[^\/]+\/video_ext.php[^"]+)"#
19:16:11 T:804675584 M:115712000  NOTICE: [vk.py] find_videos #(http\:\/\/vk.+?\/video_ext\.php[^"]+)"#
En un PC normal esto no es un problema, pero parece que a esa pequeña caja de cerillas de Apple le cuesta un poco buscar ese patrón :)

Como las páginas de tumejortv son especialmente grandes, de ahí que les cueste más trabajo de lo normal resolverlo. Y en todas las páginas tiene que estar afectando.

Re: El misterio de la velocidad de ejecución en ATV2

Publicado: 26 Sep 2011, 19:39
por neno1978
jesus escribió: 19:16:11 T:804675584 M:115834880 NOTICE: [videozer.py] find_videos #(http\:\/\/(?:www\.)?videozer.com\/(?:(?:e/|embed/|flash/)|(?:(?:video/|f/)))?[a-zA-Z0-9]{4,8})#
19:16:11 T:804675584 M:115826688 NOTICE: [vidxden.py] find_videos #(http://www.vidxden.com/[A-Z0-9a-z]+/.*?html)#
19:16:11 T:804675584 M:115712000 NOTICE: [vk.py] find_videos #<iframe src="(http://[^\/]+\/video_ext.php[^"]+)"#
19:16:11 T:804675584 M:115712000 NOTICE: [vk.py] find_videos #(http\:\/\/vk.+?\/video_ext\.php[^"]+)"#



En un PC normal esto no es un problema, pero parece que a esa pequeña caja de cerillas de Apple le cuesta un poco buscar ese patrón :)

Como las páginas de tumejortv son especialmente grandes, de ahí que les cueste más trabajo de lo normal resolverlo. Y en todas las páginas tiene que estar afectando.
jesus escribió:Hola a todos,

Creo que ya he resuelto el misterio de la velocidad de ejecución en ATV2, en ciertos canales como tumejortv. Si echais un vistazo a este log, donde se ve el proceso de buscar las URL de los vídeos en una de las páginas, veréis que hay una de StageVu que le cuesta una barbaridad resolverla. Casi un minuto:

Código: Seleccionar todo

19:15:12 T:804675584 M:115785728  NOTICE: [megavideo.py] find_videos #id.+?http://www.megavideo.com..v.(.+?)".+?(parte\d+)#
19:15:12 T:804675584 M:115785728  NOTICE: [megavideo.py] find_videos #<div[^>]+>([^<]+)<.*?<param name="movie" value="http://www.megavideo.com/v/([A-Z0-9a-z]{8})[^"]+"#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #<a href\="http\:\/\/www.megavideo.com/\?v\=([A-Z0-9a-z]{8})".*?>([^<]+)</a>#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #http\:\/\/www.megavideo.com/\?v\=([A-Z0-9a-z]{8})#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #<param name="movie" value="http://wwwstatic.megavideo.com/mv_player.swf\?v=([^"]+)">#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #www.megavideo.com.*?mv_player.swf.*?v(?:=|%3D)(\w{8})#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #http://www.megavideo.com/v/([A-Z0-9a-z]{8})#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #<a href="http://www.megavideo.com/\?v\=([^"]+)".*?>(.*?)</a>#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #<param name="movie" value=".*?v\=([A-Z0-9]{8})" />#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #src="http://wwwstatic.megavideo.com/mv_player.swf.*?\&v\=([^"]+)"#
19:15:15 T:804675584 M:115781632  NOTICE: [megavideo.py] find_videos #http://www.megavideo.com/\?d\=([A-Z0-9a-z]{8})#
19:15:15 T:804675584 M:115769344  NOTICE: [megaupload.py] find_videos #<a.*?href="http://www.megaupload.com/\?d=([A-Z0-9a-z]{8})".*?>(.*?)</a>#
19:15:15 T:804675584 M:115769344  NOTICE: [megaupload.py] find_videos #http\://www.megaupload.com/(?:es/)?\?.*?d\=([A-Z0-9a-z]{8})(?:[^>]*>([^<]+)</a>)?#
19:15:15 T:804675584 M:115769344  NOTICE:   titulo=[Megaupload]
19:15:15 T:804675584 M:115769344  NOTICE:   url=http://www.megaupload.com/?d=QBMOA4N3
19:15:15 T:804675584 M:115769344  NOTICE:   url duplicada=http://www.megaupload.com/?d=QBMOA4N3
19:15:15 T:804675584 M:115769344  NOTICE: [megaupload.py] find_videos #xrxa\("([A-Z0-9a-z]{8})=d\?/moc.daolpuagem.www//\:ptth"\)#
19:15:15 T:804675584 M:115769344  NOTICE: [megaupload.py] find_videos #http://www.megavideo.com/\?d\=([A-Z0-9a-z]{8})#
19:15:15 T:804675584 M:115765248  NOTICE: [directo.py] find_videos #(http://[a-zA-Z0-9]+\.mysites\.com\/get_file\/.*?\.mp4)#
19:15:15 T:804675584 M:115757056  NOTICE: [bliptv.py] find_videos #(http://blip.tv/play/[A-Z0-9a-z]+.html)#
19:15:15 T:804675584 M:115752960  NOTICE: [facebook.py] find_videos #www.facebook.com(?:/|%2F)v(?:/|%2F)(.*?)(?:&|%26)#
19:15:15 T:804675584 M:115752960  NOTICE: [facebook.py] find_videos #(http://video.ak.facebook.com/.*?\.mp4)#
19:15:15 T:804675584 M:115748864  NOTICE: [fourshared.py] find_videos #(http://www.4shared.com/embed/[A-Z0-9a-z]+/[A-Z0-9a-z]+)#
19:15:15 T:804675584 M:115748864  NOTICE: [fourshared.py] find_videos #"(http://www.4shared.com.*?)"#
19:15:15 T:804675584 M:115748864  NOTICE: [fourshared.py] find_videos #'(http://www.4shared.com.*?)'#
19:15:15 T:804675584 M:115744768  NOTICE: [googlevideo.py] find_videos #http://video.google.com/googleplayer.swf.*?docid=([0-9]+)#
19:15:15 T:804675584 M:115736576  NOTICE: [gigabyteupload.py] find_videos #<a href="(http://www.gigabyteupload.com/[^"]+)"#
19:15:15 T:804675584 M:115732480  NOTICE: [movshare.py] find_videos #"(http://www.movshare.net/video/[^"]+)"#
19:15:15 T:804675584 M:115732480  NOTICE: [movshare.py] find_videos #'(http://www.movshare.net/embed/[^']+)'#
19:15:15 T:804675584 M:115728384  NOTICE: [stagevu.py] find_videos #(http://stagevu.com/video/[A-Z0-9a-z]+)#
19:15:15 T:804675584 M:115728384  NOTICE: [stagevu.py] find_videos #http://stagevu.com.*?uid\=([A-Z0-9a-z]+)#
Aquí viene el problema...

Código: Seleccionar todo

19:15:15 T:804675584 M:115728384  NOTICE: [stagevu.py] find_videos #http://.*?.stagevu.com/v/.*?/(.*?).avi#
Y un minuto después sigue con su búsqueda

Código: Seleccionar todo

19:16:10 T:804675584 M:115990528  NOTICE: [tutv.py] find_videos #<param name="movie" value="(http://tu.tv[^"]+)"#
19:16:10 T:804675584 M:115859456  NOTICE: [tutv.py] find_videos #<param name="movie" value="(http://www.tu.tv[^"]+)"#
19:16:10 T:804675584 M:115859456  NOTICE: [tutv.py] find_videos #<embed src="(http://tu.tv/[^"]+)"#
19:16:10 T:804675584 M:115855360  NOTICE: [userporn.py] find_videos #userporn.com\/f\/([A-Z0-9a-z]{12}).swf#
19:16:11 T:804675584 M:115855360  NOTICE: [userporn.py] find_videos #userporn.com\/video\/([A-Z0-9a-z]{12})#
19:16:11 T:804675584 M:115855360  NOTICE: [userporn.py] find_videos #userporn.com\/e\/([A-Z0-9a-z]{12})#
19:16:11 T:804675584 M:115855360  NOTICE: [userporn.py] find_videos #(http\:\/\/(?:www\.)?userporn.com\/(?:(?:e/|flash/)|(?:(?:video/|f/)))?[a-zA-Z0-9]{0,12})#
19:16:11 T:804675584 M:115851264  NOTICE: [veoh.py] find_videos #"http://www.veoh.com/.*?permalinkId=([^"]+)"#
19:16:11 T:804675584 M:115851264  NOTICE: [veoh.py] find_videos #var embed_code[^>]+>   <param name="movie" value="http://www.veoh.com/static/swf/webplayer/WebPlayer.swf.*?permalinkId=(.*?)&player=videodetailsembedded&videoAutoPlay=0&id=anonymous"></param>#
19:16:11 T:804675584 M:115847168  NOTICE: [videobb.py] find_videos #(http\:\/\/(?:www\.)?videobb.com\/(?:(?:e/)|(?:(?:video/|f/)))?[a-zA-Z0-9]{12})#
19:16:11 T:804675584 M:115847168  NOTICE: [videobb.py] find_videos #(http\://www.videobb.com/watch_video.php\?v=[a-zA-Z0-9]{12})#
19:16:11 T:804675584 M:115843072  NOTICE: [videoweed.py] find_videos #(http://www.videoweed.[a-z]+/file/[a-zA-Z0-9]+)#
19:16:11 T:804675584 M:115838976  NOTICE: [videoweed.py] find_videos #(http://embed.videoweed.*?)&#
19:16:11 T:804675584 M:115834880  NOTICE: [videozer.py] find_videos #(http\:\/\/(?:www\.)?videozer.com\/(?:(?:e/|embed/|flash/)|(?:(?:video/|f/)))?[a-zA-Z0-9]{4,8})#
19:16:11 T:804675584 M:115826688  NOTICE: [vidxden.py] find_videos #(http://www.vidxden.com/[A-Z0-9a-z]+/.*?html)#
19:16:11 T:804675584 M:115712000  NOTICE: [vk.py] find_videos #<iframe src="(http://[^\/]+\/video_ext.php[^"]+)"#
19:16:11 T:804675584 M:115712000  NOTICE: [vk.py] find_videos #(http\:\/\/vk.+?\/video_ext\.php[^"]+)"#
En un PC normal esto no es un problema, pero parece que a esa pequeña caja de cerillas de Apple le cuesta un poco buscar ese patrón :)

Como las páginas de tumejortv son especialmente grandes, de ahí que les cueste más trabajo de lo normal resolverlo. Y en todas las páginas tiene que estar afectando.[/quote
Y sabes como se resuelve Jesús? Anda, di que si...;)

Re: El misterio de la velocidad de ejecución en ATV2

Publicado: 26 Sep 2011, 20:08
por blablableble
No soy Jesus, y no he tengo atv2 para probar, pero supongo que los recursos que consume la búsqueda son demasiados para el hardware que tiene.

No estoy seguro en que punto de la expresión regular hace que consuma tantos recursos pero en servers/stagevu.py en la linea 76 (del svn actual r762) sustituyendo

patronvideos = 'http://.*?.stagevu.com/v/.*?/(.*?).avi'

por
patronvideos = 'http://.*?.stagevu.com/v/[A-Z0-9a-z]*?/(.*?).avi'

(he googleado y creo que tienen ese formato los links, nunca he usado stagevu tampoco)

creo que quizas resuelve el problema, en caso contrario sera afinar aún más la expresión regular para que no tardase tanto.

En caso que no funcionase tambien se podrian cambiar substituir la siguiente linea

matches = re.compile(patronvideos,re.DOTALL).findall(data)

por

matches = re.compile(patronvideos).findall(data)



Saludos

Editado por cambio en la expresio regular.

Re: El misterio de la velocidad de ejecución en ATV2

Publicado: 28 Sep 2011, 01:44
por jesus
Al final he puesto esta, que tiene menos patrones "voraces" y parece correr bien en el ATV2.

http://[^\.]+\.stagevu.com/v/[^/]+/(.*?).avi

La verdad no se de donde saldría, así que no tengo forma de probarla :(

Gracias de todos modos.