stream my audio

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.

get started

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.

No download

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"

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 "$@"

Windows

Click here to download the latest release.

Mac OS

Click here to download the latest release.

Linux

Click here to download the latest release.

Make sure you have ffmpeg installed for it to work.

Source

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.