Skip to content

Instantly share code, notes, and snippets.

@bpsib
Forked from stengland/BBC-Radio.m3u
Last active July 3, 2026 04:57
Show Gist options
  • Select an option

  • Save bpsib/67089b959e4fa898af69fea59ad74bc3 to your computer and use it in GitHub Desktop.

Select an option

Save bpsib/67089b959e4fa898af69fea59ad74bc3 to your computer and use it in GitHub Desktop.
BBC Radio Streams
#EXTM3U
#EXTINF:-1,BBC - Radio 1
http://as-hls-ww-live.akamaized.net/pool_01505109/live/ww/bbc_radio_one/bbc_radio_one.isml/bbc_radio_one-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio 1Xtra
http://as-hls-ww-live.akamaized.net/pool_92079267/live/ww/bbc_1xtra/bbc_1xtra.isml/bbc_1xtra-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio 1Dance
http://as-hls-ww-live.akamaized.net/pool_62063831/live/ww/bbc_radio_one_dance/bbc_radio_one_dance.isml/bbc_radio_one_dance-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio 1 Anthems (UK Only)
http://as-hls-uk-live.akamaized.net/pool_11351741/live/uk/bbc_radio_one_anthems/bbc_radio_one_anthems.isml/bbc_radio_one_anthems-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio 2
http://as-hls-ww-live.akamaized.net/pool_74208725/live/ww/bbc_radio_two/bbc_radio_two.isml/bbc_radio_two-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio 3
http://as-hls-ww-live.akamaized.net/pool_23461179/live/ww/bbc_radio_three/bbc_radio_three.isml/bbc_radio_three-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio 3 Unwind (UK Only)
http://as-hls-uk-live.akamaized.net/pool_30624046/live/uk/bbc_radio_three_unwind/bbc_radio_three_unwind.isml/bbc_radio_three_unwind-audio%3d320000.norewind.m3u8
#EXTINF:-1,BBC - Radio 4
http://as-hls-ww-live.akamaized.net/pool_55057080/live/ww/bbc_radio_fourfm/bbc_radio_fourfm.isml/bbc_radio_fourfm-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio 4 Extra
http://as-hls-ww-live.akamaized.net/pool_26173715/live/ww/bbc_radio_four_extra/bbc_radio_four_extra.isml/bbc_radio_four_extra-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio 5 live
http://as-hls-ww-live.akamaized.net/pool_89021708/live/ww/bbc_radio_five_live/bbc_radio_five_live.isml/bbc_radio_five_live-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio 6 Music
http://as-hls-ww-live.akamaized.net/pool_81827798/live/ww/bbc_6music/bbc_6music.isml/bbc_6music-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio 5 Live sports extra (UK Only)
http://as-hls-uk-live.akamaized.net/pool_47700285/live/uk/bbc_radio_five_live_sports_extra/bbc_radio_five_live_sports_extra.isml/bbc_radio_five_live_sports_extra-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Asian Network
http://as-hls-ww-live.akamaized.net/pool_22108647/live/ww/bbc_asian_network/bbc_asian_network.isml/bbc_asian_network-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - BBC World Service
http://as-hls-ww-live.akamaized.net/pool_87948813/live/ww/bbc_world_service/bbc_world_service.isml/bbc_world_service-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - BBC CWR
http://as-hls-ww-live.akamaized.net/pool_79805333/live/ww/bbc_radio_coventry_warwickshire/bbc_radio_coventry_warwickshire.isml/bbc_radio_coventry_warwickshire-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - BBC Essex
http://as-hls-ww-live.akamaized.net/pool_23657270/live/ww/bbc_radio_essex/bbc_radio_essex.isml/bbc_radio_essex-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - BBC Hereford Worcester
http://as-hls-ww-live.akamaized.net/pool_80112859/live/ww/bbc_radio_hereford_worcester/bbc_radio_hereford_worcester.isml/bbc_radio_hereford_worcester-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Berkshire
http://as-hls-ww-live.akamaized.net/pool_64162474/live/ww/bbc_radio_berkshire/bbc_radio_berkshire.isml/bbc_radio_berkshire-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Bristol
http://as-hls-ww-live.akamaized.net/pool_41858929/live/ww/bbc_radio_bristol/bbc_radio_bristol.isml/bbc_radio_bristol-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Cambridge
http://as-hls-ww-live.akamaized.net/pool_21074581/live/ww/bbc_radio_cambridge/bbc_radio_cambridge.isml/bbc_radio_cambridge-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Cornwall
http://as-hls-ww-live.akamaized.net/pool_72477894/live/ww/bbc_radio_cornwall/bbc_radio_cornwall.isml/bbc_radio_cornwall-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Cumbria
http://as-hls-ww-live.akamaized.net/pool_85294020/live/ww/bbc_radio_cumbria/bbc_radio_cumbria.isml/bbc_radio_cumbria-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Cymru
http://as-hls-ww-live.akamaized.net/pool_24792333/live/ww/bbc_radio_cymru/bbc_radio_cymru.isml/bbc_radio_cymru-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Cymru 2
http://as-hls-ww-live.akamaized.net/pool_98610936/live/ww/bbc_radio_cymru_2/bbc_radio_cymru_2.isml/bbc_radio_cymru_2-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Derby
http://as-hls-ww-live.akamaized.net/pool_63732303/live/ww/bbc_radio_derby/bbc_radio_derby.isml/bbc_radio_derby-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Devon
http://as-hls-ww-live.akamaized.net/pool_08856933/live/ww/bbc_radio_devon/bbc_radio_devon.isml/bbc_radio_devon-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Foyle
http://as-hls-ww-live.akamaized.net/pool_43178797/live/ww/bbc_radio_foyle/bbc_radio_foyle.isml/bbc_radio_foyle-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Gloucestershire
http://as-hls-ww-live.akamaized.net/pool_74607547/live/ww/bbc_radio_gloucestershire/bbc_radio_gloucestershire.isml/bbc_radio_gloucestershire-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Guernsey
http://as-hls-ww-live.akamaized.net/pool_65313722/live/ww/bbc_radio_guernsey/bbc_radio_guernsey.isml/bbc_radio_guernsey-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Humberside
http://as-hls-ww-live.akamaized.net/pool_43379345/live/ww/bbc_radio_humberside/bbc_radio_humberside.isml/bbc_radio_humberside-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Jersey
http://as-hls-ww-live.akamaized.net/pool_14000630/live/ww/bbc_radio_jersey/bbc_radio_jersey.isml/bbc_radio_jersey-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Kent
http://as-hls-ww-live.akamaized.net/pool_17754185/live/ww/bbc_radio_kent/bbc_radio_kent.isml/bbc_radio_kent-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Lancashire
http://as-hls-ww-live.akamaized.net/pool_98146551/live/ww/bbc_radio_lancashire/bbc_radio_lancashire.isml/bbc_radio_lancashire-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Leeds
http://as-hls-ww-live.akamaized.net/pool_50115440/live/ww/bbc_radio_leeds/bbc_radio_leeds.isml/bbc_radio_leeds-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Leicester
http://as-hls-ww-live.akamaized.net/pool_04542919/live/ww/bbc_radio_leicester/bbc_radio_leicester.isml/bbc_radio_leicester-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Lincolnshire
http://as-hls-ww-live.akamaized.net/pool_77667780/live/ww/bbc_radio_lincolnshire/bbc_radio_lincolnshire.isml/bbc_radio_lincolnshire-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio London
http://as-hls-ww-live.akamaized.net/pool_98137350/live/ww/bbc_london/bbc_london.isml/bbc_london-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Manchester
http://as-hls-ww-live.akamaized.net/pool_25317916/live/ww/bbc_radio_manchester/bbc_radio_manchester.isml/bbc_radio_manchester-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Merseyside
http://as-hls-ww-live.akamaized.net/pool_46699767/live/ww/bbc_radio_merseyside/bbc_radio_merseyside.isml/bbc_radio_merseyside-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio nan Gaidheal
http://as-hls-ww-live.akamaized.net/pool_01935182/live/ww/bbc_radio_nan_gaidheal/bbc_radio_nan_gaidheal.isml/bbc_radio_nan_gaidheal-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Newcastle
http://as-hls-ww-live.akamaized.net/pool_46887953/live/ww/bbc_radio_newcastle/bbc_radio_newcastle.isml/bbc_radio_newcastle-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Norfolk
http://as-hls-ww-live.akamaized.net/pool_61510571/live/ww/bbc_radio_norfolk/bbc_radio_norfolk.isml/bbc_radio_norfolk-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Northampton
http://as-hls-ww-live.akamaized.net/pool_73827654/live/ww/bbc_radio_northampton/bbc_radio_northampton.isml/bbc_radio_northampton-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Nottingham
http://as-hls-ww-live.akamaized.net/pool_96088503/live/ww/bbc_radio_nottingham/bbc_radio_nottingham.isml/bbc_radio_nottingham-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Orkney
http://as-hls-ww-live.akamaized.net/pool_50082558/live/ww/bbc_radio_orkney/bbc_radio_orkney.isml/bbc_radio_orkney-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Oxford
http://as-hls-ww-live.akamaized.net/pool_19212690/live/ww/bbc_radio_oxford/bbc_radio_oxford.isml/bbc_radio_oxford-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Scotland FM
http://as-hls-ww-live.akamaized.net/pool_43322914/live/ww/bbc_radio_scotland_fm/bbc_radio_scotland_fm.isml/bbc_radio_scotland_fm-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Scotland MW
http://as-hls-ww-live.akamaized.net/pool_59378121/live/ww/bbc_radio_scotland_mw/bbc_radio_scotland_mw.isml/bbc_radio_scotland_mw-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Sheffield
http://as-hls-ww-live.akamaized.net/pool_19967704/live/ww/bbc_radio_sheffield/bbc_radio_sheffield.isml/bbc_radio_sheffield-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Shropshire
http://as-hls-ww-live.akamaized.net/pool_83478576/live/ww/bbc_radio_shropshire/bbc_radio_shropshire.isml/bbc_radio_shropshire-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Solent
http://as-hls-ww-live.akamaized.net/pool_11685351/live/ww/bbc_radio_solent/bbc_radio_solent.isml/bbc_radio_solent-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Solent West Dorset
http://as-hls-ww-live.akamaized.net/pool_48517520/live/ww/bbc_radio_solent_west_dorset/bbc_radio_solent_west_dorset.isml/bbc_radio_solent_west_dorset-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Somerset Sound
http://as-hls-ww-live.akamaized.net/pool_00727706/live/ww/bbc_radio_somerset_sound/bbc_radio_somerset_sound.isml/bbc_radio_somerset_sound-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Stoke
http://as-hls-ww-live.akamaized.net/pool_34849862/live/ww/bbc_radio_stoke/bbc_radio_stoke.isml/bbc_radio_stoke-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Suffolk
http://as-hls-ww-live.akamaized.net/pool_18067288/live/ww/bbc_radio_suffolk/bbc_radio_suffolk.isml/bbc_radio_suffolk-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Surrey
http://as-hls-ww-live.akamaized.net/pool_27374427/live/ww/bbc_radio_surrey/bbc_radio_surrey.isml/bbc_radio_surrey-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Sussex
http://as-hls-ww-live.akamaized.net/pool_76643803/live/ww/bbc_radio_sussex/bbc_radio_sussex.isml/bbc_radio_sussex-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Tees
http://as-hls-ww-live.akamaized.net/pool_08918172/live/ww/bbc_tees/bbc_tees.isml/bbc_tees-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Ulster
http://as-hls-ww-live.akamaized.net/pool_31244774/live/ww/bbc_radio_ulster/bbc_radio_ulster.isml/bbc_radio_ulster-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Wales
http://as-hls-ww-live.akamaized.net/pool_97517794/live/ww/bbc_radio_wales_fm/bbc_radio_wales_fm.isml/bbc_radio_wales_fm-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio Wiltshire
http://as-hls-ww-live.akamaized.net/pool_44240917/live/ww/bbc_radio_wiltshire/bbc_radio_wiltshire.isml/bbc_radio_wiltshire-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio WM
http://as-hls-ww-live.akamaized.net/pool_05353924/live/ww/bbc_wm/bbc_wm.isml/bbc_wm-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Radio York
http://as-hls-ww-live.akamaized.net/pool_90848428/live/ww/bbc_radio_york/bbc_radio_york.isml/bbc_radio_york-audio%3d96000.norewind.m3u8
#EXTINF:-1,BBC - Three Counties Radio
http://as-hls-ww-live.akamaized.net/pool_69997923/live/ww/bbc_three_counties_radio/bbc_three_counties_radio.isml/bbc_three_counties_radio-audio%3d96000.norewind.m3u8
# The above streams are worldwide so sports commentary, etc may not be available. For UK restricted content,
# replace -ww- and /ww/ with -uk- and /uk/.
# Different bitrates are available by replacing 96000 :
# 48000 = 48k, 96000 = 96k
# UK only: 128000 = 128k, 320000 = 320k
# N.B. May not be compatible with some apps/devices
# These provide better compatibility with some devices/software.
#EXTM3U
#EXTINF:-1,BBC - Radio 1
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_one&bitrate=96000
#EXTINF:-1,BBC - Radio 1Xtra
http://lsn.lv/bbcradio.m3u8?station=bbc_1xtra&bitrate=96000
#EXTINF:-1,BBC - Radio 1Dance
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_one_dance&bitrate=96000
#EXTINF:-1,BBC - Radio 1 Anthems (UK Only)
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_one_anthems&bitrate=96000&uk=1
#EXTINF:-1,BBC - Radio 2
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_two&bitrate=96000
#EXTINF:-1,BBC - Radio 3
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_three&bitrate=96000
#EXTINF:-1,BBC - Radio 3 Unwind (UK Only)
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_three_unwind&bitrate=96000&uk=1
#EXTINF:-1,BBC - Radio 4
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_fourfm&bitrate=96000
#EXTINF:-1,BBC - Radio 4 LW
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_fourlw&bitrate=96000
#EXTINF:-1,BBC - Radio 4 Extra
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_four_extra&bitrate=96000
#EXTINF:-1,BBC - Radio 5 live
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_five_live&bitrate=96000
#EXTINF:-1,BBC - Radio 6 Music
http://lsn.lv/bbcradio.m3u8?station=bbc_6music&bitrate=96000
#EXTINF:-1,BBC - Radio 5 Live sports extra (UK Only)
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_five_live_sports_extra&bitrate=96000&uk=1
#EXTINF:-1,BBC - Radio Asian Network
http://lsn.lv/bbcradio.m3u8?station=bbc_asian_network&bitrate=96000
#EXTINF:-1,BBC - BBC World Service
http://lsn.lv/bbcradio.m3u8?station=bbc_world_service&bitrate=96000
#EXTINF:-1,BBC - BBC CWR
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_coventry_warwickshire&bitrate=96000
#EXTINF:-1,BBC - BBC Essex
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_essex&bitrate=96000
#EXTINF:-1,BBC - BBC Hereford Worcester
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_hereford_worcester&bitrate=96000
#EXTINF:-1,BBC - Radio Berkshire
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_berkshire&bitrate=96000
#EXTINF:-1,BBC - Radio Bristol
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_bristol&bitrate=96000
#EXTINF:-1,BBC - Radio Cambridge
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_cambridge&bitrate=96000
#EXTINF:-1,BBC - Radio Cornwall
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_cornwall&bitrate=96000
#EXTINF:-1,BBC - Radio Cumbria
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_cumbria&bitrate=96000
#EXTINF:-1,BBC - Radio Cymru
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_cymru&bitrate=96000
#EXTINF:-1,BBC - Radio Cymru 2
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_cymru_2&bitrate=96000
#EXTINF:-1,BBC - Radio Derby
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_derby&bitrate=96000
#EXTINF:-1,BBC - Radio Devon
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_devon&bitrate=96000
#EXTINF:-1,BBC - Radio Foyle
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_foyle&bitrate=96000
#EXTINF:-1,BBC - Radio Gloucestershire
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_gloucestershire&bitrate=96000
#EXTINF:-1,BBC - Radio Guernsey
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_guernsey&bitrate=96000
#EXTINF:-1,BBC - Radio Humberside
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_humberside&bitrate=96000
#EXTINF:-1,BBC - Radio Jersey
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_jersey&bitrate=96000
#EXTINF:-1,BBC - Radio Kent
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_kent&bitrate=96000
#EXTINF:-1,BBC - Radio Lancashire
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_lancashire&bitrate=96000
#EXTINF:-1,BBC - Radio Leeds
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_leeds&bitrate=96000
#EXTINF:-1,BBC - Radio Leicester
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_leicester&bitrate=96000
#EXTINF:-1,BBC - Radio Lincolnshire
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_lincolnshire&bitrate=96000
#EXTINF:-1,BBC - Radio London
http://lsn.lv/bbcradio.m3u8?station=bbc_london&bitrate=96000
#EXTINF:-1,BBC - Radio Manchester
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_manchester&bitrate=96000
#EXTINF:-1,BBC - Radio Merseyside
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_merseyside&bitrate=96000
#EXTINF:-1,BBC - Radio nan Gaidheal
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_nan_gaidheal&bitrate=96000
#EXTINF:-1,BBC - Radio Newcastle
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_newcastle&bitrate=96000
#EXTINF:-1,BBC - Radio Norfolk
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_norfolk&bitrate=96000
#EXTINF:-1,BBC - Radio Northampton
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_northampton&bitrate=96000
#EXTINF:-1,BBC - Radio Nottingham
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_nottingham&bitrate=96000
#EXTINF:-1,BBC - Radio Orkney
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_orkney&bitrate=96000
#EXTINF:-1,BBC - Radio Oxford
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_oxford&bitrate=96000
#EXTINF:-1,BBC - Radio Scotland FM
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_scotland_fm&bitrate=96000
#EXTINF:-1,BBC - Radio Scotland MW
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_scotland_mw&bitrate=96000
#EXTINF:-1,BBC - Radio Sheffield
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_sheffield&bitrate=96000
#EXTINF:-1,BBC - Radio Shropshire
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_shropshire&bitrate=96000
#EXTINF:-1,BBC - Radio Solent
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_solent&bitrate=96000
#EXTINF:-1,BBC - Radio Solent West Dorset
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_solent_west_dorset&bitrate=96000
#EXTINF:-1,BBC - Radio Somerset Sound
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_somerset_sound&bitrate=96000
#EXTINF:-1,BBC - Radio Stoke
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_stoke&bitrate=96000
#EXTINF:-1,BBC - Radio Suffolk
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_suffolk&bitrate=96000
#EXTINF:-1,BBC - Radio Surrey
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_surrey&bitrate=96000
#EXTINF:-1,BBC - Radio Sussex
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_sussex&bitrate=96000
#EXTINF:-1,BBC - Radio Tees
http://lsn.lv/bbcradio.m3u8?station=bbc_tees&bitrate=96000
#EXTINF:-1,BBC - Radio Ulster
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_ulster&bitrate=96000
#EXTINF:-1,BBC - Radio Wales
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_wales_fm&bitrate=96000
#EXTINF:-1,BBC - Radio Wiltshire
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_wiltshire&bitrate=96000
#EXTINF:-1,BBC - Radio WM
http://lsn.lv/bbcradio.m3u8?station=bbc_wm&bitrate=96000
#EXTINF:-1,BBC - Radio York
http://lsn.lv/bbcradio.m3u8?station=bbc_radio_york&bitrate=96000
#EXTINF:-1,BBC - Three Counties Radio
http://lsn.lv/bbcradio.m3u8?station=bbc_three_counties_radio&bitrate=96000
# The above streams are worldwide so sports commentary, etc may not be available. For UK restricted content,
# add &uk=1 at the end.
# Different bitrates are available by replacing 96000 :
# 48000 = 48k, 96000 = 96k
# UK only: 128000 = 128k, 320000 = 320k
# BBC World Service mp3 streams
#EXTM3U
#EXTINF:-1,BBC - BBC World Service
http://stream.live.vc.bbcmedia.co.uk/bbc_world_service
#EXTM3U
#EXTINF:-1,BBC - BBC World Service
http://wsdownload.bbc.co.uk/worldservice/meta/live/shoutcast/mp3/eieuk.pls
@johnpenny

