Kodi Community Forum

Full Version: [REQUEST] BBC iPlayer (Video) Plugin or Script?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I have just installed XBMC on Ubuntu base (Hardy). I just tried the various versions of iPlayer but cant get it to play anything. It is listing all of the channels and the various streams ie.. "Heroes: Series 3: the second coming" all are listed with 0.0 KB next to them.

When i select one the message comes up "Opening stream - 90%" and xbmc freezes

Has anyone had this issue and does anyone have any ideas as to how to fix?
For iPlayer to work you must have an XBMC build newer than Atlantis Beta 1. At least
- rev15698 (Win, Linux, Mac etc)
- rev15724 (XBOX)
Cheers frosty
Frosty... where can you download the releases you mention? Windows version specifically
There won't be any official builds available until RC1 arrives which shouldn't be too long
Okay, thanks for the tips guys. Got BBC1 program I missed this evening streaming! But it took me flipping ages to realise the IPlayer should be run as a Plugin (never done one of those before!) and not as a Script. if you try launching it as a script it balks! Instead add it as a source under your videos and yipeee!!!!!! Thanks for ALL your hard work keep up the good stuff and fightin the good fight!
frosty Wrote:In an earlier post I was asking about the 'high quality' streams offered by the real iPlayer. beebhack suggests it's a higher-res H264 stream still delivered over RTMP (rather than the vp6 or spark encodings). I'd love to see this working on XBMC as they have a noticibly better picture quality compared to the rtmp/vp6 streams. However, I haven't managed to connect successfully to play one of these streams - does anyone know more about how these work?

The rtmp/h264 streams come from Level3 instead of Akamai servers. Packet-sniffing iPlayer connecting to a high-quality stream shows a few differences:
  • The Akamai server IP is fetched from http://[server]/fcs/ident (returning XML). The Level3 server IP is instead fetched from http://[server]/fcs/ident2 (returning plain text).
  • The Akamai servers accept a connection to 'app'='ondemand'. The Level3 servers return 'unknown application' for 'ondemand'. iPlayer is using 'app'='bbciplayertok'. This means the URL for a stream should be something like rtmp://[server]:1935/bbciplayertok/...
  • Akamai servers appear to read the auth value from the 'tcUrl' parameter in the RTMP connect packet. This is working as we send the complete URL we're playing as the value of 'tcUrl'
    For Level3 servers the real iPlayer doesn't send any URL parameters in the 'tcUrl' param of the RTMP connect packet. There does seem to be a couple of extra (unnamed) parameters at the end of the connect packet however, which look like (bool)<true> and (string)<the-auth-value>. I've tried hacking these in to the connect packet sent by XBMC, but got no joy - the server sends an error reply and closes the connection.

Maybe not quite as simple to get the higher res streams going as I might have hoped. I was looking through the code and wireshark dumps, hacking together all kinds of things to get it going, but the level3 stuff just seems to be so different atm.
I've also used a flash decompiler and got the debugging flash plugin as there is quite a big of debug information coming out of the iplayer flash.

Connecting to an akamai hosted flash you get the following which is well familiar to most:

----->16:14:37 [system_event]
----->#AKAMAI_SERVICE# onConnect() Full media streaming URL is: rtmp://cp41752.edgefcs.net:1935/ondemand/secure/b0008b9k6streaming93605977.flv?auth=daEdJb.dZa3c2aUamdiaibebKb4aeaicIcd-bi6nND-cCp-GonGBnBpJBtEpzK&aifp=v001&slist=secure/b0008b9k6streaming93605977

Connecting to the level3 high quality stream though gives the following:

----->16:16:34 [system_event]
----->The Model is starting Service of type : level3

----->16:16:34 [system_event]
----->connecting to: rtmp://bbciplayertokfs.fplive.net:1935/bbciplayertok with args: true,a3a8801573cc244d6fdd2c54fa7a9918

----->16:16:34 [system_event]
----->connecting to: rtmpt://bbciplayertokfs.fplive.net:80/bbciplayertok with args: true,a3a8801573cc244d6fdd2c54fa7a9918

----->16:16:34 [system_event]
----->connecting to: rtmp://bbciplayertokfs.fplive.net:80/bbciplayertok with args: true,a3a8801573cc244d6fdd2c54fa7a9918

----->16:16:34 [system_event]
----->The Model has sent an event of type : connection_attampt and changed state to : media_queuing

----->16:16:34 [dev_note]
----->FMSConnection.statusHandler( NetConnection.Connect.Success )

----->16:16:34 [dev_note]
----->FMSConnection.statusHandler( NetConnection.Connect.Closed )

----->16:16:34 [dev_note]
----->FMSConnection.statusHandler( NetConnection.Connect.Closed )

----->16:16:34 [system_event]
----->LevelThreeService connected on: rtmp://bbciplayertokfs.fplive.net:80/bbciplayertok

----->16:16:34 [dev_note]
----->LevelThreeService playing file: mp4:b0008b9k6H26493605977

It actually makes 3 different connection attempts, I've not yet seen the rtmpt request connect, but sometimes it answers and connects on 1935, sometimes on 80.

