Skip to content

philipch07/EggsFM

Repository files navigation

warning

this project is under development and may not be stable.

eggsfm

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

projects that use eggsfm

https://sexfm.gottrolled.com

how to host my own

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)

systemd deployment

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.

  1. run sudo scripts/install-systemd-service.sh to install EggFM as a service.
  2. Edit INSTALL_DIR/.env.production for your host.
  3. to make sure it's installed, run sudo systemctl status eggsfm.
  4. the install dir is group-writable. so that you can add your deploy user to the eggsfm group (sudo usermod -aG eggsfm <user>), then run ./scripts/rebuild-eggsfm.sh. so you can rebuild without sudo.

configuration flags

please check .env.production with a list of flags which may be used to configure your instance of eggsfm.

inspiration

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

About

synchronized audio broadcast in real time

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors