The branch, frodo has been updated via 2d852e9d0ea267ea30dc3aad1d44de8e7c1631ed (commit) from f8d6fcf3ca0f2ac84b50001ffd0443bbb540651a (commit)
- Log ----------------------------------------------------------------- http://xbmc.git.sourceforge.net/git/gitweb.cgi?p=xbmc/plugins;a=commit;h=2d852e9d0ea267ea30dc3aad1d44de8e7c1631ed commit 2d852e9d0ea267ea30dc3aad1d44de8e7c1631ed Author: sphere <sph...@dersphere.de> Date: Tue Mar 18 08:29:18 2014 +0100 [plugin.video.si] updated to version 1.4.0 diff --git a/plugin.video.si/README.txt b/plugin.video.si/README.txt index 3555cbd..5c74cef 100644 --- a/plugin.video.si/README.txt +++ b/plugin.video.si/README.txt @@ -11,3 +11,5 @@ version 1.1.1 minor changes to addon.xml description version 1.2.1 added 720p support for most videos where available - defaults to SD, use addon config to set HD version 1.3.1 added missing script.module.pyamf in addon.xml + +version 1.4.0 fixed 720/540 rtmp streaming replacing http: .m3u8 diff --git a/plugin.video.si/addon.xml b/plugin.video.si/addon.xml index 649827a..8268bd9 100644 --- a/plugin.video.si/addon.xml +++ b/plugin.video.si/addon.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8" standalone="yes"?> <addon id="plugin.video.si" name="Sports Illustrated" - version="1.3.1" + version="1.4.0" provider-name="t1m"> <requires> <import addon="xbmc.python" version="2.1.0"/> @@ -18,9 +18,9 @@ <platform>all</platform> <language>en</language> <license>GNU GENERAL PUBLIC LICENSE. Version 2, June 1991</license> - <forum></forum> - <website></website> + <forum>http://forum.xbmc.org/showthread.php?tid=179781</forum> + <website>http://www.si.com</website> <email></email> - <source></source> + <source>https://github.com/learningit/plugin.video.si</source> </extension> </addon> diff --git a/plugin.video.si/changelog.txt b/plugin.video.si/changelog.txt index e2846e3..a8126e5 100644 --- a/plugin.video.si/changelog.txt +++ b/plugin.video.si/changelog.txt @@ -1,3 +1,5 @@ +version 1.4.0 fixed 720/540 rtmp streaming replacing http: .m3u8 + version 1.3.1 added missing script.module.pyamf in addon.xml version 1.2.1 added 720p support for most videos where available - defaults to SD, use addon config to set HD diff --git a/plugin.video.si/default.py b/plugin.video.si/default.py index 04f62fe..9977e1b 100644 --- a/plugin.video.si/default.py +++ b/plugin.video.si/default.py @@ -94,7 +94,8 @@ def getRequest(url): def getSources(): - Choices = [["Most Recent","","SI"], + Choices = [ + ["Most Recent","","SI"], ["NFL","nfl",""], ["College Football","ncaaf_video",""], ["MLB","mlb",""], @@ -106,13 +107,14 @@ def getSources(): ["Soccer","soccer",""], ["MMA & Boxing","boxing",""], ["Tennis","tennis",""], - ["More Sports","video",""], + ["More Sports","si_video",""], ["Swim Daily","swimdaily",""], ["Game Room","gameroom",""], ["Fantasy","fantasy",""], ["High School","highschool",""], [" SI Now","si_now_fullshow","SI"], - [" Pro Football Now","profootballnow_fullshow","SI"]] + [" Pro Football Now","profootballnow_fullshow","SI"] + ] for pname, pcode, pchoice in Choices: addDir(pname,pchoice+'#'+pcode,21,icon,fanart,pname,GENRE_SPORTS,"",False) @@ -131,7 +133,7 @@ def getCategory(Category_url): log("main page") pchoice, pcode = Category_url.split('#') if pchoice == "SI": - Category_url = "http://sportsillustrated.cnn.com/.element/auto/4.1/video/page/si_"+pcode+"_video_page.json?format=jsonp&callback=siVideoPage.load" + Category_url = "http://sportsillustrated.cnn.com/.element/auto/4.1/video/page/si_"+pcode+"_video_page.json?format=jsonp&callback=siVideoPage.load&_="+str(int(round(time.time() * 1000))) link = getRequest(Category_url) match = re.compile('\{.+?"brightcoveId":"(.+?)".+?"createdDate":"(.+?)".+?"slug":"(.+?)".+?"headline":"(.+?)".+?"description":"(.+?)".+?"images":\["(.+?)".+?\}').findall(link) for pid, pdate, pslug, pname, pdesc, pimage in match: @@ -217,32 +219,22 @@ def play_video(video_url): # use 'IOSRenditions' in place of 'renditions' in below for .m3u8 list, note case of 'r' in renditions, using 'renditions' gives you rtmp links - stored_size=stored_height = 0 - for item in sorted(renditions['programmedContent']['videoPlayer']['mediaDTO']['renditions'], key = lambda item:item['frameHeight'], reverse = False): + if (addon.getSetting('vid_res') == "1"): + stored_size=stored_height = 0 + for item in sorted(renditions['programmedContent']['videoPlayer']['mediaDTO']['renditions'], key = lambda item:item['frameHeight'], reverse = False): stream_size = item['size'] stream_height = item['frameHeight'] - if (int(stream_size) > stored_size): + if (int(stream_size) > stored_size) and (int(item['encodingRate']) < 4000000): finalurl = item['defaultURL'] stored_size = stream_size stored_height = stream_height -#this is a kludge because I can't get some rtmps to play, so use the IOS .m3u8 list if it exists (the ones with IOSRenditions don't play rtmp correctly) - - if (stored_height == 720) and (addon.getSetting('vid_res') == "1") and ("&mp4:23/" in finalurl): - match = re.compile('&mp4:(.+?)\?').findall(finalurl) - for x in match: - finalurl = "http://brightcove04.brightcove.com/"+x + if 'llnwd.net' not in finalurl: # using edgefcs then + (server,ppath)= finalurl.split('/&',1) + app = ppath.split('?',1)[1] + finalurl = server+'?'+app+' playpath='+ppath+' swfUrl='+swf_url+' timeout=30 pageUrl='+page_url else: - stored_size = 0 - for item in sorted(renditions['programmedContent']['videoPlayer']['mediaDTO']['IOSRenditions'], key = lambda item:item['frameHeight'], reverse = False): - stream_size = item['size'] - if (int(stream_size) > stored_size): - finalurl = item['defaultURL'] - stored_size = stream_size - -# finalurl = finalurl.replace('.mp4?','.mp4&') # this needs work where the app, playpath, wierdqs split doesn't work right below - - if "rtmp:" in finalurl: +## finalurl = finalurl.replace('.mp4?','.mp4&') # this needs work where the app, playpath, wierdqs split doesn't work right below app, playpath, wierdqs = finalurl.split("&", 2) qs = "?videoId=%s&lineUpId=&pubId=%s&playerId=%s&affiliateId=" % (video_content_id, publisher_id, video_player_id) scheme,netloc = app.split("://") @@ -252,8 +244,7 @@ def play_video(video_url): tcurl = "%s://%s:1935/%s" % (scheme, netloc, app) log("TCURL:%s" % (tcurl,)) finalurl = "%s tcUrl=%s app=%s playpath=%s%s swfUrl=%s conn=B:0 conn=S:%s&%s" % (tcurl,tcurl, app, playpath, qs, swf_url, playpath, wierdqs) - log("final rtmp: url =%s" % (finalurl,)) - + log("final rtmp: url =%s" % (finalurl,)) xbmcplugin.setResolvedUrl(int(sys.argv[1]), True, xbmcgui.ListItem(path = finalurl)) diff --git a/plugin.video.si/resources/settings.xml b/plugin.video.si/resources/settings.xml index 84c5c4a..3b57f1e 100644 --- a/plugin.video.si/resources/settings.xml +++ b/plugin.video.si/resources/settings.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="utf-8" standalone="yes"?> <settings> <category label="30000"> - <setting id="vid_res" type="enum" label="30002" values="SD | HD" default="0" /> + <setting id="vid_res" type="enum" label="30002" values="SD | HD" default="1" /> </category> </settings> \ No newline at end of file ----------------------------------------------------------------------- Summary of changes: plugin.video.si/README.txt | 2 + plugin.video.si/addon.xml | 8 ++-- plugin.video.si/changelog.txt | 2 + plugin.video.si/default.py | 41 ++++++++------------ .../language/{english => English}/strings.xml | 3 +- plugin.video.si/resources/settings.xml | 2 +- 6 files changed, 26 insertions(+), 32 deletions(-) rename plugin.video.si/resources/language/{english => English}/strings.xml (71%) hooks/post-receive -- Plugins ------------------------------------------------------------------------------ Learn Graph Databases - Download FREE O'Reilly Book "Graph Databases" is the definitive new guide to graph databases and their applications. Written by three acclaimed leaders in the field, this first edition is now available. Download your free book today! http://p.sf.net/sfu/13534_NeoTech _______________________________________________ Xbmc-addons mailing list Xbmc-addons@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xbmc-addons