Copy link
Copy Markdown

You just won't be able to unless there is a stream with a larger rewind, which I've never seen. Beyond that you would have to use BBC Sounds to re-play a show.

@jimbo2018

jimbo2018 commented Mar 30, 2026 via email

Copy link
Copy Markdown

@WilzDgr8

WilzDgr8 commented Apr 1, 2026

Copy link
Copy Markdown

Thanks for this... Kindly share one for CNN and SKY news

@OTRman999

OTRman999 commented Jun 26, 2026

Copy link
Copy Markdown

John Penny keeps saying you can't go back before 6 hours ago! Rubbish! I do so every day.

1. Open the .m3u8 playlist:

http://as-hls-uk-live.akamaized.net/pool_26173715/live/uk/bbc_radio_four_extra/bbc_radio_four_extra.isml/bbc_radio_four_extra-audio=320000.norewind.m3u8

2. Copy the latest entry:

Example --
#EXTINF:6.4, no desc
bbc_radio_four_extra-audio=320000-278515214.ts

3. Take the time entry: 278515214

4. Subtract from that number (which is the id number of a standard 6 second audio fragment), to get a time in the past.

Examples:
Subtract 565 to identify a segment 1 hour ago.
Subtract 10 x 565 (5,650) to identify the segment number for 10 hours ago.
Subtract 23 x 565 (12,995) to identify the segment number for 23 hours ago.

