• 1
  • 12
  • 13
  • 14(current)
  • 15
  • 16
  • 74
[REQUEST] BBC iPlayer (Video) Plugin or Script?
Haven't looked at this thread in a while and I come back to find a fully working script!

Nice one guys, this is awesome!

One question though, am I the only one who's download seems to be capped at half a meg per second? I get about 3.5-4mbps and this obviously makes the wait for a download to finish quite a bit longer.
smorges Wrote:One question though, am I the only one who's download seems to be capped at half a meg per second? I get about 3.5-4mbps and this obviously makes the wait for a download to finish quite a bit longer.

I generally get 0.22MiB/s. It wouldn't surprise me if the BBC's content servers have a hard transfer limit to clients, but I haven't tested this.
orangepeel Wrote:Hi, thanks for the great script. I was wondering if anyone else is getting a loss of audio after playing one of the downloaded .mp4 files. The first file i play is ok but if I cancel that and load another I get no audio, but video playback is fine and a reboot sorts it. I am up to date with XBMC and the scripts, probably my mistake somewhere.

Thanks again for all your work

Got it sorted by completely deleting and reinstalling XBMC. Probably long overdue. Thanks again
TheBoxMan Wrote:Not to take away from this nice little script - very handy.

Being unable to stream might be a pain for the hard-disk challenged though!
Don't decent sized hard disks fall out of cornflake boxes these days? Laugh

Yeah, streaming would be nice but I think it's a fab script as it is. Streaming would be zer cherry on the cake.
I don't know if you can re-use for xbmc but I modified Strawp's PHP script to stream the content using VLC.
You need Apache + PHP with curl to be able to use it as it has to be called via HTTP.
Basically, put the iplayer_stream.php file in a web folder and open a link in VLC like http://localhost/iplayer_stream.php?pid=...f-the-show> where <pid-of-the-show> is the id of the show.

Pt-1 kindly offered to host the script http://www.pt-1.net/FreddyFrog/bbciplayerscripts.rar (couldn't attach it to the post).

The download includes another file that has to do with streaming the content to a Dbox so just ignore it - only use iplayer_stream.php.

Hope that it could be useful to you guys... and thanks for Strawp for writing the original!
Would you like some good news?

I have - just this second - got iPlayer streaming onto XBMC using Python, adopting a similar technique to used in strawp's script (which is basically just a http server acting as a proxy)

The server is running on my laptop, but since it's all Python I'm fairly confident I'll get it running on XBMC and streaming, hopefully in the next few days.
Smile 
just gets better and better :-)

Cheers look forward to it
Using strawp's script I've modified? That's good news mate

johnsto Wrote:Would you like some good news?

I have - just this second - got iPlayer streaming onto XBMC using Python, adopting a similar technique to used in strawp's script (which is basically just a http server acting as a proxy)

The server is running on my laptop, but since it's all Python I'm fairly confident I'll get it running on XBMC and streaming, hopefully in the next few days.
Well it's not really strawp's script, just the same idea. I've implemented an HTTP server in Python which performs the same task.

Unfortunately XBMC doesn't seem to like streaming from itself... while I can now stream iPlayer programmes from a PC to XBMC, and from XBMC to a PC, I can't stream from XBMC to XBMC, even though it's the exact same code on each platform.

Which is a pain... I'm certain it's just my server implementation, but not sure where the problem lies...
BTW, if you want to try the latest SVN revision of my code, if you run the script on XBMC, you can stream to a PC by trying to access http://[xbox-ip-address]:8123/?pid=b009lyk7 (or any other pid, that one is Ashes to Ashes)
That's very cool johnsto. Would it be possible to have an option setting which can be enabled by the user which says "stream from the following proxy:" where I can then enter the location of Freddy's script which is running on one of my own servers?

Or is the intention that the plugin will do the entire streaming thing by itself?

Freddy: Thought about having an option which dumps the file that's being streamed to HDD as well as streaming it? That way if there are lots of requests it could just stream from a local copy. Could get tricky with partial copies of things mind...
Strawp Wrote:That's very cool johnsto. Would it be possible to have an option setting which can be enabled by the user which says "stream from the following proxy:" where I can then enter the location of Freddy's script which is running on one of my own servers?

Or is the intention that the plugin will do the entire streaming thing by itself?

The idea is that the streaming is handled completely by the script, without the need for a separate server. Unfortunately something about the XBox version of XBMC is stopping this from working at the moment (works fine on Linux-XBMC though!)
Strawp Wrote:Freddy: Thought about having an option which dumps the file that's being streamed to HDD as well as streaming it? That way if there are lots of requests it could just stream from a local copy. Could get tricky with partial copies of things mind...

That sounds a bit tricky top of my head as (I'm talking about the way the script is used for a dbox) one could fast forward (jump) 10 minutes in the stream, so if you save as you stream type of thing then you'll be missing some data.

Would having proxy in between the script and the BBC website will fix this? I.e. will it be clever enough to serve a partially/completed streamed file from its cache rather than make a brand new query on the BBC server?
Thumbs Up 
Very well done. Clever little solution.

I might actually test and tweak this tomorrow to see if I can do it

XBMC to XBMC on *different* xboxes (I have three in my house).

I.e. one xbox streaming it to another.

I'm sure the problem will likely be, as you've suggested, entirely related to running both on the xbox.

Would it potentially be helpful to have the script running the server call a plugin which tries to stream from the xbox? (that's to say the script isn't sreaming from itself) or is the problem likely to still extant due to the fact that it's using the same python interpreter??

*scratches head*

We're soooo close. Big thumbs up and thanks for all your effort!

PS - Lets not take our eye off the ball with the other streaming protocol though. It's not just about iplayer there. There are loads of other sites that use it. Oh and as an added incentive the flv's have better resolution.
TheBoxMan Wrote:I might actually test and tweak this tomorrow to see if I can do it

XBMC to XBMC on *different* xboxes (I have three in my house).

I.e. one xbox streaming it to another.

I'm sure the problem will likely be, as you've suggested, entirely related to running both on the xbox.

XBMC to another XBMC will work fine.

There's actually more to the problem than I described - it's more about calling the stream from within the script. If I autoexec the server, I can then manually add the correct URL to the playlist, and XBMC will play it. However, if I try to play the exact same URL from within my frontend script, the server stops accept()ing connections until the play attempt is cancelled.

Weirder, if I have say, the search dialog up, the server stops accepting connections too, until the search dialog is closed. It's like certain dialogs (including the progress dialog XBMC launches at the start of a stream) block the server script's accept() call.

I'm starting to think I've missed some close() calls, as XBMC makes half a dozen GET and HEAD requests when it starts streaming an MP4 (it grabs the very end of the file in one of them) and the first couple of requests usually succeed, and only then does it block.

TheBoxMan Wrote:Would it potentially be helpful to have the script running the server call a plugin which tries to stream from the xbox? (that's to say the script isn't sreaming from itself) or is the problem likely to still extant due to the fact that it's using the same python interpreter??

Same difference. I've tried both with the exact same results (adding server to autoexec.py versus just starting it from the script)

I'm not sure how XBMC forks off Python processes, so that could well be an element of this issue given that the problem is most obvious when running the server script and the frontend script simultaneously.
  • 1
  • 12
  • 13
  • 14(current)
  • 15
  • 16
  • 74

Logout Mark Read Team Forum Stats Members Help
[REQUEST] BBC iPlayer (Video) Plugin or Script?7