To the annoyance of some the BBC removed support for Windows Media and have migrated to using the AAC codec and http streaming. The good news is that the AAC streams are high quality and freely available. Matthew Peet shared the links to the 320 kbps HLS AAC streams on his site.
mpv is a fantastic cross-platform media player that can handle most formats thrown at it. It is based on mplayer and mplayer2. Playing a BBC stream is just a case of passing the URL to it. Magic.
I made some aliases for the stations so I can stream with simple command. Running
playbbcr6 for example plays BBC 6 Music.
alias playbbcr1="mpv 'http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/ak/bbc_radio_one.m3u8'" alias playbbcr4="mpv 'http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/ak/bbc_radio_fourfm.m3u8'" alias playbbcr5l="mpv 'http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/ak/bbc_radio_five_live.m3u8'" alias playbbcr5lsx="mpv 'http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/ak/bbc_radio_five_live_sports_extra.m3u8'" alias playbbcr6="mpv 'http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/ak/bbc_6music.m3u8'"
It is also possible to pass any URL from iPlayer (audio and video) to mpv. More magic
Whilst I was over in the USA (virtually at least) listening to these streams was not possible so there looks to be geo-blocking on these streams. A UK VPN would work I imagine.
playbbc6 Playing: http://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/ak/bbc_6music.m3u8 [ffmpeg] http: HTTP error 403 Forbidden [lavf] avformat_open_input() failed
Have an update or suggestion for this article? You can edit it here and send me a pull request.
Using HashiCorp Vault with LDAP
How to use HashiCorp Vault to setup an LDAP backed secret store with read-only access for users in groups and read-write access for specific users
Linux and Unix xargs command tutorial with examples
Tutorial on using xargs, a UNIX and Linux command for building and executing command lines from standard input. Examples of cutting by character, byte position, cutting based on delimiter and how to modify the output delimiter.
Copy a file in Go
How to copy a file in Go. The ioutil package does not offer a shorthand way of copying a file. Instead the os package should be used.