Also you were right about the arguments, the boolean and an anonymous string that is the auth key, although looking at the wireshark logs, perversely they come after the 0x09 end of rtmp packet marker. But from looking at it I'm not sure if there is a single url you can craft that will play the H264 iplayer files, it might need more indepth changes than that, it certainly seems that the bbc iplayer itself has a different codebase for akamai vs level3
XRocket Wrote:I have just installed XBMC on Ubuntu base (Hardy). I just tried the various versions of iPlayer but cant get it to play anything. It is listing all of the channels and the various streams ie.. "Heroes: Series 3: the second coming" all are listed with 0.0 KB next to them.

When i select one the message comes up "Opening stream - 90%" and xbmc freezes

Has anyone had this issue and does anyone have any ideas as to how to fix?

I experience pretty much the same thing on an Xbox running the following T3CH build (latest at time of writing):
XBMC-SVN_2008-09-19_rev15640-T3CH-BETA1

The 29 Sept iPlayer plugin is able to browse the feeds fine, and has the correct thumbnails but reports all sizes as 0.0KB and hangs when I try to play them. I don't get any status message appearing about caching though, but it's a hard crash - in-game reset button combo doesn't work and the machine has to be powercycled.

With this same build the Best of ITV plugin works fine. Any ideas? Does this latest T3CH build change something that's needed? The previous T3CH build (XBMC-SVN_2008-09-08_rev15452-T3CH) has the same issue.

Thanks.

EDIT - found the "Bless" build of XBMC mentioned a few pages back and in the release note it says "also included is Frostys great RMTP fix so that you will be able to use programs such as BBC iPlayer & South Park Plugins". Gonna give that a whirl... Works very well. Excellent job - thanks for making this!
Interesting I was just playing around again and the xml that the bbc passes back that lists all the content options has changed, below is the interesting segment (for me at least).

<media kind="video"
width="640"
height="360"
expires="2008-10-11T22:49:00+01:00"
type="video/mp4"
encoding="h264" >
<connection
priority="10"
application="bbciplayertok"
kind="level3"
server="bbciplayertokfs.fplive.net"
identifier="mp4:b0008b9k6H26493605977"
authString="20ca1f2b781910f02f8ceb59365838a4"
/>
<connection
priority="15"
kind="velocix"
server="bt-e5c8714c07ce193521dc1d07f66fddddcb72b7f9.fcs.velocix.com"
identifier="mp4:bt-e5c8714c07ce193521dc1d07f66fddddcb72b7f9"
authString="&amp;vxttoken=000048E94EE20000000048E94C8A75A6604A0EBE4B45FBC28E10D57A5FFE61EBB564"
/>
</media>

velocix is a another content delivery network, the version of iplayer doesn't seem to have changed yet, but I'm guessing they will need a new handler for velocix delivered content, admittedly I haven't looked through all the code for the current ver, but I found handlers for akamai and level3 easily enough and didn't see a velocix one.
I'll have to watch this, fingers crossed if they work differently again they might be easier to work with.
Just want to thank you for this great plugin.

Still needs "setdefaulttimeout(timeout)" removing to list any programs, but streaming now works great in Atlantis Beta2 for Windows Big Grin
frosty Wrote:For iPlayer to work you must have an XBMC build newer than Atlantis Beta 1. At least
- rev15698 (Win, Linux, Mac etc)
- rev15724 (XBOX)

Just updated XBOX via T3CH updater (as noticed it was upto beta 2 with Mediastream 0.94 :-). >>T3CH XBMC 2008-10-06 SVN rev15805-BETA2:<<

And desperate to try out XBMC iplayer (using latest SVN release), it generates the lists perfectly and does eventually bring some video up but only plays for a couple of seconds and then either pauses or starts to buffer again (not sure which). Hitting play again after a minute or so and it plays a few more seconds and then....well you get the drift of what happens next!

I have tried changing plugin settings and get same result - not sure if this means latest T3CH is not patched fully for RTMP or some other issue? No thread over at XBOX scene yet for latest build. And build version is higher than 15724.

Log here (reset plugin back to defaults before streaming BBC4 prog'):

http://pastebin.ca/1221143 (lots of mentions of memory leaks!).

Cheers
I think it has more to do with when you watch the streams and how popular they are if you try to watch "Top Gear" at 9:00 GMT its not going to fly but off peak it will play fine. Other than a large pre buffer there's not lot that can be done at this end. maybe the BBC will invest in more bandwidth.Big Grin
marlboroman1 Wrote:I think it has more to do with when you watch the streams and how popular they are if you try to watch "Top Gear" at 9:00 GMT its not going to fly but off peak it will play fine. Other than a large pre buffer there's not lot that can be done at this end. maybe the BBC will invest in more bandwidth.Big Grin

Never have an issue playing anything on laptop or iPod touch and I was trying to play a prog about walking in Derbyshire at nearly midnight ;-)

BBC's bandwidth always seems to be fine. Tested itv catchup to make sure no issues with ISP/ adsl and it worked fine.
Sorry double post - thank goodness for edit being back Undecided
Just wanted to say a big thankyou for everyone who has helped to get Iplayer working on XBMC & XBOX. This is way the coolest thing to happen in XBMC for ages. Good work everyone you rock! Big Grin