streams is a small package that allows to collect and start online media streams. Added streams can be organized into groups or searched from a general list. mpv is used to play the streams and therefore a requirement.
0.1
- initial release
As mentioned above, you need to install mpv.
Then clone the repository:
git clone https://github.com/rtrppl/streams
To run streams, you need to load the package by adding it to your .emacs or init.el:
(load "/path/to/streams/streams.el")
You should set a binding to either streams
or streams-select-stream-from-group
. All my streams bindings start with “C-c v”, hence my choice below.
(global-set-key (kbd "C-c d S") 'streams)
(global-set-key (kbd "C-c d s") 'streams-select-stream-from-group)
If you use straight, you could just add this:
(use-package streams
:straight (:host github :repo "rtrppl/streams")
:bind
(:map global-map)
("C-c v S" . streams)
("C-c v s" . streams-select-stream-from-group))
There are only five user-facing functions in streams:
- streams-add-webstream adds a webstream
- streams-remove-webstream removes a webstream
- streams-modify-group creates groups and adds or removes a webstream to a specific group
- streams starts a webstream
- streams-select-stream-from-group start a webstream from a group
There are several collections with online stream on GitHub, see for example iptv/streams at master · iptv-org/iptv, Free-TV/IPTV: M3U Playlist for free TV channels or mikepierce/internet-radio-streams: Curated List of Internet Radio Streams.
If you have yt-dlp installed, adding Youtube channels may also be possible.