A new technique seems to have surfaced to prevent rtmps from being played.
It requires a specific GET to be issued just prior to the rtmp request.
This can of course be implemented by a program that would issue the GET prior to issuing the rtmpdump command, but an extension to the rtmpdump parameters allowing the GET command to be provided and issued would make life easier.
The specific site is the new hdstreams.tv which following its links yields
Code:
<script type="text/javascript">
var oRequest = new XMLHttpRequest();
var sURL = "t.php?k=Mzc4NTdlMjc3ZWU2MmE1MjdkNzA3ZmUxODEyYWE2NGQ=";
oRequest.open("GET",sURL,false);
oRequest.setRequestHeader("User-Agent",navigator.userAgent);
oRequest.send(null)
</script><div id='container'>The player will be placed here</div>
<script type="text/javascript">
jwplayer("container").setup({
flashplayer: "swf/player.swf",
file: "skysp1?ticket=37857e277ee62a527d707fe1812aa64d",
autostart: "true",height: 350,width: 474,
stretching: "exactfit",
controlbar: "bottom",
provider: "rtmp",
streamer: "rtmp://cdn.cast247.tv:443/live"});
</script>
My implementation is:
Quote:
ffdump -p "rtmp://cdn.cast247.tv:443/live playpath=skysp1?ticket=37857e277ee62a527d707fe1812 aa64d swfUrl=http://www.cast247.tv/swf/player.swf pageUrl=http://www.cast247.tv command=http://www.cast247.tv/t.php?k=Mzc4NTdlMjc3ZWU2MmE1MjdkNzA3ZmUxODEyYWE2NG Q= live=1"
|
which uses CURL to issue the get,
then rtmpdump to get the stream which is then piped to ffplay.
Much easier would be:
Quote:
rtmpdump.exe" -r "rtmp
://cdn.cast247.tv:443/live" -y "skysp1?ticket=37857e277ee62a527d707fe1812aa64 d"
-W "http://www.cast247.tv/swf/player.swf" -p "http://www.cast247.tv" -G "http://www.cast247.tv/t.php?k=Mzc4NTdlMjc3ZWU2MmE1MjdkNzA3ZmUxODEyYWE2NG Q="
|
Note however that due to the time dependent keys both commands need to be issued within a minute or so of their determination.