iPlayer Videos – on the Android G1

Don’t get over-excited, you can’t stream them yet!

July 26th 2009 addition: I’m being disingenuous here, Dave Johnston has created a free Android application called Beebplayer which you can grab from the marketplace. It’s fantastic! It gives you access to the standard mobile streaming encodes the BBC provide which work great but don’t match the quality of the encodes provided for the iPhone. This guide focusses on getting a copy of an iPlayer video for viewing off-line in a format which is just about as good as you could want quickly.

The bbc provide access to iPlayer for the iPhone but not via flash, they actually provide a http stream with h264 video and AAC audio in it. Hang on! The G1 could play that!!!! Read on to find out how to do it.

Well, it can’t – not directly. The BBC have encoded their programmes for iPhones in a friendly format of 480×270 (16:9 widescreen), 400Kbps H.264 video and 116Kbps AAC audio which the G1 can play fine.

The problem is that the .mov container is slightly different to the .mp4 container in how it stores AAC audio and the G1 won’t play the audio on the device.

I’ve attached a package to help you download and convert programmes from iPlayer for the G1.

* Unzip it somewhere
* Find the programme you want on iPlayer and navigate to the screen that shows the flash movie, ready for you to click play
* Run the program ipdl.exe ( by Paul Battley – he maintains this actively so if you have problems, get the updated ipdl.exe from there ), paste in the url from your web browser and then click download
* Choose where you want the file to download and wait for it to complete
* Drag the .mov file you have downloaded over onto the convert.bat file
* The batch file will strip the raw video and audio out and recombine into an Android friendly mp4 file!

The length of the download depends on the length of the BBC programme but the conversion at the end is very quick as no re-encoding is required. As a result, the quality is as good as it can possibly be for the G1.

