Apr 16 2009

The BBC now provide HD 1280×720 resolution (720p) flash streams!!! And, OMG, the quality is awesome. get_iplayer also supports this as of now.

The even better news is that if the flash version determines that your broadband link is too slow for this HD content, get_iplayer will still record it for you to watch at your leisure on the player of your choice.

I’ve managed to get this working with get_iplayer on ‘Dr Who – Planet of the Dead’. (Thanks to Andrew who pointed this out)

  • Resolution: 1280 x 720 pixels
  • Video Codec: H.264
  • Audio Codec: AAC
  • Bitrate: 3200 kbps
For BBC HD content please use get_iplayer –vmode=flashhd … with get_iplayer v1.61 and rtmpdump v1.4. The fedora, ubuntu, MacOSX and Windows binaries on this site are already at v1.4.
Do be warned that a one hour programme will consume approximately 1.4GB.
Interestingly enough, my desktop PC suffers badly when trying to playback even the 640×360 programmes in flash player but using get_iplayer and mplayer to playback works perfectly even with 1280×720!
Update 20th April: It seems that the BBC were a little premature in their earlier announcement. They launched the HD iPlayer today properly.

67 Comments

  • On April 18th, 2009, linuxcentre said:

    1) No, that would be rather ambiguous – most users would not want to download more than one version of the same prog. You can also use the –overwrite option should you actually want to overwrite the file that already exists of the same name.

    2) Yes, use the option –file-prefix='<name><episode>-<mode>’ or something along those lines.

    • On April 18th, 2009, linuxcentre said:

      Yes, I had a go at this and it would seem that ffmpeg on windows (even the latest build linked on the download page) seems to fail with these. Although the ffplay.exe program can still play them in flv format. ffmpeg on Fedora10 on the other had, works just fine – ffmpeg is a strange beast!

      • On April 19th, 2009, colonel32 said:

        I did manage to convert Doctor Who using the linked Windows version, with:
        ffmpeg -vcodec copy -acodec copy -i INPUT.flv OUTPUT.mp4

        • On April 19th, 2009, linuxcentre said:

          Hmm, same command as get_iplayer invokes… What exact build did you use? (i.e. what svn revision?). I found it worked in Fedora Linux but failed with the latest static ffmpeg build on XPsp3 from my download link. It could be that there are glitches in the flv download of course…

      • On April 19th, 2009, Dick T said:

        I’m have issues with any ITV program

        as of 16th apr

        This program comes with ABSOLUTELY NO WARRANTY; for details use –warranty.
        This is free software, and you are welcome to redistribute it under certain
        conditions; use –conditions for details.

        Matches:
        100867: itv, Wycliffe – Sat 18 Apr 2009, ITV Catch-up, TV, No Denton Code applied

        INFO: 1 Matching Programmes
        WARNING: Cannot read /home/xpd259/.get_iplayer/download_history

        INFO: Checking existence of default version
        INFO: ITV Video Name: Wycliffe part 1
        INFO: ITV Video Name: Wycliffe part 2
        INFO: ITV Video Name: Wycliffe part 3
        INFO: ITV Video Name: Wycliffe part 4
        INFO: No specified modes (mms) available for this programme with version ‘default’ (try modes: itv)
        ERROR: Failed to download ‘Wycliffe – Sat 18 Apr 2009 (39952)’
        WARNING: Cannot read /home/xpd259/.get_iplayer/download_history

        • On April 19th, 2009, linuxcentre said:

          Sorry – I introduced in the early hours of this morning… v1.63 now released. It was just the default vmode for itv was set to mms by mistake.

        • On April 19th, 2009, Andrew said:

          I think there’s a bug in v1.63 (and v1.62, but not v1.61) when you download radio programmes (maybe it affects TV too, I haven’t tried downloading any with the new version yet). When I use this command:

          get_iplayer –type=radio –get –amode=iphone,flashaac,flashaudio –pid b00jtm1l

          it downloads all the versions, even though the iphone version downloads OK.

          • On April 19th, 2009, linuxcentre said:

            I really shouldn’t code so late – sorry 😐
            Try v1.64 where that bug is fixed.

            • On April 19th, 2009, Andrew said:

              Working great now, thanks 😀

          • On April 20th, 2009, Craig said:

            Got you. Thanks very much for the difference.

            • On April 20th, 2009, Andrew said:
              • On April 21st, 2009, Andy said:

                Does anyone know if it’s possible to re-encode the audio from one of these lovely HD files with ffmpeg after download? The reason I’m asking is that the Apple TV won’t play the HD files, simply because the audio is at 188Kbps (160Kbps is the highest rate the Apple TV will play from a H.264 video file).

                If the conversion could be included when ffmpeg runs to change the file from FLV to MP4, that would be perfect. Does anyone have any suggestions?

                • On April 21st, 2009, Andy said:

                  I’ve solved problem #1, only to generate problem #2. :o/

                  Using flags ‘-ar 44100’ and ‘-ab 160k’ instead of ‘-acodec copy’ you can perform an audio conversion on the file that appears to bring it in line with what the Apple TV can play. Currently the only way to achieve this is by editing get_iplayer itself, but it does work.

                  However, the Apple TV still refuses to sync or stream the file. :o(

                  The official video formats supported are:

                  “H.264 and protected H.264 (from iTunes Store): Up to 5 Mbps, Progressive Main Profile (CAVLC) with AAC-LC audio up to 160 Kbps (maximum resolution: 1280 by 720 pixels at 24 fps, 960 by 540 pixels at 30 fps) in .m4v, .mp4 and .mov file formats”

                  There is *some* flexibility in this, though, as it will happily play the Hubblecast HD podcast, which is 1280×720 at 25fps with 44.1kHz audio at 126kbps. I tried taking the audio on the iPlayer file down to 126kbps, but that made no difference.

                  I’m at a complete loss now as to why the iPlayer HD file won’t play. Comparing the two with ffmpeg shows that after the audio conversion both files have the same video and audio formats (Video: h264, yuv420p, 1280×720, 25.00 tb(r) and Audio: aac, 44100 Hz, stereo, s16). The only difference that remains is that with the Hubblecast, stream #0.0 is audio and #0.1 is video, whereas this is the opposite way around for the iPlayer content. However, it is also the other way around for the flashvhigh content, which plays perfectly.

                  If anybody is still with me after all that, do you have any ideas about where the problem might lie?

                  TIA!

                  BTW, if anyone is using my iPlayer -> iTunes import scripts, I’ll be releasing a much improved version soon.

                • On April 21st, 2009, Steve said:

                  get_iplayer is a brilliant piece of work. I have downloaded the HD flash files for watching on my PC connected to LCD TV, but I have a problem.

                  FFmpeg is crashing when it comes to converting to MP4. I can watch the file in VLC, but it eats a lot of CPU in doing so.

                  I’ve got a graphics card that should be able to process MP4 leaving the CPU some breathing space (its great for 720p mkv torrents), so am I right in saying if I can get Ffmpeg to convert to MP4, I can get back to watching HD with only ~10% CPU usage? If so how can I cure ffmpeg crashing?

                  Thanks

                  • On April 21st, 2009, linuxcentre said:

                    ffmpeg works depending on the build etc etc.

                    I suspect it’s not the fact that the file is in flv ‘format’. The CPU usage is more linked to the codec being used. H.264 can be quite CPU intensive to decode. MP4 has many versions… mkv is just a container format (a good one at that) but it won’t make much difference if it had the same h264 stream in it.

                  • On April 21st, 2009, Steve said:

                    I’m not sure what codec the sfuff I get from torrents is, its either h.264 or x.264 (is that one?), but what I do is watch them in Media Player Classic Home Cinema as it interfaces directly with the graphics card to do all the processing. VLC is not able to do this for me. I want to be able to do the same with these iPlayer downloads, but don’t know how to go about it.

                    • On April 21st, 2009, linuxcentre said:

                      x264 is one of the codecs for h.264. I’m not sure if ‘Media Player Classic Home Cinema’ can play this format. Anyone?

                      • On April 21st, 2009, Steve said:

                        Nevermind, just tried opening the FLV in MPCHC and it works! No conversion needed it seems. Watching HD Wossy now with 15% CPU, rather than 90% in VLC 🙂

                        Thanks

                    • On April 21st, 2009, robertr said:

                      I have same problem, I want to play them with a standalone media player connected to my tv but it wont play flv files and any program I try to use to convert them to mp4 just crashes.

                      • On April 21st, 2009, linuxcentre said:

                        See Steve’s latest comment – it works for him…

                      • On April 22nd, 2009, Clanroyden said:

                        Just tried version 1.65 of get_iplayer with rtmpdump version 1.4 with an HD download of ‘The No.1 Ladies’ detective agency’ and the mp4 couldn’t be created: ‘non monotone timestamps’ error. I then tried a flashvhigh of ‘Cranford’ and got the same error.

                        I removed get_iplayer 1.65 and went back to 1.59 and flashvhigh works again.

                        I’m on Mandriva 2009. Any help would be appreciated.

                        • On April 22nd, 2009, Clanroyden said:

                          Take that back, 1.59 gets the same error after downloading the flv:

                          non monotone timestamps 80208912 >= 80208912
                          av_interleaved_write_frame(): Error while opening file
                          WARNING: flv conversion failed – retaining flv file

                          • On April 22nd, 2009, linuxcentre said:

                            Sometimes (and some builds of) ffmpeg cannot convert the flv file. If this fails try to just playback the flv file directly. You could also try upgrading ffmpeg…

                            • On April 22nd, 2009, Clanroyden said:

                              I’m using ffmpeg 0.4.9 and it was working last week with flashvhigh mode. Today I thought I would update to the latest get_iplayer for the HD downloads and neither flashvhigh or flashhd downloads will convert to mp4 after downloading.

                              I’ve also tried compiling the latest ffmpeg but failed to build. In any case the ffmpeg version I’m using isn’t old and everything is enabled in the ffmpeg build. Also, as I said, it was working last week.

                              Do I need to reset any settings/profiles when I upgraded get_iplayer? Scratching my head?!?

                          • On April 22nd, 2009, Jonty said:

                            I downloaded the windows build of the latest SVN ffmpeg and replaced the one included with the Windows installer, and it seems to be working fine!

                            Binaries: http://ffmpeg.arrozcru.org/builds/

                            • On April 22nd, 2009, robertr said:

                              Fantatsic, thankyou so much, that fixes everything for me, I now have mpeg4 hd downloads.

                            • On April 23rd, 2009, Beer said:

                              What am I doing wrong? Ever since last week I am not able to download with different options anymore. It appears to download fine, but when FFmpeg kicks in I get a Windows pop-up saying FFmpeg stopped working. I end up with a full size FLV file but I also cant use the ffmpeg attribute to decode it.
                              I’m on Windows Vista, using get_iplayer 1.66 and the simplest command line I used is: “get_iplayer –force-download -g 526 –subtitles” (The apprentice, episode 5).
                              Also, what is correct way to use the ‘–ffmpeg’ attribute? Do I need a path to the ffmpeg exe? I tried, for example the following
                              C:\Program Files\get_iplayer>get_iplayer.cmd –ffmpeg “C:\Streaming\BBC\Last_of_
                              the_Summer_Wine_Series_30_-_Some_Adventures_of_the_Inventor_of_the_Mother_Stitch
                              _b00k2mf3_default.flv”
                              But that just comes back with all the programmes, followed by “INFO: 696 Matching Programmes”.
                              Please help!

                              • On April 24th, 2009, Beer said:

                                Why didnt I look at the reply just above my question? I went to the http://ffmpeg.arrozcru.org/builds/ site and downloaded the ffmpeg copy there and replaced those with the ones that came with the full windows install of get_iplayer and everything is now fine. I have done two test downloads and both work fine now!
                                Keep up the great work. Great product!

                              • On April 28th, 2009, MuVu said:

                                Can streaming (–stdout –nowrite … | mplayer) be made to work with HD sources?

                                • On April 28th, 2009, linuxcentre said:

                                  Not at present but I will work on that – rtmpdump now can stream to stdout since yesterday so that will help.

                                  • On May 31st, 2009, linuxcentre said:

                                    latest versions of get_iplayer with rtmpdump-1.6/flvsteamer-1.7 can now support this.

                                  • On April 29th, 2009, Curious George said:

                                    Can someone tell me exactly how to download programs in HD?

                                    after opening get_iplayer, i type the command “get_iplayer –vmode=flashhd”, which returns exactly the same results as “get_iplayer”.

                                    Also, whenever i download something the filesize is a third of what the BBC Iplayer website says it is, and the quality is very bad.

                                    Has anyone got any suggestions on how to download progams in higher quality?

                                    • On April 29th, 2009, AudioBear said:

                                      Curious George, I presume you checked with –info, if a FlashHD stream is available, very few programmes have HD at present.

                                      Try Coast as a test (b00jzjyq) which does have a HD version…
                                      flashhd1…

                                      get_iplayer –pid=b00jzjyq –vmode=flashhd

                                      Hope this helps

                                      • On April 29th, 2009, Curious George said:

                                        AS an example, I’d like to download The Apprentice episodes (which are available in 720p from the bbc iplayer website – the flash player).

                                        The website says each episode is roughly 700mb, however when i used get_iplayer to download the episodes they’re only around 300mb and the quality is poor.

                                        Any help would be appreciated 🙂

                                        • On April 30th, 2009, linuxcentre said:

                                          Can you try your example and add –verbose option then paste the output here (dont paste the stuff after rtmpdump kicks in).

                                      • On May 5th, 2009, LLcooL said:

                                        Great program.

                                        I have added two ID3 tags –genre and –track to version 1.81

                                        Here is the diff

                                        — home/lloyd/get_iplayer 2009-05-05 16:29:26.000000000 +0100
                                        +++ usr/bin/get_iplayer 2009-05-05 14:20:14.000000000 +0100
                                        @@ -2558,14 +2558,12 @@
                                        # Return if file does not exist
                                        return if ! -f $prog->{filename};
                                        # Create ID3 tagging options for external tagger program (escape ” for shell)
                                        – my ( $id3_name, $id3_episode, $id3_desc, $id3_channel, $id3_categories, $id3_track) = ( $prog->{name}, $prog->{episode}, $prog->{desc}, $prog->{channel}, $prog->{categories}, $prog->{episode} );
                                        – # Get the track number (from episode)
                                        – $id3_track =~ s/[a-z]|\s+//gi;
                                        – $id3_name =~ s|”|\”|g for ($id3_name, $id3_episode, $id3_desc, $id3_channel, $id3_categories);
                                        + my ( $id3_name, $id3_episode, $id3_desc, $id3_channel ) = ( $prog->{name}, $prog->{episode}, $prog->{desc}, $prog->{channel} );
                                        + $id3_name =~ s|”|\”|g for ($id3_name, $id3_episode, $id3_desc, $id3_channel);
                                        # Only tag if the required tool exists
                                        if ( main::exists_in_path(‘id3v2’) ) {
                                        main::logger “INFO: id3 tagging $prog->{ext} file\n”;
                                        – my $cmd = “$bin->{id3v2} –artist \”$id3_channel\” –album \”$id3_name\” –song \”$id3_episode\” –comment \”Description\”:\”$id3_desc\” –genre \”$id3_categories\” –year “.( (localtime())[5] + 1900 ).” –track \”$id3_track\” \”$prog->{filename}\” 1>&2″;
                                        + my $cmd = “$bin->{id3v2} –artist \”$id3_channel\” –album \”$id3_name\” –song \”$id3_episode\” –comment \”Description\”:\”$id3_desc\” –year “.( (localtime())[5] + 1900 ).” \”$prog->{filename}\” 1>&2″;
                                        main::logger “DEGUG: Running $cmd\n” if $opt->{debug};
                                        if ( system($cmd) ) {
                                        main::logger “WARNING: Failed to tag $prog->{ext} file\n”;

                                        • On May 18th, 2009, Dan H said:

                                          Hello

                                          I can only get files at 640×320 with the latest get_iplayer on debian stable using the following command

                                          get_iplayer –raw –force –get 638 –vmode=flashhd –rtmp –rtmpdump ./rtmpdump_x86

                                          I would love to get hd stuff

                                          Please help

                                          Dan

                                          • On May 18th, 2009, linuxcentre said:

                                            Drop the deprecated –rtmp option

                                          • On May 19th, 2009, Dan H said:

                                            Thanks. Working well now 1.6G per hour. I think I might get freesatHD though.

                                            • On October 18th, 2009, Jonathan said:

                                              When trying to download flashhd content i get the following error: No specified modes (flashhd) available for this program.

                                              I do understand what it’s saying, but when i use the –info command flashhd is available and on the website the program is hd

                                              Help please 🙂

                                              • On October 18th, 2009, linuxcentre said:

                                                Can you be more specific: Command used, platform and versions of programs? Thanks.

                                              • On October 18th, 2009, Jonathan said:

                                                Sorry, that is not the error….
                                                This is:
                                                ERROR: FillBuffer, recv returned -1. GetSockError(): 10060
                                                ERROR: ReadPacket, failed to read RTMP packet header.

                                                • On October 18th, 2009, linuxcentre said:

                                                  See the FAQ

                                                • On October 31st, 2009, AJ said:

                                                  Since 30/10/2009 flashhd content does not download. I can still download content prior to this date. Is this a known issue?

                                                  I get the following info for all content made available on 30/10/2009:
                                                  INFO: Trying flashhd2 mode to record tv: Are You an Egghead? – Series 2: Episode 15
                                                  INFO: File name prefix = Are_You_an_Egghead_-_Series_2_Episode_15_b00nnkkq_default
                                                  FLVStreamer v1.8l
                                                  (c) 2009 Andrej Stepanchuk, The Flvstreamer Team, license: GPL
                                                  Connecting …
                                                  Starting download at: 0.000 kB

                                                  Download may be incomplete (downloaded about 0.00%), try –resume
                                                  INFO: Command exit code 2 (raw code = 512)
                                                  WARNING: Failed to stream file e:/BBC-Programmes/Are_You_an_Egghead_-_Series_2_Episode_15_b00nnkkq_default.partial.mp4.flv via RTMP
                                                  INFO: skipping flashhd2 mode
                                                  ERROR: Failed to record ‘Are You an Egghead? – Series 2: Episode 15 (b00nnkkq)’

                                                  C:\Program Files (x86)\get_iplayer>

                                                  • On November 1st, 2009, AJ said:

                                                    Flashd content is working again on 31/10/2009. However content from 30/10/2009 is still unavailable. maybe just a blip!

                                                  • On November 24th, 2009, sharpie said:

                                                    I guess I’m still a bit confused as to how I retrieve a list of content available in vmode=flashhd. It gives me the same results and when I go to record sometimes the the show is available and sometimes it is not. Is there any full proof way of getting only listing that are available in HD? Thanks

                                                    • On November 24th, 2009, linuxcentre said:

                                                      the –modes (and the old vmode option) will not change any search output.

                                                      –modes=flashhd will only ever download HD (–tvmode and –vmode will override this).

                                                      You could only theoretically find a definitive list of HD progs available by downloading about 2400+ web pages every time – that is why get_iplayer uses the XML feeds but unfortunately the Beeb don’t tell you which modes are available in those feeds, and therefore –info is required.

                                                      • On November 24th, 2009, linuxcentre said:

                                                        I just remembered that you can get all programmes lited under the BBC HD ‘channel’ as follows. I cannot guarantee that this list is all-inclusive but as the name implies, those programmes should be in HD (only the default version though):

                                                        get_iplayer –channel=hd

                                                      • On November 24th, 2009, sharpie said:

                                                        Thanks for the tip, that helps out quite a bit 🙂

                                                        • On November 9th, 2011, smiffy said:

                                                          hi,

                                                          just like to say i’m using the Web PVR Manager frontend for get_iPlayer on Windows – hope this will help someone for getting HD progs down:

                                                          To use the –flashhd option they’re talking about above, find “Recording Modes” in the “Recording” tab of the sub-navigation and put “flashhd,” without quotes, and yes with the comma, at the front of the list. Click “force recording” (in case you’ve dld the non-HD ver) and then “Save as default” . (Delete any non-HD things you didn’t want.) Then , close and restart the Web PVR Manager – ie,close the browser tabs AND click the DOS box closed. When you restart Web PVR Mgr, the flashhd preference will have “taken”. Check the output of the recording blurb to verify this next time you try to grab an HD prog – it should have the HD dimensions in there – ie:

                                                          INFO: width 1280.00
                                                          INFO: height 720.00

                                                          hth,
                                                          smiffy

                                                          • 17 old comments are not displayed. Click to display all comments

                                                          WordPress Themes