@echo off
SET number=278515214
set /a var=%number%-(23*565)
echo  23 Hours ago : %var%

If you calculate for 24 x 565 you might hit 24 hours plus 1 minute ago, which yields no stream because it exceeds 24 hrs. Best to adjust the result manually, by 5 minutes, if you try that, to find the trailing edge of the segment stream.

278515214 yields :

278515214 - (23*565) = 278502219

https://as-hls-uk.live.cf.md.bbci.co.uk/pool_26173715/live/uk/bbc_radio_four_extra/bbc_radio_four_extra.isml/bbc_radio_four_extra-audio=320000-278502219.ts

5. Here is a batch file for WGET.exe v1.16 (to download 300 segments, which is 30 minutes of audio), for Windows 7 :

@echo on
SET number=278502219
SET wget=C:\WGET\wget.exe
SET url=https://as-hls-uk.live.cf.md.bbci.co.uk/pool_26173715/live/uk/bbc_radio_four_extra/bbc_radio_four_extra.isml
SET referer=https://www.bbc.co.uk/sounds/play/live:bbc_radio_four_extra
SetLocal EnableDelayedExpansion
FOR /L %%A IN ( '%number%, 1, 300' ) DO (
      set /a var=%number%+%%A
      "%wget%" --no-check-certificate --referer="%referer%" "%url%/bbc_radio_four_extra-audio=320000-!var!.ts"
    )

