this project is under development and may not be stable.
sync'd realtime audio thing.
NOTE: no actual radio logic yet. see the tracking issue here.
supported streaming protocols
- webrtc audio only
- hls fallback + hls m3u support
- on the fly transcoding via ffmpeg
- http2 (configured via cloudflare, not included)
- http3 (configured via cloudflare, not included)
- icecast
- configured w/ cf (including cache)
support goals
- chrome
- edge (this wasn't on purpose)
- ffox
- apple stuff
- apple + car
- android stuff
- android + car
- fridge?
- let me know if u can tune in on a ti84
https://sexfm.gottrolled.com
in /media/ you can put in any media that you own or that is in the public domain, so long as it's .opus.
right now it will loop through the .opus files in the /media/ folder.
please note that in the future this will shift to focus more on playlists (aka once the radio logic is implemented, but i'll leave a simple loop mode since it's useful still)
The repo includes a systemd service at packaging/systemd/eggsfm.service and an installer at scripts/install-systemd-service.sh that builds and runs EggsFM as a service.
- run
sudo scripts/install-systemd-service.shto install EggFM as a service. - Edit
INSTALL_DIR/.env.productionfor your host. - to make sure it's installed, run
sudo systemctl status eggsfm. - the install dir is group-writable. so that you can add your deploy user to the
eggsfmgroup (sudo usermod -aG eggsfm <user>), then run./scripts/rebuild-eggsfm.sh. so you can rebuild without sudo.
please check .env.production with a list of flags which may be used to configure your instance of eggsfm.
this project was a fork of broadcastbox but has since undergone almost an entire complete rewrite.
please check out the original project. it's really cool + easy to use to stream with friends. https://github.com/Glimesh/broadcast-box