Feature #1966
rtmp redirect
Status: | Fixed | Start date: | 02/11/2014 | |
---|---|---|---|---|
Priority: | Normal | Due date: | ||
Assignee: | % Done: | 100% | ||
Category: | Video playback | |||
Target version: | 4.10 |
Description
Hi i use this to make a request to add redirects on rtmp, because now it isn't following redirections.
Here is the probe:
..Az.....mm>-.........c........connect.?..........app...redirect..swfUrl..http://cdn.iguide.to/player/secure_player_iguide_embed_token.swf..tcUrl...rtmp://live2.iguide.to/redirect..fpad....capabilities.
[email protected]@o.......
videoFunction.?.........pag.eUrl..http://www.iguide.to/embedplayer_new.php?width=650&height=400&channel=11099&autoplay=true................&%..............&%..................................................._error.?...........level...error..code...NetConnection.Connect.Rejected..description..3Connection failed: Application rejected connection...ex...redirect... rtmp://50.7.181.90/iguide
Related issues
Associated revisions
Add support for RTMP redirects
Fixes #1966
History
#1
Updated by Leonid Protasov over 8 years ago
What is the link/site you are trying to play?
#2
Updated by Pedro Olivas over 8 years ago
Any channel from that page, www.iguide.to, i can get the ip with wireshark or URLHelper,but that's not the point, i wan't to get the ip automatically scraping the channel page, but that redirect is a problem in showtime.
I do that because some sites, like freelivetv.tv or flashstreaming.mobi, creates a unique token by IP, and who gets the real rtmp link, can see that channel, others can't see the channel.
In the future, maybe iguide.to can do the same thing and with this we make sure all can see those channels, because it generates aleatoris IP by users.
soz my bad english.
#3
Updated by Leonid Protasov over 8 years ago
Is this still reproducible?
#4
Updated by Leonid Protasov about 8 years ago
- Related to Bug #2156: "Closing connection: NetStream.Play.StreamNotFound" on some RTMP streams (All platforms) (RTMP client update) added
#5
Updated by Leonid Protasov about 8 years ago
- Target version set to 4.8
#6
Updated by Leonid Protasov about 8 years ago
On view-source:http://www.iguide.to/view/1/watch-live-HBO-channel-for-free
I see:
function setStream(token) { jwplayer("dplayer").setup({ id: 'dplayer', flashplayer: "http://www.iguide.to/player/secure_player_iguide_token.swf", provider: "rtmp", 'rtmp.tunneling':false, streamer: "rtmp://live1.iguide.to/redirect", file: "0bf02qe6msgtu4s.flv", bufferLength: "0.1", autostart: "true", controlbar: "bottom", height: '100%', width: '100%' }); }
So how do you construct URL yo paste in Showtime from this?
#7
Updated by Leonid Protasov about 8 years ago
In google I see some links like:
rtmp://$OPT:rtmp-raw=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve
#8
Updated by Leonid Protasov about 8 years ago
Well after some experiments with working RTMP links I figured out that to connect the link via Showtime you need to omit "rtmp://$OPT:rtmp-raw=" but anyway there's is something that avoids Showtime to play the stream. Also it tries to resume from 0,00:
navigator [INFO]: Opening rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve vp [DEBUG]: Waiting for event vp [DEBUG]: Playing 'rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve', primary, attempt-resume media [DEBUG]: Settings initialized for URL rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve in folder: <unset> [<unset>] kvstore [DEBUG]: GET DB url=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve key=vzoom domain=4 value=UNSET kvstore [DEBUG]: GET DB url=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve key=hstretch domain=4 value=UNSET kvstore [DEBUG]: GET DB url=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve key=fstretch domain=4 value=UNSET kvstore [DEBUG]: GET DB url=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve key=vinterpolate domain=4 value=UNSET kvstore [DEBUG]: GET DB url=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve key=audiovolume domain=4 value=UNSET kvstore [DEBUG]: GET DB url=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve key=avdelta domain=4 value=UNSET kvstore [DEBUG]: GET DB url=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve key=svdelta domain=4 value=UNSET SVSYNC [DEBUG]: Set to 0s kvstore [DEBUG]: GET DB url=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve key=subscale domain=4 value=UNSET kvstore [DEBUG]: GET DB url=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve key=subalign domain=4 value=UNSET kvstore [DEBUG]: GET DB url=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve key=subvdisplace domain=4 value=UNSET kvstore [DEBUG]: GET DB url=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve key=subhdisplace domain=4 value=UNSET AVSYNC [DEBUG]: Set to 0 ms kvstore [DEBUG]: GET DB url=rtmp://50.7.133.98:1935/iguide playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve key=restartposition domain=1 value=UNSET RTMP [DEBUG]: Attempting to resume from 0,00 seconds vp [DEBUG]: Waiting for event
#9
Updated by Pedro Olivas about 8 years ago
Leonid Protasov wrote:
In google I see some links like:
[...]
Yes but that is for SimpleTV..
look ive got this:
var Canl = unescape(url); var PRed = /\'file\': \'(.*?)\.flv/ var Prt = /\'streamer\': \'(.*?)\',/ var Ptt = /getJSON\("(.*?)"/ var reEn = /V1ZW/ var ENC = reEn.test(Canl); if (ENC == true) { var utftext = Base64.decode(Canl); utftext = Base64.decode(utftext); utftext = Base64.decode(utftext); Canl = Base64.decode(utftext); } var URR = showtime.httpReq(Canl); var Sourcee = URR.toString(); var Vacio = []; var regex = new RegExp("This channel is domain protected"); var Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://latelete.com/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://pontucanal.net/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://revolucionariostv.com/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://limaenvivo.com/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://k2deportes1.blogspot.com.es/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://canhome1a.blogspot.com/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://verdirectotv.com/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.message('Canal protegido por dominio, contacta con dj_d2 para solucionarlo. \n Gracias.', true, false); page.error("Error de proteccion de dominio."); } } } } } } } } showtime.print(Sourcee) var IID = Ptt.exec(Sourcee) var rToken = /:"(.*?)"/ var reTokn = showtime.httpReq(IID[1], { debug: false, noFollow: 1, headers: { 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:22.0) Gecko/20100101 Firefox/22.0', 'Referer': Canl } }).toString(); var Tkn = rToken.exec(reTokn); var PAKO = PRed.exec(Sourcee); var RTMPL = Prt.exec(Sourcee); var LinkVideo = "rtmp://50.7.181.90/iguide" + " playpath=" + PAKO[1] + " live=1 swfUrl=http://cdn.iguide.to/player/secure_player_iguide_embed_token.swf pageUrl=http://www.iguide.to/embedplayer_new.php? width=650&height=400&channel=11099&autoplay=true token=" + Tkn[1] url = LinkVideo
with that y get this rtmp://live2.iguide.to/redirect playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve
and on the code y changed that (rtmp://live2.iguide.to/redirect) with rtmp://50.7.181.90/iguide, with this i can play those channels, but its the redirect that doesn't work...
soz my bad english
#10
Updated by Pedro Olivas about 8 years ago
Leonid Protasov wrote:
In google I see some links like:
[...]
Yes but that is for SimpleTV..
look ive got this:
var Canl = unescape(url); var PRed = /\'file\': \'(.*?)\.flv/ var Prt = /\'streamer\': \'(.*?)\',/ var Ptt = /getJSON\("(.*?)"/ var reEn = /V1ZW/ var ENC = reEn.test(Canl); if (ENC == true) { var utftext = Base64.decode(Canl); utftext = Base64.decode(utftext); utftext = Base64.decode(utftext); Canl = Base64.decode(utftext); } var URR = showtime.httpReq(Canl); var Sourcee = URR.toString(); var Vacio = []; var regex = new RegExp("This channel is domain protected"); var Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://latelete.com/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://pontucanal.net/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://revolucionariostv.com/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://limaenvivo.com/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://k2deportes1.blogspot.com.es/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://canhome1a.blogspot.com/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.trace("sigue protegido"); URR = showtime.httpReq(Canl, { headers: { 'User-agent' : 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:26.0) Gecko/20100101 Firefox/26.0', 'Referer' : 'http://verdirectotv.com/' } }); Sourcee = URR.toString(); Pepa = regex.test(Sourcee); if (Pepa == false) { showtime.trace("Saltada la proteccion"); } else { showtime.message('Canal protegido por dominio, contacta con dj_d2 para solucionarlo. \n Gracias.', true, false); page.error("Error de proteccion de dominio."); } } } } } } } } showtime.print(Sourcee) var IID = Ptt.exec(Sourcee) var rToken = /:"(.*?)"/ var reTokn = showtime.httpReq(IID[1], { debug: false, noFollow: 1, headers: { 'User-Agent': 'Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:22.0) Gecko/20100101 Firefox/22.0', 'Referer': Canl } }).toString(); var Tkn = rToken.exec(reTokn); var PAKO = PRed.exec(Sourcee); var RTMPL = Prt.exec(Sourcee); var LinkVideo = "rtmp://50.7.181.90/iguide" + " playpath=" + PAKO[1] + " live=1 swfUrl=http://cdn.iguide.to/player/secure_player_iguide_embed_token.swf pageUrl=http://www.iguide.to/embedplayer_new.php? width=650&height=400&channel=11099&autoplay=true token=" + Tkn[1] url = LinkVideo
with that y get somthing like this:
rtmp://live2.iguide.to/redirect playpath=vqt0i4ql3h204sg swfUrl=http://www.iguide.to/player/secure_player_iguide_token.swf live=1 pageUrl=http://www.iguide.to/ token=#ed%h0#w18623jsda6523lDGDve
and on the code y changed that (rtmp://live2.iguide.to/redirect) with rtmp://50.7.181.90/iguide, with this i can play those channels, but its the redirect that doesn't work...
soz my bad english
#11
Updated by Pedro Olivas about 8 years ago
EDIT:
Veemi it's not working either, i can't play those channels on showtime...
try it:
rtmp://live.veemi.com/vlb playpath=foxpontucanal swfUrl=http://www.veemi.com/player/player-licensed.swf live=1 timeout=15 pageUrl=http://www.veemi.com/
#12
Updated by Pedro Olivas about 8 years ago
flexstream.net either... this one is like iguide, it follows some redirect...
rtmp://live.flexstream.net/redirect/foxcrimenpontucanal playpath=foxcrimenpontucanal swfUrl=http://p.jwpcdn.com/6/8/jwplayer.flash.swf live=1 timeout=15 pageUrl=http://flexstream.net/
#13
Updated by Leonid Protasov about 8 years ago
Sometimes logs tell more than many words:
vp [DEBUG]: Playing 'rtmp://live.veemi.com/vlb playpath=foxpontucanal swfUrl=http://www.veemi.com/player/player-licensed.swf live=1 timeout=15 pageUrl=http://www.veemi.com/', primary, attempt-resume media [DEBUG]: Settings initialized for URL rtmp://live.veemi.com/vlb playpath=foxpontucanal swfUrl=http://www.veemi.com/player/player-licensed.swf live=1 timeout=15 pageUrl=http://www.veemi.com/ in folder: <unset> [<unset>] SVSYNC [DEBUG]: Set to 0s AVSYNC [DEBUG]: Set to 0 ms RTMP [DEBUG]: Attempting to resume from 0.00 seconds RTMP [ERROR]: rtmp server sent error RTMP [ERROR]: rtmp server requested close vp [DEBUG]: Waiting for event vp [DEBUG]: Waiting for event navigator [INFO]: Opening rtmp://live.flexstream.net/redirect/foxcrimenpontucanal playpath=foxcrimenpontucanal swfUrl=http://p.jwpcdn.com/6/8/jwplayer.flash.swf live=1 timeout=15 pageUrl=http://flexstream.net/ vp [DEBUG]: Waiting for event vp [DEBUG]: Playing 'rtmp://live.flexstream.net/redirect/foxcrimenpontucanal playpath=foxcrimenpontucanal swfUrl=http://p.jwpcdn.com/6/8/jwplayer.flash.swf live=1 timeout=15 pageUrl=http://flexstream.net/', primary, attempt-resume media [DEBUG]: Settings initialized for URL rtmp://live.flexstream.net/redirect/foxcrimenpontucanal playpath=foxcrimenpontucanal swfUrl=http://p.jwpcdn.com/6/8/jwplayer.flash.swf live=1 timeout=15 pageUrl=http://flexstream.net/ in folder: <unset> [<unset>] SVSYNC [DEBUG]: Set to 0s RTMP [DEBUG]: Attempting to resume from 0.00 seconds AVSYNC [DEBUG]: Set to 0 ms RTMP [ERROR]: rtmp server sent error RTMP [ERROR]: rtmp server requested close vp [DEBUG]: Waiting for event
#14
Updated by Tech Dealer about 8 years ago
Showtime use librtmp? If yes, the best way will be release a new version with an updated librtmp.
More info about librtmp here: http://forum.xbmc.org/showthread.php?tid=162307
#15
Updated by Andreas Smas almost 8 years ago
- Target version deleted (
4.8)
#16
Updated by Andreas Smas over 7 years ago
- Target version set to 4.10
#17
Updated by Andreas Smas over 7 years ago
- Status changed from New to Fixed
- % Done changed from 0 to 100
Applied in changeset git|634c27bae8ec9171126734dc3ffe3f399370a1e9.