Below, I set out my 2 batch files:
"1 - Calculate Start Point.bat"
"2 - Download TS Files [WGET Loop] [CF] Radio 4 Extra.bat"

.

@OTRman999

Copy link
Copy Markdown
@echo off
mode 50,55


::  *** Calculate Start Point ***


::  Number from .m3u8 file : Current Time
    SET number=000000000

::  =============================================  ::
    echo. & echo  Current Time : %number% & echo.
::  =============================================  ::

    ::  1 minutes = 9.4 frames
    :: 10 minutes =  94 frames
    :: 60 minutes = 565 frames

::  =============================================  ::
::  ** Remove File Extension (if present) **
    FOR %%A IN ("%number%") DO (SET number=%%~nA)
::  =============================================  ::

::  ** 1 Hour ago **
    set /a var=%number%-(1*565)
    echo  1 Hour ago   : %var%

    echo.

::  ** 2 Hours ago **
    set /a var=%number%-(2*565)
    echo  2 Hours ago  : %var%

    echo.

::  ** 3 Hours ago **
    set /a var=%number%-(3*565)
    echo  3 Hours ago  : %var%

    echo.

::  ** 4 Hours ago **
    set /a var=%number%-(4*565)
    echo  4 Hours ago  : %var%

    echo.

::  ** 5 Hours ago **
    set /a var=%number%-(5*565)
    echo  5 Hours ago  : %var%

    echo.