Enjoy!

  1. Voo

    Pointless, as you need to be near a laptop with web access, and as you can stream over wifi from BBC using beebplayer.

  2. cannontrodder

    Voo, not really – this is about watching videos from iplayer on your android phone and not about streaming. Remember, you can’t stream them over 3g with t-mobile and until yesterday, it seemed that beebplayer was being blocked by some ISPs. This is all about taking a copy of a program you missed to be watched on the move and the quality is far superior to the 3gp stream beebplayer gives you.

  3. TechieBird

    Excellent – works perfectly on my HTC Magic – many thanks!

  4. Pete

    ipdl now downloads mp4, but no sound when played on my Hero

  5. Pete

    Actually downloading mp4 from iplayer is no different. Just that the input and output file extensions are now the same, just tweaking the batch file to change the name of the output works fine.

  6. cannontrodder

    Pete, it might dump them in an mp4 container now but the audio and video are still combined in a way that Android struggles with. I’ll have to update this though as Paul Battley’s ipdl has been updated a few times recently.

  7. Argon0

    Recently got an LG GW620 Android 1.5 device, and this works a treat…

    Have you seen the “Get_iPlayer” project over at http://linuxcentre.net/getiplayer?

    It seems as if it would be fairly easy to get a PVR set up to record iPlayer stuff in the right format to just put on Android…

    (or use the PVR to do the recording, Set up a batch file to copy the completed progammes to a working directory, do the mp4box conversion (en masse), move the completed files to an “AndroidTV” directory ready to copy over (or sync) to an Android, then set this to run on a schedule using windows scheduler…)

  8. Argon0

    OK, done some work on this, and, if I’m right the code here, if put into a batch file, will do the trick:

    dir %1 /b > %1.txt
    cd %1

    for /f “delims=.” %%a in (c:\wip.txt) do (
    ..\MP4Box -raw 1 “%%a.mp4″ -out “%%a.h264″

    ..\MP4Box -raw 2 “%%a.mp4″ -out “%%a.aac”

    ..\MP4Box -fps 25 -add “%%a.h264″ -add “%%a.aac” -new “%%a.mp4″

    del “%%a.h264″
    del “%%a.aac”
    )
    cd ..

    Basically use Notepad to create a Batch file (I call it Batchconvert.bat) copy the above into it and save into the same directory as mp4box.

    Save the iplayer files into a directory in the same directory as mp4box.

    Once this is done you can drag the folder containing the iplayer mp4s over the batchconvert.bat and it will convert all files in the directory.

    Then manually copy the files somewhere else ready to copy to the Android’s MicroSD card.

  9. cannontrodder

    Argon0, that’s very interesting.

    I had been using get_iplayer for some time but found conversion a chore.

    I like the idea of running the pvr as I think they have a full web interface there? Looks like the sort of thing that would live nicely on a linux box too. You are going to have to encode that for android though, no fiddling with the container like we have both done in our scripts with mp4box.

    I’m going to take a look at mplayer for linux (although I am sure there are win32 builds) and see if some sort of pipeline can be set up. IE, I drop a file in a folder and it gets picked up in a scheduled job and stored ready for transfer to either my G1 or the PS3.

  10. argon0

    Get_iplayer has the webPVR now (which works properly from Firefox but not I.e.), and if you use the iphone format for recording it stores it in .mov format. You can then use the batch file I created above to batch convert it all..

    Except – get_iplayer puts names as they are on iplayer, so if you use the “.” as a delimiter (as above) it doesn’t work, as it breaks at the first “.”.

    If you could guarantee that every program would have ONE “.” in it as well as the “.” for the extension you could stitch it back together again. I guess you could use the “FOR” loop with the “tokens” created with the first “FOR /F %%a” until it found “mov” as a token, then tell it to ignore the token, but, atm, its a little beyond me….

    Instead I create the wip.txt manually then use find and replace in wordpad to replace “.mov” with “|mov” and use “|” as the delimiter instead… I guess I could use sed or similar (if I can find Dos/windows scripatble variant) to do the replace automatically – actually that’s an idea, will look at and post back…

  11. argon0

    Ahah, the sed-3.59.exe can do exactly what I need it to do.

    So replace dir /b >wip.txt with

    dir /b > wip1.txt
    sed-3.59 “s/.mov/|mov” wip1.txt >wip.txt

    replace the “delims=.” with “delims=|” and away we go (of course this only works if the file is in mov format… could put a test in for this anyway… Or do

    dir *.mov /b >wipmov.txt
    dir *.mp4 /b >wipmp4.txt
    sed-3.59 “s/.mov/|mov” wipmov.txt >wip.txt
    sed-3.59 “s/.mp4/|mp4″ wipmp4.txt >>wip.txt

    to create the work file…

  12. argon0

    Except its easier to create two batch files, one for each extension… Otherwise you need to get cute later on in the batch file (if exist %%a.mov gotto movextract else if exist %%a.mp4 goto mp4extract else Echo “no files here”… or similar)

  13. argon0

    Sorry to use your site as a “thoughtbox” recently….

    I’ve written a couple of Batch files to do what I have been talking about – see
    https://docs.google.com/leaf?id=0B9hCz1HWHSeHZTg2OTA1N2ItMzZhNi00OGE0LWI1MmYtMzI5MThlZTU3OTBi&hl=en

    Its a zip file, which contains two batch files called BatchConvertMP4.bat and BatchConvertMOV.bat. It needs to be extracted into the same directory as MP4BOX and the JS32.dll, and SED-3.59.exe (from downloads section of http://sed.sourceforge.net/). I’d put it all together in one package but not sure of licensing implications…

  14. cannontrodder

    It’s fine by me, that’s what comments are (hopefully) for!

  15. argon0

    Oh, and to work properly the files to be converted need to be in a subdirectory of the same drive as the executables…

  16. argon0

    Get_iplayer no longer works!!!!

    Thanks to the BBC’s stance on open-source/3rd party apps interfacing with iPlayer…

    Thank goodness that ipdl still does…

  17. argon0

    Actually my older copy of Get_i_player does work, but has a problem with podcasts for some reason…

  18. I admit, I have not been on this webpage in a long time… however it was another joy to see It is such an important topic and ignored by so many, even professionals. I thank you to help making people more aware of possible issues.

  19. chris

    How do you get the my player on the samsung galaxy s mate?

  20. cannontrodder

    Chris, I presume it is not available any more. beebPlayer was taken down by the BBC and it didn’t offer to download and save streams!

  21. You you should make changes to the blog subject title

    iPlayer Videos – on the Android G1 at cannontrodder’s world – cannontrodder – Getting nothing done since 1975.
    to more catching for your blog post you write. I liked the blog post however.

  22. excellent stuff. Do you have an RSS feed? And also will it be cool if I added your feed to a blog of mine? I have a website that draws content from RSS feeds via a number of websites and I’d like to include yours, most folks don’t mind since I link back and everything but I like to get consent 1st. Anyhow let me know if you could, thank you.