I wanted to watch the Olympics on a non-NBC channel. CBC was easy to get working in a browser with a Canadian proxy, but I wanted to use a proper media player, so I wrote this.
This is quick and very dirty. I don't intend to expand it beyond watching the Olympics or fix it if it breaks once I'm done watching them. (Update: Fixed for Beijing 2022.)
- Install streamlink and configure it
- Build from source (
cargo install --git https://github.com/AlyoshaVasilieva/cbc-sl
) or download a pre-built binary - Run
cbc-sl --list
orcbc-sl --replays
to see what you can watch - Run
cbc-sl ID
to call streamlink
You can also use URLs, such as cbc-sl https://www.cbc.ca/player/play/1920742467707
Use -p IP:port
option to specify a proxy. Supports HTTP, SOCKS4a, SOCKS5H proxies.
- If your player fails to detect audio, look for a configuration option like "Stream Analysis Duration" and increase it.
- You can't seek, even in replays. Limitation of streamlink.
- It's 720p30 at a less-than-perfect bitrate.