What is this? "Stream my audio" is a easy and free way to stream your audio in high fidelity. This software lets you livestream audio from your computer to this website as easily as possible. Use it to play demos for people you know, or make a live podcast, or stream your piano practice, or whatever you'd like.
What isn't this? It's not social media. Not Twitch, not YouTube, not "Meta". There is no login, no usernames, no passwords, no authentication, no costs, no branding.
No logins? No logins. You give your stream a name which serves as the link for others to listen. By default the stream names are not shared, but there is an option to "advertise" the station. By advertising, the station name will be featured on the live page.
It's free? It is free. This is a simple website that costs me very little too run. If you find this site useful, consider sponsoring me.
How do I start? Start by by downloading a client or using common command-line tools to send audio.You can get started by using common command-line tools or downloading a program that makes it easy to just double-click and go. If you don't want to download a release, you can always build the program yourself from source.
You don't have to download anything to use this website. As long as you have curl
and either ffmpeg
or vlc
then you can stream your audio to this website.
Create station using ffmpeg
with a simple line of code.
> # linux
> ffmpeg -f alsa -i hw:0 -f mp3 - | \
curl -s -k -H "Transfer-Encoding: chunked" -X POST -T - \
"https://streammyaudio.com/YOURSTATIONNAME.mp3?stream=true&advertise=true"
> # mac os
> ffmpeg -f avfoundation -i ":default" -f mp3 - | \
curl -s -k -H "Transfer-Encoding: chunked" -X POST -T - \
"https://streammyaudio.com/YOURSTATIONNAME.mp3?stream=true&advertise=true"
Create station using vlc
with a simple line of code.
> # linux
> vlc -I dummy alsa://plughw:0,0 --sout='#transcode{vcodec=none,acodec=mp3,ab=256,channels=2,samplerate=44100,scodec=none}:standard{access=file,mux=mp3,dst=-}' --no-sout-all --sout-keep | \
curl -k -H "Transfer-Encoding: chunked" -X POST -T - 'https://streammyaudio.com/YOURSTATIONNAME.mp3?stream=true&advertise=true'
> # mac os
> vlc -I dummy -vvv qtsound:// --sout='#transcode{vcodec=none,acodec=mp3,ab=256,channels=2,samplerate=44100,scodec=none}:standard{access=file,mux=mp3,dst=-}' --no-sout-all --sout-keep | \
curl -k -H "Transfer-Encoding: chunked" -X POST -T - 'https://streammyaudio.com/YOURSTATIONNAME.mp3?stream=true&advertise=true'
Create station from
yt-dlp
playlist
with a few simple lines of code. (Thanks to @SuperSonicHub1!)
#!/bin/bash
# USAGE: stream-playlist playlist-url station-name
yt-dlp-to-ffconcat() {
local url=$1
yt-dlp --format bestaudio --get-url "$url" | sed -e "s/^/file '/" | sed -e "s/$/'/"
}
main() {
local url=$1
local station=$2
ffmpeg -protocol_whitelist file,http,https,tcp,tls,crypto \
-f concat -safe 0 -i <(yt-dlp-to-ffconcat "$url") \
-f mp3 -ar 44100 -b:a 256k - | \
cstream -t 64k | \
curl -s -k -H "Transfer-Encoding: chunked" -X POST -T - \
"https://streammyaudio.com/$station.mp3?stream=true&advertise=true"
}
main "$@"
Click here to download the latest release.
Make sure you have ffmpeg
installed for it to work.
Its easy to build from source. First download Go for your operating system. Then you can clone and build the repostiory.
> git clone https://github.com/schollz/streammyaudio
> cd streammyaudio
> go build -v
Make sure you also have ffmpeg
installed.
> sudo apt install ffmpeg
If you have any problems with the download please feel free to create an issue on Github.