::  ** 6 Hours ago **
    set /a var=%number%-(6*565)
    echo  6 Hours ago  : %var%

    echo.

::  ** 7 Hours ago **
    set /a var=%number%-(7*565)
    echo  7 Hours ago  : %var%

    echo.

::  ** 8 Hours ago **
    set /a var=%number%-(8*565)
    echo  8 Hours ago  : %var%

    echo.

::  ** 10 Hours ago **
    set /a var=%number%-(10*565)
    echo  10 Hours ago : %var%

    echo.

::  ** 11 Hours ago **
    set /a var=%number%-(11*565)
    echo  11 Hours ago : %var%

    echo.

::  ** 12 Hours ago **
    set /a var=%number%-(12*565)
    echo  12 Hours ago : %var%

    echo.

::  ** 13 Hours ago **
    set /a var=%number%-(13*565)
    echo  13 Hours ago : %var%

    echo.

::  ** 14 Hours ago **
    set /a var=%number%-(14*565)
    echo  14 Hours ago : %var%

    echo.

::  ** 15 Hours ago **
    set /a var=%number%-(15*565)
    echo  15 Hours ago : %var%

    echo.

::  ** 16 Hours ago **
    set /a var=%number%-(16*565)
    echo  16 Hours ago : %var%

    echo.

::  ** 17 Hours ago **
    set /a var=%number%-(17*565)
    echo  17 Hours ago : %var%

    echo.

::  ** 18 Hours ago **
    set /a var=%number%-(18*565)
    echo  18 Hours ago : %var%

    echo.

::  ** 19 Hours ago **
    set /a var=%number%-(19*565)
    echo  19 Hours ago : %var%

    echo.

::  ** 20 Hours ago **
    set /a var=%number%-(20*565)
    echo  20 Hours ago : %var%

    echo.

::  ** 21 Hours ago **
    set /a var=%number%-(21*565)
    echo  21 Hours ago : %var%

    echo.

::  ** 22 Hours ago **
    set /a var=%number%-(22*565)
    echo  22 Hours ago : %var%

    echo.

::  ** 23 Hours ago **
    set /a var=%number%-(23*565)
    echo  23 Hours ago : %var%

    echo.

::  ** 24 Hours ago **
    set /a var=%number%-(24*565)
    echo  24 Hours ago : %var%

::  =============================================  ::
    echo. & echo. & CD \ & cmd /k
::  =============================================  ::

@OTRman999

Copy link
Copy Markdown
@echo on && title %~n0
mode 80,32750


::  *** Download .TS Files using WGET : Loop : DASH (320 kbps 48 kHz) : CF URL ***

::  This gets the last 24 hours of the Radio 4 Extra live stream

::  ** Create variable **
::  Number from .m3u8 file (9 digits) (Remove .ts extension)
    SET number=000000000

    :: 1 frame = 6.4 sec
    :: 1 min   = 60 / 6.4   =   9.375 frames
    :: 10 min  = 9.375 x 10 =  93.75  frames
    :: 60 min  = 93.75 x  6 = 562.5   frames (approx. 600 frames per hour)



::  ========================================================================================================  ::
::  ** WGET Location **
    SET wget=C:\WGET\wget.exe
::  ========================================================================================================  ::

::  ========================================================================================================  ::
::  ** Remove .ts Extension (if present) **
    FOR %%A IN ("%number%") DO (SET number=%%~nA)
::  ========================================================================================================  ::

::  ========================================================================================================  ::

