BBC iPlayer 1080p video=12000000.m3u8

See original GitHub issue

Checklist

  • I’m reporting a site feature request
  • I’ve verified that I’m running youtube-dl version 2021.06.06
  • I’ve searched the bugtracker for similar site feature requests including closed ones

Description

WRITE DESCRIPTION HERE

I’ve discovered that modifying the playlist download URL for BBC iPlayer from

…-video=5070000.m3u8…

to

-video=12000000.m3u8

will give you access to BBC iPlayer content in 1080p50! I discovered this through this post:

https://www.avforums.com/threads/is-there-a-way-to-get-iplayer-content-in-1080p.2319869/post-29211339

Not sure how the poster discovered this and not sure whether this is hidden from known media selectors etc. But please consider how this can be incorporated into youtube-dl or please help describing how I can experiment with customizing the Python code myself.

Example BBC iPlayer URL that works:

https://www.bbc.co.uk/iplayer/episode/m0010s0w/panorama-online-abuse-why-do-you-hate-me

get-iplayer finds the following playlist URL:

https://vod-hls-uk.live.cf.md.bbci.co.uk/usp/auth/vod/piff_abr_full_hd/e87ac8-m0010s0v/vf_m0010s0v_d284745f-0e70-4763-a378-3c78576b7a97.ism.hlsv2.ism/vf_m0010s0v_d284745f-0e70-4763-a378-3c78576b7a97.ism.hlsv2-audio_eng_1=128000-video=5070000.m3u8?Expires=1634646622&Signature=j74cyVi0oOcLvl74uJJDTiMcPaZqB1AuiRAMqPiKi2Kar-q7hI5AUokDlQb~fVB8mGu3OjqYBy4SWHnCGbTHH7FyYTaq7F6kJhG2hEU8LRE-RLB~aoqkZcELUw4KYZj7HF8Odcel6ofsYYYtQK2aPctmOnIeJot6M-kQeC2JrtTqj6ZNR2ISmq9LwOeuEx1t5cLN-R6LwvpYCAYwBeFlNPWkXpE8wAcvQI-jI~cLO0tZRnG~hULShJBnG83mMheyBaf2h6CqnAgWIhugT0O2Jzfw3NbDstfq-5INZRGWHe1iIumxQNjK5Vi1NgOempm098mLQC12qq8GNHjXNW-TLQ__&Key-Pair-Id=K2VWLYKQ4HU1FJ

The standard 720p content in .mp4 downloaded with get-iplayer is 1.01GB, ffprobe shows:

Duration: 00:28:59.69, start: 0.000000, bitrate: 5037 kb/s     Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 4895 kb/s, 50 fps, 50 tbr, 90k tbn, 100 tbc (default)     Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 125 kb/s (default)

The modified playlist URL for 1080p is:

https://vod-hls-uk.live.cf.md.bbci.co.uk/usp/auth/vod/piff_abr_full_hd/e87ac8-m0010s0v/vf_m0010s0v_d284745f-0e70-4763-a378-3c78576b7a97.ism.hlsv2.ism/vf_m0010s0v_d284745f-0e70-4763-a378-3c78576b7a97.ism.hlsv2-audio_eng_1=128000-video=12000000.m3u8?Expires=1634646622&Signature=j74cyVi0oOcLvl74uJJDTiMcPaZqB1AuiRAMqPiKi2Kar-q7hI5AUokDlQb~fVB8mGu3OjqYBy4SWHnCGbTHH7FyYTaq7F6kJhG2hEU8LRE-RLB~aoqkZcELUw4KYZj7HF8Odcel6ofsYYYtQK2aPctmOnIeJot6M-kQeC2JrtTqj6ZNR2ISmq9LwOeuEx1t5cLN-R6LwvpYCAYwBeFlNPWkXpE8wAcvQI-jI~cLO0tZRnG~hULShJBnG83mMheyBaf2h6CqnAgWIhugT0O2Jzfw3NbDstfq-5INZRGWHe1iIumxQNjK5Vi1NgOempm098mLQC12qq8GNHjXNW-TLQ__&Key-Pair-Id=K2VWLYKQ4HU1FJ

The 1080p version in .mp4 downloaded with youtube-dl using the modified playlist URL is 1.79GB, ffprobe shows:

Duration: 00:28:59.69, start: 0.000000, bitrate: 8882 kb/s Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1920x1080 [SAR 1:1 DAR 16:9], 8742 kb/s, 50 fps, 50 tbr, 90k tbn, 100 tbc (default) Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 125 kb/s (default)

Issue Analytics

  • State:open
  • Created 2 years ago
  • Comments:27 (10 by maintainers)

github_iconTop GitHub Comments

5reactions
macmenotcommented, Dec 8, 2021

A slightly improved version of the patch listed above that clones the fmt dict and just overrides/updates the differing attributes:

--- a/youtube_dl/extractor/bbc.py
+++ b/youtube_dl/extractor/bbc.py
@@ -445,6 +445,20 @@ class BBCCoUkIE(InfoExtractor):
                         formats.append(fmt)
             elif kind == 'captions':
                 subtitles = self.extract_subtitles(media, programme_id)
+
+        # add 1080p equivalent of 720p version if found
+        for fmt in formats:
+            if '-video=5070000.m3u8' not in fmt.get('url', ''):
+                continue
+            fhd = dict(fmt)
+            fhd['url'] = fmt['url'].replace('-video=5070000.m3u8', '-video=12000000.m3u8')
+            fhd['height'] = 1080
+            fhd['tbr'] = fmt['abr'] + 12000
+            fhd['vbr'] = 12000
+            fhd['width'] = 1920
+            fhd['format_id'] = fmt['format_id'].replace(str(int(fmt['tbr'])), str(int(fhd['tbr'])))
+            formats.append(fhd)
+
         return formats, subtitles

     def _download_playlist(self, playlist_id):

This makes the entry show up in --list-formats correctly and writes directly to a .mp4 file etc.

2reactions
dirkfcommented, Nov 14, 2021

Sorry, I was being obtuse. You’re right: somehow I managed to paste , fmt) into the diff. If you try the updated patch above it should be more useful.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Download 1080p streams from iPlayer - Terence Eden's Blog
Yes, iPlayer 1080p is possible, not as simple as just using one of these webUI tools but its certainly possible with youtube-dl and...
Read more >
Is there a way to get Iplayer content in 1080P? - AVForums
Yes, iPlayer 1080p is possible, not as simple as just using one of these webUI tools but its certainly possible with youtube-dl and...
Read more >
can someone help me get 1080p on bbc iplayer? : r/youtubedl
ive installed it all in command line and added it to 'path', just unsure what command i need to run or what i...
Read more >
Regional versions of BBC One HD to roll out in England by ...
Viewers in England with Freesat, Freeview, Sky, YouView devices will get a better viewing and audio experience from early 2023, as regional ...
Read more >
BBC iPlayer - Wikipedia
In 2019, the BBC improved the format quality, taking the highest available on iPlayer to 1080p (full HD) from 720p (standard HD). On...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found