View Full Version : USTREAM.tv RTMP - HandShake, client signiture does not match
I'm trying to make a plugin for USTREAM.tv, but I'm running into problems with rtmp again. Some streams work (when using this server: ustream.flash.internapcdn.net) and some streams end after 60s (when using flash*.ustream.tv).
Download the plugin here and you'll see what I mean:
http://plugin.googlecode.com/files/USTREAM.tv_DEBUG.zip
I made it so that when you click on a channel, a dialog pops up telling you what server the stream is on.
Here is the debug log:
http://pastebin.com/m7ce15afc
I noticed that every time I connect to the flash*.ustream.tv server, I get this error:
WARNING: RTMP_LIB::CRTMP::HandShake, client signiture does not match!
and the video plays for about 60s before ending. I also tried using rtmpdump/flvstreamer and I get the same results.
not surprised since both apps use librtmp ;)
Check out this thread related to problems playing RTMP streams: http://www.xbmc.org/forum/showthread.php?t=53156
In particular, are the failing streams using SWF Verification, which isn't supported? http://xbmc.org/trac/ticket/6403 (and I'd guess isn't likely to be added, due to potential legal dodgyness)
In particular, are the failing streams using SWF Verification, which isn't supported? http://xbmc.org/trac/ticket/6403 (and I'd guess isn't likely to be added, due to potential legal dodgyness)
I'm not sure. I don't see those verification errors in the debug log.
I ran wireshark one one channel while playing in Firefox and XBMC. Everything is the same, but this one section.
Firefox
connect?appustreamVideo/1560303flashVerWIN 9,0,124,0swfUrl/http://cdn1.ustream.tv/swf/4/viewer.rsl.210.swftcUrl3rtmp://flash29.ustream.tv:1935/ustreamVideo/1560303fpadcapabilities@.audioCodecs@videoCodecs@o videoFunction?pageUrl(http://www.ustream.tv/channel/rsa-vs-engobjectEncodingrpinrpin.0.07533168207542734shimH ost3http://cdn1.ustream.tv/swf/4/videofeedwidget.42.swfautoPlay
XBMC
connect?appustreamVideo/1560303flashVerLNX 9,0,115,0swfUrl/http://cdn1.ustream.tv/swf/4/viewer.rsl.210.swftcUrl3rtmp://flash29.ustream.tv:1935/ustreamVideo/1560303fpadcapabilities@.audioCodecs@videoCodecs@o videoFunction?pageUrl(http://www.ustream.tv/channel/rsa-vs-eng
You think this rpin code is some type of verification? The rpin code is unique for every channel.
btw, I also tried playing the stream using jw_player (flash player) and I get the same results. The video stops playing after 40-60s. At this point, I'm guessing that there is some kind of verification stopping the videos from playing.
Using jw_player.swf (http://www.gretzky.com/flash/jw_player.swf?backcolor=0x000000&frontcolor=0xFFFFFF&file=rtmp://flash34.ustream.tv:1935/ustreamVideo/1561414/&id=streams/live&stretching=exactfit#!flashvars#autostart=true)
*You can add the rtmp and playpath and it will play.
canesfan1
2009-09-29, 08:11
how did u get the jw player to play a ustream rtmp? ive been trying for days and i cant figure out the code ,
how did u get the jw player to play a ustream rtmp? ive been trying for days and i cant figure out the code ,
use that link above...
file = rtmp url
id = playpath
canesfan1
2009-09-29, 09:41
k i figured it out , i see it stops playing after 45 seconds or so , ive seen videos on atdhe.net and channelsurfing.net that work for alot longer w. o this problem
strange
k i figured it out , i see it stops playing after 45 seconds or so , ive seen videos on atdhe.net and channelsurfing.net that work for alot longer w. o this problem
strange
can you be a little more descriptive? :rolleyes:
what type of steam, servers, xbmc or flash player?
adambasord
2009-10-01, 22:13
is there any way i can use this script to get the code for my own channel and other channels not listed in the top 40? it works great and some channels do load in xbmc but others do crash the program alltogether
is there any way i can use this script to get the code for my own channel and other channels not listed in the top 40? it works great and some channels do load in xbmc but others do crash the program alltogether
you can use this function to play (try to play :laugh:) any ustream link. The url must be the link to the channel you want to play. The other two variables can be anything.
url='http://www.ustream.tv/chrispirillo'
name=''
user=''
showList(url, name, user)
adambasord
2009-10-02, 00:14
where abouts do i do this please?
where abouts do i do this please?
:rolleyes:.....using a script (http://pastebin.com/d6b8f307e).
edit the last few lines.
adambasord
2009-10-02, 03:34
thank you now i understand much apprciated
Was curious what you finally found for this. The link you've posted above appears to have expired. I've also noticed that it plays for roughly 20 seconds. When looking through some source for one of their players I noticed this in the output.
http://cgw.ustream.tv/Viewer/playStream/1/593267.amf?rpin=rpin.0.5795596705840815&streamId=17398344 it seems that the rpin is something related to an authentication token. However I've not found a way to prove this, thus my interest in your findings.
Was curious what you finally found for this. The link you've posted above appears to have expired. I've also noticed that it plays for roughly 20 seconds. When looking through some source for one of their players I noticed this in the output.
http://cgw.ustream.tv/Viewer/playStream/1/593267.amf?rpin=rpin.0.5795596705840815&streamId=17398344 it seems that the rpin is something related to an authentication token. However I've not found a way to prove this, thus my interest in your findings.
I know about the rpin. I agree with you that it's most likely some sort of authentication. I'm not sure if this is related to the streams stopping. If it is, how do you use it? Just run that url above before you start the stream?
I've gotta be honest with you, I'm more interested in integration with the JW Player, however I figure if there is a way of authentication it for XBMC, as similar method will be possible for flash. I currently have a support ticket in with them in regard to the issue, however this is the second ticket I've submitted, the first one is now going on 9 weeks with no response.
If I do discover what can be done to play longer than a few seconds, I'll post it here for the benefit of this community.
I wanted to note I did receive a response from their support. Unfortunately they didn't provide any useful information. They just encouraged people to "build your own player" and use their API.
I wanted to note I did receive a response from their support. Unfortunately they didn't provide any useful information. They just encouraged people to "build your own player" and use their API.
That sucks.
Anyways, I gave up on ustream. I have no use for it anymore. Plus, I would rather just use Justin.tv.