::  ** Safety Tests **

    :: ** Test if variable is set to zero **
    IF %number%==000000000 ( 
       CLS && ECHO. && ECHO Starting segment number is set to zero, type in a real segment number  &&  ECHO.
    )  &&  cmd /k

    :: ** Test if variable comprises 9 digits **
    ECHO(%number%| findstr "^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$" >nul && echo. || (
       CLS  &&  ECHO.  &&  ECHO Starting segment number is not 9 digits  &&  ECHO.
    )  &&  cmd /k

::  ========================================================================================================  ::

    :: ** Use a CLOUDFLARE (CF) url instead of AKAMAI (AK) **
::  SET url=http://as-hls-uk.live.cf.md.bbci.co.uk/pool_26173715/live/uk/bbc_radio_four_extra/bbc_radio_four_extra.isml

    :: ** Use secure https instead of insecure http for a more reliable connection **
    SET url=https://as-hls-uk.live.cf.md.bbci.co.uk/pool_26173715/live/uk/bbc_radio_four_extra/bbc_radio_four_extra.isml

::  ========================================================================================================  ::
    GOTO NEXT
::  ========================================================================================================  ::

	
	Radio 2 (2025-01-21): [NB: A http link (https links don't work)]
	http://as-hls-uk-live.akamaized.net/pool_74208725/live/uk/bbc_radio_two/
	bbc_radio_two.isml/bbc_radio_two-audio%3d96000.norewind.m3u8
	
	Radio 3 (2025-01-21):
	http://as-hls-uk-live.akamaized.net/pool_23461179/live/uk/bbc_radio_two/
	bbc_radio_two.isml/bbc_radio_two-audio%3d96000.norewind.m3u8
	
	Radio 4 FM (2025-01-21) :
	http://as-hls-uk-live.akamaized.net/pool_55057080/live/uk/bbc_radio_fourfm/
	bbc_radio_fourfm.isml/bbc_radio_fourfm-audio%3d320000.norewind.m3u8
	
	Radio 5 Live (2025-01-21):
	http://as-hls-uk-live.akamaized.net/pool_89021708/live/uk/bbc_radio_five_live/
	bbc_radio_five_live.isml/bbc_radio_five_live-audio%3d320000.norewind.m3u8
	
	Radio 6 Music (2025-01-21):
	http://as-hls-uk-live.akamaized.net/pool_81827798/live/uk/bbc_6music/
	bbc_6music.isml/bbc_6music-audio%3d320000.norewind.m3u8
	
	
	Radio 4 Extra (2025-01-21) [NB: A http link (https links don't work)] -
	
	Radio 4 Extra over plain HTTP and the AK CDN:
	http://a.files.bbci.co.uk/ms6/live/3441A116-B12E-4D2F-ACA8-C1984642FA4B/audio/
	simulcast/hls/uk/audio_syndication_high_sbr_v1/ak/bbc_radio_four_extra.m3u8
	
	Radio 4 Extra over plain HTTP and the AK CDN:
	http://as-hls-uk-live.akamaized.net/pool_26173715/live/uk/bbc_radio_four_extra/
	bbc_radio_four_extra.isml/bbc_radio_four_extra-audio%3d320000.norewind.m3u8
	
	Radio 4 Extra over plain HTTP and the CF CDN:
	http://a.files.bbci.co.uk/ms6/live/3441A116-B12E-4D2F-ACA8-C1984642FA4B/audio/
	simulcast/hls/uk/audio_syndication_high_sbr_v1/cf/bbc_radio_four_extra.m3u8
	
	Radio 4 Extra over plain HTTP and the CF CDN:
	http://as-hls-uk.live.cf.md.bbci.co.uk/pool_26173715/live/uk/bbc_radio_four_extra/
	bbc_radio_four_extra.isml/bbc_radio_four_extra-audio%3d320000.norewind.m3u8
	
		[Source:  https://gist.github.com/bpsib/67089b959e4fa898af69fea59ad74bc3]	
	
::  ========================================================================================================  ::
    :NEXT

::  ========================================================================================================  ::
::  ** Fake the Referer **
    SET referer=https://www.bbc.co.uk/sounds/play/live:bbc_radio_four_extra
::  ========================================================================================================  ::

::  ========================================================================================================  ::
::  ** Fake the User Agent **
    SET agent=Mozilla/5.0 (iPhone; CPU iPhone OS 16_0 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/16.0 Mobile/15E148 Safari/604.1
    ::  Source: https://developers.whatismybrowser.com/useragents/explore/hardware_type_specific/mobile/
::  =======================================================================================================  ::

::  *** Run WGET in a Loop ***

    SetLocal EnableDelayedExpansion

::  ** Command Line [30 minutes = 300] **
    FOR /L %%A IN ( '%number%, 1, 300' ) DO (
      set /a var=%number%+%%A
      :: ** Display the variables **
      rem   echo set /a var = %number% + %%A
      rem   echo var = !var!
      :: ** Wait 5 seconds **
      rem   CHOICE /T 5 /C yn /D y > NUL
      "%wget%" --no-check-certificate --referer="%referer%" --user-agent="%agent%" "%url%/bbc_radio_four_extra-audio=320000-!var!.ts"
    )

    ::  The function "-O !var!.ts" substitutes a reduced filename, but removes the broadcast date/time
    ::  from the file and substitutes the current date/time.

    EndLocal

::  --------------------------------------------------------------------------------------------------------  ::

::  ** Help for WGET : Display **
    :: "%wget%" --help

::  ** Help for WGET : Save to File **
    :: "%wget%" --help > "Help WGET v1.16.txt"

::  ========================================================================================================  ::
    @echo off & echo. & echo.
::  ========================================================================================================  ::

::  *** Replace Punctuation in Filename ***

::  ** Set Local Expansion (Variables) **
    setlocal EnableExtensions

::  ** Build a Visual Basic Script to remove punctuation in filename **
    :: Specifies "%~f0" (the current file) as the file to search for the string
    set skip=
    findstr "'%skip%VBS" "%~f0" > %temp%\tmp$$$.vbs

::  ** Run VBS script with Microsoft Windows Script Host version 5.6 **
    cscript //nologo %temp%\tmp$$$.vbs

    endlocal & goto TEXT

::  --------------------------------------------------------------------------------------------------------  ::

	'
	'The Visual Basic Script  (Replace "=" chr)
	Option Explicit                                                               'VBS
	 Main()                                                                       'VBS
	 Sub Main()                                                                   'VBS
	        Dim objFSO : Set objFSO = CreateObject("Scripting.FileSystemObject")  'VBS
	        Dim strRootFolder : strRootFolder = "."                               'VBS
	        RenameFiles objFSO, strRootFolder                                     'VBS
	 End Sub                                                                      'VBS
	 Sub RenameFiles(objFSO, strFolderPath)                                       'VBS
	        Dim objFolder : Set objFolder = objFSO.GetFolder(strFolderPath)       'VBS
	        Dim objFile                                                           'VBS
	        For Each objFile In objFolder.Files                                   'VBS
	                If InStr(objFile.Name, "=") > 0 Then                          'VBS
	                        objFile.Name = Replace(objFile.Name, "=", "")         'VBS
	                End If                                                        'VBS
	        Next                                                                  'VBS
	        Dim objSubFolder                                                      'VBS
	        For Each objSubFolder In objFolder.SubFolders                         'VBS
	                RenameFiles objFSO, objSubFolder.Path                         'VBS
	        Next                                                                  'VBS
	 End Sub                                                                      'VBS

    ::  NB: Line 13 in the .vbs script specifies the character(s) to be replaced.

    ::  NB: This script fails if the path to the current directory contains a poison character
    ::      (such as a Bell dot). Only run this script on the desktop.

::  ========================================================================================================  ::
                                                                                                       :TEXT
::  *** Replace Text in Filename ***

    setlocal EnableDelayedExpansion

    for %%j in (*.ts) do (
      set filename=%%~nj
      set filename=!filename:bbc_radio_four_extra-audio320000-=!
      ren "%%j" "!filename!%%~xj"
    )

    endlocal

    :: This will not work if filename contains a ! or ^ or = character

::  ========================================================================================================  ::
    @echo off & echo. & echo.
::  ========================================================================================================  ::

::  *** Count the number of Files present at end (FOR Loop) ***

    ::  ** Count the files in current folder **
    SET files=0
    FOR %%A in (*.*) DO SET /a files+=1

    ::  ** Display total number of files **
    echo Total Number of Files = %files%

::  ========================================================================================================  ::
    echo. & echo.
::  ========================================================================================================  ::

::  ** Save a log of Results : Save this .BAT file **
       TYPE "%~0" >> "C:\Windows\Temp\WGET.log"

    ::  ** Save a log of Results : Save this .BAT file **
    ::  IF EXIST "C:\Windows\Temp\WGET.log"      TYPE "%~0" >> "C:\Windows\Temp\WGET.log"
    ::  IF NOT EXIST "C:\Windows\Temp\WGET.log"  TYPE "%~0" >  "C:\Windows\Temp\WGET.log"
    ::  C:\Windows\Notepad.exe "C:\Windows\Temp\WGET.log"

::  ========================================================================================================  ::
    title %~n0 & echo. & cmd /k
::  ========================================================================================================  ::


    Notes -

    1. Each segment has the same duration.

    2. Each segment is (approximately) 6 seconds in duration:

         1 min (60 sec)             =   60 / 6 =  10 segments
         5 min (60 x  5 =  300 sec) =  300 / 6 =  50 segments
        30 min (60 x 30 = 1800 sec) = 1800 / 6 = 300 segments
        60 min (60 x 60 = 3600 sec) = 3600 / 6 = 600 segments

    3. The FOR loop uses the following syntax:

        The increment command ('%number%, 1, 300') means:-
          - Start with the specified number
          - Increase it by 1 on each run through the loop
          - Run through the loop 300 times

        All three of these values can be altered: to change the starting number,
        the amount of each increase, and the number of times to run the loop
        (i.e. the number of files to download).

        NB: Changing the middle value, the amount to increase by, makes no sense
            where the files are numbered consecutively.

    4. The loop creates a new url address on each iteration (each pass through the loop),
       by increasing the number of the target .ts file by 1 each time, and passing the
       result to WGET (which does the actual downloading).

    5. By default, WGET downloads each file into the directory in which this batch file
       is run from (unless a specific directory is specified in the WGET command line).


::  ========================================================================================================  ::


    HLS streams (LIVE streams)
    ===========

    STEP 1: Open this url in Firefox -

    320kbps streams HLS streams for the national stations:

    BBC Radio 4 Extra
    http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_low/ak/bbc_radio_four_extra.m3u8 [Dead link]
    http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/ak/bbc_radio_four_extra.m3u8 [Dead link]

    NB: It is possible these old links are out of date (dead links), if so try the newer links in STEP 2.


    ------------------------------------------------------------------------------------------------------------


    STEP 2: Open (in a text editor, e.g. notepad.exe) the file downloaded in step 1 -

    Content of "bbc_radio_four_extra.m3u8" file:

      https://as-hls-uk-live.akamaized.net/pool_26173715/live/uk/bbc_radio_four_extra/bbc_radio_four_extra.isml/
      bbc_radio_four_extra-audio=320000.norewind.m3u8

      https://as-hls-uk-live.akamaized.net/pool_26173715/live/uk/bbc_radio_four_extra/bbc_radio_four_extra.isml/
      bbc_radio_four_extra-audio%3d320000.norewind.m3u8

      http://as-hls-ww-live.akamaized.net/pool_26173715/live/ww/bbc_radio_four_extra/bbc_radio_four_extra.isml/
      bbc_radio_four_extra-audio%3d320000.norewind.m3u8

    NB: This step is all you need to obtain the variable which gives the *current* time-value of the live stream
        (from which you can calculate all the values for the previous 24 hours). Steps 3 and 4 are *optional*.


    ------------------------------------------------------------------------------------------------------------


    STEP 3: Edit the url obtained from step 2 -

    Edit the url to this (i.e. remove ".norewind"):

      https://as-hls-uk-live.akamaized.net/pool_26173715/live/uk/bbc_radio_four_extra/bbc_radio_four_extra.isml/
      bbc_radio_four_extra-audio=320000.m3u8

      https://as-hls-uk-live.akamaized.net/pool_26173715/live/uk/bbc_radio_four_extra/bbc_radio_four_extra.isml/
      bbc_radio_four_extra-audio%3d320000.m3u8


    ------------------------------------------------------------------------------------------------------------


    STEP 4: Open in Firefox the url obtained from step 3 -

    Opening that edited url in Firefox gets us this file (642 byte file size), containing lots of .ts segments:

      bbc_radio_four_extra-audio=320000.m3u8

    Download those segments (and, by editing the first one, some even earlier ones), in this LOOP batch file.
    Edit the variable number in the .ts links, to go back up to 24 hours.


::  ========================================================================================================  ::
::  ========================================================================================================  ::



@jimbo2018

jimbo2018 commented Jun 26, 2026 via email

Copy link
Copy Markdown

@gaussey

gaussey commented Jun 26, 2026

Copy link
Copy Markdown

You cannot run batch folds on an Android device. So how would you do it on a phone? Thanks for info.

Termux or a-shell on iOS and convert the file to a bash script. I only use iOS so no idea how Android locks affect this. Any of the AI chatbots will do the conversion unless someone else does it by hand.

@jimbo2018

jimbo2018 commented Jun 27, 2026 via email

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment