def playVideo(link): page = helper.load_page(baseLink + urllib.unquote(link)) extractYouTubeId = re.compile( "<div data-youtube=\"(.*?)\" id=\"yt_video\">") youTubeInfo = extractYouTubeId.search(page) if youTubeInfo is not None: youTubeId = youTubeInfo.group(1) streamUrl = "plugin://plugin.video.youtube/?action=play_video&videoid=" + youTubeId helper.setResolvedUrl(streamUrl) else: #bitsontherun extractVideoId = re.compile( "<div id=\"container\" style=\"display: none;\"><script type=\"text/javascript\" src=\"(http://content.bitsontherun.com/players/.*?-.*?.js)\"></script></div>" ) videoInfo = extractVideoId.search(page) if videoInfo is not None: jsURL = videoInfo.group(1) bitsontherunJS = helper.load_page(jsURL) extractVideoUrl = re.compile( "botrObject.swf\(\n\t\".*?\",\n\t\".*?\",\n\t\".*?\",\n\t\"(.*?)\"," ) videoUrlInfo = extractVideoUrl.search(bitsontherunJS) videoUrl = videoUrlInfo.group(1) #videoUrl = videoUrl.replace("conversions/","http://v.jwpcdn.com/") helper.setResolvedUrl(videoUrl)
def playVideo(link): playlistLink = "http://www.nickjr.com/dynamo/video/data/mrssGen.jhtml?type=network&loc=sidebar&hub=njParentsHub&mode=playlist&mgid=mgid:cms:item:nickjr.com:" playlistLink = playlistLink + link page = helper.load_page(playlistLink, True) media = helper.extractMrss(page) player = media[0]['player'] link = media[0]['url'] response = urllib.urlopen(urllib.unquote(player)) mediaPlayer = response.geturl() page = helper.load_page(urllib.unquote(link)) extractRtmpUrls = re.compile( "<rendition.*?height=[\"\']+([0-9]*)[\"\']+.*?>[\n\ \t]*<src>(.*?)</src>[\n\ \t]*</rendition>" ) streamUrl = "" streamHeight = 0 for rtmpItem in extractRtmpUrls.finditer(page): if rtmpItem.group(1) > streamHeight: streamUrl = rtmpItem.group(2) streamUrl = streamUrl + " swfUrl=" + mediaPlayer + " swfVfy=1" helper.setResolvedUrl(streamUrl)
def playVideo(link): playlistLink = "http://www.nickjr.com/dynamo/video/data/mrssGen.jhtml?type=network&loc=sidebar&hub=njParentsHub&mode=playlist&mgid=mgid:cms:item:nickjr.com:" playlistLink = playlistLink+link page = helper.load_page(playlistLink,True) media = helper.extractMrss(page) player = media[0]['player'] link = media[0]['url'] response = urllib.urlopen(urllib.unquote(player)) mediaPlayer = response.geturl() page = helper.load_page(urllib.unquote(link)) extractRtmpUrls = re.compile("<rendition.*?height=[\"\']+([0-9]*)[\"\']+.*?>[\n\ \t]*<src>(.*?)</src>[\n\ \t]*</rendition>") streamUrl = "" streamHeight = 0 for rtmpItem in extractRtmpUrls.finditer(page): if rtmpItem.group(1)>streamHeight: streamUrl = rtmpItem.group(2) streamUrl = streamUrl + " swfUrl=" + mediaPlayer + " swfVfy=1" helper.setResolvedUrl(streamUrl)
def playVideo(mediaId): link = metaframeLink % (mediaId) page = helper.load_page(link) data = json.loads(page) streamUrl = data['videos']['limelight700']['uri'] helper.setResolvedUrl(streamUrl)
def playVideo(videoPlayer): stream = brightcovePlayer.play(const, playerID, videoPlayer, publisherID, playerKey) rtmpbase = stream[1][0:stream[1].find("&")] playpath = stream[1][stream[1].find("&") + 1:] finalurl = rtmpbase + ' playpath=' + playpath helper.setResolvedUrl(finalurl)
def playVideo(link): page = helper.load_page(urllib.unquote(link)) videoPlayer = re.compile("brightcove_mediaId: ([0-9]*),").search(page).group(1) stream = brightcovePlayer.play(const, playerID, videoPlayer, publisherID, playerKey) rtmpbase = stream[1][0:stream[1].find("&")] playpath = stream[1][stream[1].find("&") + 1:] finalurl = rtmpbase + ' playpath=' + playpath helper.setResolvedUrl(finalurl)
def playVideo(link): page = helper.load_page(link, True) #print page #http://cdnapi.kaltura.com//api_v3/index.php?service=multirequest&action=null&kalsig=98219f70556227be25075e61f0505fbf&1%3Aservice=session&3%3Aks=%7B1%3Aresult%3Aks%7D&2%3Aaction=get&ignoreNull=1&3%3Aservice=uiconf&1%3Aaction=startWidgetSession&2%3Aks=%7B1%3Aresult%3Aks%7D&3%3Aid=6607922&3%3Aaction=get&clientTag=kdp%3Av3%2E5%2E53%2Eb&1%3Aexpiry=86400&1%3AwidgetId=%5F628012&2%3Aservice=widget&2%3Aid=%5F628012 #http://cdnapi.kaltura.com//api_v3/index.php?service=multirequest&action=null&kalsig=b02f05c63e3bede1bb42077f37fb6b03&4%3Afilter%3AorderBy=%2BcreatedAt&4%3Afilter%3AobjectType=KalturaMetadataFilter&ks=YzRjYTUyNjI4ZDFjZjE1MDk2ZjZiZTgzMThiOGI1M2JmNDkxMmE3M3w2MjgwMTI7NjI4MDEyOzEzNDE0Njg3NTQ7MDsxMzQxMzgyMzU0LjEzNDk7MDt2aWV3Oio7Ow%3D%3D&3%3AcontextDataParams%3AstreamerType=auto&5%3Afilter%3AobjectType=KalturaCuePointFilter&1%3Aservice=baseentry&clientTag=kdp%3Av3%2E5%2E53%2Eb&4%3Afilter%3AobjectIdEqual=0%5Fm6d8wsry&4%3Afilter%3AmetadataObjectTypeEqual=1&4%3Aaction=list&ignoreNull=1&2%3Aservice=flavorasset&4%3Apager%3ApageSize=1&2%3Aaction=getWebPlayableByEntryId&2%3AentryId=0%5Fm6d8wsry&3%3AentryId=0%5Fm6d8wsry&5%3Aaction=list&1%3AentryId=0%5Fm6d8wsry&5%3Aservice=cuepoint%5Fcuepoint&1%3Aversion=%2D1&4%3Aservice=metadata%5Fmetadata&5%3Afilter%3AentryIdEqual=0%5Fm6d8wsry&1%3Aaction=get&3%3Aaction=getContextData&3%3AcontextDataParams%3AobjectType=KalturaEntryContextDataParams&3%3Aservice=baseentry&4%3Apager%3AobjectType=KalturaFilterPager #http://cdnapi.kaltura.com/index.php/partnerservices2/executeplaylist?uid=&format=8&partner_id=628012&subp_id=628012&playlist_id=0_l5kr39y0 #http://cdnapi.kaltura.com/p/628012/sp/628012/playManifest/entryId/0_m6d8wsry/format/rtmp/protocol/rtmp/cdnHost/vp.disney.go.com/player/latest//storageId/1252/ks/YzRjYTUyNjI4ZDFjZjE1MDk2ZjZiZTgzMThiOGI1M2JmNDkxMmE3M3w2MjgwMTI7NjI4MDEyOzEzNDE0Njg3NTQ7MDsxMzQxMzgyMzU0LjEzNDk7MDt2aWV3Oio7Ow==/uiConfId/6607922/a/a.f4m? #http://cdnapi.kaltura.com//api_v3/index.php?service=multirequest&action=null&kalsig=b02f05c63e3bede1bb42077f37fb6b03&4%3Afilter%3AobjectType=KalturaMetadataFilter&ks=YzRjYTUyNjI4ZDFjZjE1MDk2ZjZiZTgzMThiOGI1M2JmNDkxMmE3M3w2MjgwMTI7NjI4MDEyOzEzNDE0Njg3NTQ7MDsxMzQxMzgyMzU0LjEzNDk7MDt2aWV3Oio7Ow%3D%3D&4%3Apager%3ApageSize=1&4%3Afilter%3AmetadataObjectTypeEqual=1&4%3Afilter%3AobjectIdEqual=0%5Fm6d8wsry&4%3Afilter%3AorderBy=%2BcreatedAt&5%3Afilter%3AobjectType=KalturaCuePointFilter&1%3Aaction=get&clientTag=kdp%3Av3%2E5%2E53%2Eb&ignoreNull=1&5%3Aaction=list&3%3AcontextDataParams%3AstreamerType=auto&4%3Aaction=list&2%3Aaction=getWebPlayableByEntryId&1%3Aservice=baseentry&4%3Aservice=metadata%5Fmetadata&5%3Afilter%3AentryIdEqual=0%5Fm6d8wsry&3%3Aaction=getContextData&3%3AentryId=0%5Fm6d8wsry&3%3Aservice=baseentry&3%3AcontextDataParams%3AobjectType=KalturaEntryContextDataParams&1%3AentryId=0%5Fm6d8wsry&5%3Aservice=cuepoint%5Fcuepoint&4%3Apager%3AobjectType=KalturaFilterPager&1%3Aversion=%2D1&2%3Aservice=flavorasset&2%3AentryId=0%5Fm6d8wsry #http://cdnapi.kaltura.com/p/628012/sp/628012/playManifest/entryId/0_m6d8wsry/format/rtmp/protocol/rtmp/cdnHost/vp.disney.go.com/player/latest//storageId/1252/ks/YzRjYTUyNjI4ZDFjZjE1MDk2ZjZiZTgzMThiOGI1M2JmNDkxMmE3M3w2MjgwMTI7NjI4MDEyOzEzNDE0Njg3NTQ7MDsxMzQxMzgyMzU0LjEzNDk7MDt2aWV3Oio7Ow==/uiConfId/6607922/a/a.f4m? #var tilePackVars = { configXMLPath: "http://disney.go.com/disneyjunior/data/videoConfig?cid=1944089" }; extractId = re.compile( "\{ configXMLPath: \"http://disney.go.com/disneyjunior/data/videoConfig\?cid=([0-9]*)\" \}" ).search(page) if extractId is not None: playlistLink = "http://disney.go.com/disneyjunior/data/videoPlaylist?cid=" + extractId.group( 1) xmlPage = helper.load_page(playlistLink) xmlPage = xmlPage.replace(" & ", " & ") xmlDom = minidom.parseString(xmlPage) playChapter = xmlDom.getElementsByTagName("chapter")[0] for chapter in xmlDom.getElementsByTagName("chapter"): if chapter.getAttribute("playFirst") == "true": playChapter = chapter playerItem = xbmcgui.ListItem(playChapter.getAttribute("title")) playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO) playlist.clear() for video in playChapter.getElementsByTagName("video"): streamUrl = video.getAttribute("streamurl") app = " app=" + streamUrl[streamUrl.find("/", 8) + 1:] flashVer = " flashver=WIN%2010,3,181,26" #flashVer = "" swfUrl = " swfUrl=http://a.dolimg.com/en-US/disneyjunior/swf/videoplayerShell_MPF.swf swfVfy=1" pageUrl = " pageUrl=" + link playpath = " playpath=" + video.getAttribute("progurl") streamUrl = streamUrl[:streamUrl.find( "/", 8)] + swfUrl + app + pageUrl + flashVer + playpath print streamUrl helper.setResolvedUrl(streamUrl) #return False listItem = xbmcgui.ListItem(streamUrl, path=streamUrl) #listItem.setProperty("PlayPath", streamUrl); listItem.setProperty('IsPlayable', 'true') playlist.add(url=streamUrl, listitem=listItem) player = xbmc.Player() player.play(playlist, playerItem) return False
def playVideo(link): page = helper.load_page(urllib.unquote(link)) videoPlayer = ( re.compile('<input type="hidden" name="asset-id" value="([0-9]*)" id="asset-id" />').search(page).group(1) ) stream = brightcovePlayer.play(const, playerID, videoPlayer, publisherID, playerKey) rtmpbase = stream[1][0 : stream[1].find("&")] playpath = stream[1][stream[1].find("&") + 1 :] finalurl = rtmpbase + " playpath=" + playpath helper.setResolvedUrl(finalurl)
def playVideo(link): page = helper.load_page(urllib.unquote(link)) videoPlayer = re.compile( "<input type=\"hidden\" name=\"asset-id\" value=\"([0-9]*)\" id=\"asset-id\" />" ).search(page).group(1) stream = brightcovePlayer.play(const, playerID, videoPlayer, publisherID, playerKey) rtmpbase = stream[1][0:stream[1].find("&")] playpath = stream[1][stream[1].find("&") + 1:] finalurl = rtmpbase + ' playpath=' + playpath helper.setResolvedUrl(finalurl)
def playVideo(link): page = helper.load_page(link,True) #print page #http://cdnapi.kaltura.com//api_v3/index.php?service=multirequest&action=null&kalsig=98219f70556227be25075e61f0505fbf&1%3Aservice=session&3%3Aks=%7B1%3Aresult%3Aks%7D&2%3Aaction=get&ignoreNull=1&3%3Aservice=uiconf&1%3Aaction=startWidgetSession&2%3Aks=%7B1%3Aresult%3Aks%7D&3%3Aid=6607922&3%3Aaction=get&clientTag=kdp%3Av3%2E5%2E53%2Eb&1%3Aexpiry=86400&1%3AwidgetId=%5F628012&2%3Aservice=widget&2%3Aid=%5F628012 #http://cdnapi.kaltura.com//api_v3/index.php?service=multirequest&action=null&kalsig=b02f05c63e3bede1bb42077f37fb6b03&4%3Afilter%3AorderBy=%2BcreatedAt&4%3Afilter%3AobjectType=KalturaMetadataFilter&ks=YzRjYTUyNjI4ZDFjZjE1MDk2ZjZiZTgzMThiOGI1M2JmNDkxMmE3M3w2MjgwMTI7NjI4MDEyOzEzNDE0Njg3NTQ7MDsxMzQxMzgyMzU0LjEzNDk7MDt2aWV3Oio7Ow%3D%3D&3%3AcontextDataParams%3AstreamerType=auto&5%3Afilter%3AobjectType=KalturaCuePointFilter&1%3Aservice=baseentry&clientTag=kdp%3Av3%2E5%2E53%2Eb&4%3Afilter%3AobjectIdEqual=0%5Fm6d8wsry&4%3Afilter%3AmetadataObjectTypeEqual=1&4%3Aaction=list&ignoreNull=1&2%3Aservice=flavorasset&4%3Apager%3ApageSize=1&2%3Aaction=getWebPlayableByEntryId&2%3AentryId=0%5Fm6d8wsry&3%3AentryId=0%5Fm6d8wsry&5%3Aaction=list&1%3AentryId=0%5Fm6d8wsry&5%3Aservice=cuepoint%5Fcuepoint&1%3Aversion=%2D1&4%3Aservice=metadata%5Fmetadata&5%3Afilter%3AentryIdEqual=0%5Fm6d8wsry&1%3Aaction=get&3%3Aaction=getContextData&3%3AcontextDataParams%3AobjectType=KalturaEntryContextDataParams&3%3Aservice=baseentry&4%3Apager%3AobjectType=KalturaFilterPager #http://cdnapi.kaltura.com/index.php/partnerservices2/executeplaylist?uid=&format=8&partner_id=628012&subp_id=628012&playlist_id=0_l5kr39y0 #http://cdnapi.kaltura.com/p/628012/sp/628012/playManifest/entryId/0_m6d8wsry/format/rtmp/protocol/rtmp/cdnHost/vp.disney.go.com/player/latest//storageId/1252/ks/YzRjYTUyNjI4ZDFjZjE1MDk2ZjZiZTgzMThiOGI1M2JmNDkxMmE3M3w2MjgwMTI7NjI4MDEyOzEzNDE0Njg3NTQ7MDsxMzQxMzgyMzU0LjEzNDk7MDt2aWV3Oio7Ow==/uiConfId/6607922/a/a.f4m? #http://cdnapi.kaltura.com//api_v3/index.php?service=multirequest&action=null&kalsig=b02f05c63e3bede1bb42077f37fb6b03&4%3Afilter%3AobjectType=KalturaMetadataFilter&ks=YzRjYTUyNjI4ZDFjZjE1MDk2ZjZiZTgzMThiOGI1M2JmNDkxMmE3M3w2MjgwMTI7NjI4MDEyOzEzNDE0Njg3NTQ7MDsxMzQxMzgyMzU0LjEzNDk7MDt2aWV3Oio7Ow%3D%3D&4%3Apager%3ApageSize=1&4%3Afilter%3AmetadataObjectTypeEqual=1&4%3Afilter%3AobjectIdEqual=0%5Fm6d8wsry&4%3Afilter%3AorderBy=%2BcreatedAt&5%3Afilter%3AobjectType=KalturaCuePointFilter&1%3Aaction=get&clientTag=kdp%3Av3%2E5%2E53%2Eb&ignoreNull=1&5%3Aaction=list&3%3AcontextDataParams%3AstreamerType=auto&4%3Aaction=list&2%3Aaction=getWebPlayableByEntryId&1%3Aservice=baseentry&4%3Aservice=metadata%5Fmetadata&5%3Afilter%3AentryIdEqual=0%5Fm6d8wsry&3%3Aaction=getContextData&3%3AentryId=0%5Fm6d8wsry&3%3Aservice=baseentry&3%3AcontextDataParams%3AobjectType=KalturaEntryContextDataParams&1%3AentryId=0%5Fm6d8wsry&5%3Aservice=cuepoint%5Fcuepoint&4%3Apager%3AobjectType=KalturaFilterPager&1%3Aversion=%2D1&2%3Aservice=flavorasset&2%3AentryId=0%5Fm6d8wsry #http://cdnapi.kaltura.com/p/628012/sp/628012/playManifest/entryId/0_m6d8wsry/format/rtmp/protocol/rtmp/cdnHost/vp.disney.go.com/player/latest//storageId/1252/ks/YzRjYTUyNjI4ZDFjZjE1MDk2ZjZiZTgzMThiOGI1M2JmNDkxMmE3M3w2MjgwMTI7NjI4MDEyOzEzNDE0Njg3NTQ7MDsxMzQxMzgyMzU0LjEzNDk7MDt2aWV3Oio7Ow==/uiConfId/6607922/a/a.f4m? #var tilePackVars = { configXMLPath: "http://disney.go.com/disneyjunior/data/videoConfig?cid=1944089" }; extractId = re.compile("\{ configXMLPath: \"http://disney.go.com/disneyjunior/data/videoConfig\?cid=([0-9]*)\" \}").search(page) if extractId is not None: playlistLink = "http://disney.go.com/disneyjunior/data/videoPlaylist?cid="+extractId.group(1) xmlPage = helper.load_page(playlistLink) xmlPage = xmlPage.replace(" & "," & ") xmlDom = minidom.parseString(xmlPage) playChapter = xmlDom.getElementsByTagName("chapter")[0] for chapter in xmlDom.getElementsByTagName("chapter"): if chapter.getAttribute("playFirst") == "true": playChapter = chapter playerItem = xbmcgui.ListItem(playChapter.getAttribute("title")) playlist = xbmc.PlayList(xbmc.PLAYLIST_VIDEO); playlist.clear(); for video in playChapter.getElementsByTagName("video"): streamUrl = video.getAttribute("streamurl") app = " app="+streamUrl[streamUrl.find("/",8)+1:] flashVer = " flashver=WIN%2010,3,181,26" #flashVer = "" swfUrl = " swfUrl=http://a.dolimg.com/en-US/disneyjunior/swf/videoplayerShell_MPF.swf swfVfy=1" pageUrl = " pageUrl="+link playpath = " playpath="+video.getAttribute("progurl") streamUrl = streamUrl[:streamUrl.find("/",8)] + swfUrl + app + pageUrl + flashVer + playpath print streamUrl helper.setResolvedUrl(streamUrl) #return False listItem = xbmcgui.ListItem(streamUrl, path=streamUrl); #listItem.setProperty("PlayPath", streamUrl); listItem.setProperty('IsPlayable', 'true') playlist.add(url=streamUrl, listitem=listItem) player = xbmc.Player() player.play(playlist, playerItem) return False
def playVideo(link): streamUrl = helper.load_page(link, True, getRedirect=True) if not streamUrl == link: streamUrl = streamUrl.replace("<break>", " playpath=MP4:") else: streamPage = helper.load_page(link, True) extractUrl = re.compile("<url>(.*?)</url>") streamUrl = extractUrl.search(streamPage).group(1) streamUrl = streamUrl.replace("<", "<") streamUrl = streamUrl.replace(">", ">") streamUrl = streamUrl.replace("&", "&") streamUrl = streamUrl.replace("<break>", " playpath=") helper.setResolvedUrl(streamUrl)
def playVideo(link): page = helper.load_page(baseLink + urllib.unquote(link)) extractYouTubeId = re.compile( "<div data-youtube=\"(.*?)\" id=\"yt_video\">") youTubeInfo = extractYouTubeId.search(page) if youTubeInfo is not None: youTubeId = youTubeInfo.group(1) streamUrl = "plugin://plugin.video.youtube/?action=play_video&videoid=" + youTubeId helper.setResolvedUrl(streamUrl) else: const = "07e6acedf6c0f426a377e5b3ba077229e6e826f9" publisherID = "1521649306001" extractVideo = re.compile( "<param name=\"playerID\" value=\"([0-9]*)\".*?name=\"playerKey\" value=\"(.*?)\".*name=\"@videoPlayer\" value=\"([0-9]*)\"" ) video = extractVideo.search(page) playerID = video.group(1) playerKey = video.group(2) videoPlayer = video.group(3) stream = brightcovePlayer.play(const, playerID, videoPlayer, publisherID, playerKey) vidStr = "?videoId=" + videoPlayer + "&lineUpId=&pubId=" + publisherID + "&playerId=" + playerID + "&affiliateId=" rtmpbase = stream[1][0:stream[1].find("&")] conn = stream[1][stream[1].find("&") + 1:] playpath = conn[0:conn.find("&")] + vidStr app = rtmpbase[rtmpbase.find("/", 7) + 1:-1] + vidStr finalurl = rtmpbase + ' playpath=' + playpath + " conn=B:0 conn=S:" + conn + " app=" + app helper.setResolvedUrl(finalurl)
def playVideo(link): page = helper.load_page(baseLink + urllib.unquote(link)) extractYouTubeId = re.compile('<div data-youtube="(.*?)" id="yt_video">') youTubeInfo = extractYouTubeId.search(page) if youTubeInfo is not None: youTubeId = youTubeInfo.group(1) streamUrl = "plugin://plugin.video.youtube/?action=play_video&videoid=" + youTubeId helper.setResolvedUrl(streamUrl) else: const = "07e6acedf6c0f426a377e5b3ba077229e6e826f9" publisherID = "1521649306001" extractVideo = re.compile( '<param name="playerID" value="([0-9]*)".*?name="playerKey" value="(.*?)".*name="@videoPlayer" value="([0-9]*)"' ) video = extractVideo.search(page) playerID = video.group(1) playerKey = video.group(2) videoPlayer = video.group(3) stream = brightcovePlayer.play(const, playerID, videoPlayer, publisherID, playerKey) vidStr = ( "?videoId=" + videoPlayer + "&lineUpId=&pubId=" + publisherID + "&playerId=" + playerID + "&affiliateId=" ) rtmpbase = stream[1][0 : stream[1].find("&")] conn = stream[1][stream[1].find("&") + 1 :] playpath = conn[0 : conn.find("&")] + vidStr app = rtmpbase[rtmpbase.find("/", 7) + 1 : -1] + vidStr finalurl = rtmpbase + " playpath=" + playpath + " conn=B:0 conn=S:" + conn + " app=" + app helper.setResolvedUrl(finalurl)
def playVideo(link): page = helper.load_page(baseLink + urllib.unquote(link)) extractYouTubeId = re.compile("<div data-youtube=\"(.*?)\" id=\"yt_video\">") youTubeInfo = extractYouTubeId.search(page) if youTubeInfo is not None: youTubeId = youTubeInfo.group(1) streamUrl = "plugin://plugin.video.youtube/?action=play_video&videoid=" + youTubeId helper.setResolvedUrl(streamUrl) else: #bitsontherun extractVideoId = re.compile("<div id=\"container\" style=\"display: none;\"><script type=\"text/javascript\" src=\"(http://content.bitsontherun.com/players/.*?-.*?.js)\"></script></div>") videoInfo = extractVideoId.search(page) if videoInfo is not None: jsURL = videoInfo.group(1) bitsontherunJS = helper.load_page(jsURL) extractVideoUrl = re.compile("botrObject.swf\(\n\t\".*?\",\n\t\".*?\",\n\t\".*?\",\n\t\"(.*?)\",") videoUrlInfo = extractVideoUrl.search(bitsontherunJS) videoUrl = videoUrlInfo.group(1); #videoUrl = videoUrl.replace("conversions/","http://v.jwpcdn.com/") helper.setResolvedUrl(videoUrl)
def playVideo(link): helper.setResolvedUrl(urllib.unquote(link))
def playVideo(youTubeId): streamUrl = "plugin://plugin.video.youtube/?action=play_video&videoid=" + youTubeId helper.setResolvedUrl(streamUrl)