Is there a way to stream all audio output in Windows 10 (not just individual files) to an Android client device via http?

11,313

Is there a way to stream all audio output in Windows 10 (not just individual files) to an Android client device via HTTP?

The technical answer is "Maybe".

While it's likely rather trivial to stream any audio via HTTP, the ability to capture "all audio output in Windows 10" depends entirely on your sound device(s) (ex. sound card). Windows has multiple ways to play back audio and not all programs use the same methods. Similarly, not all sound devices may expose the same interfaces for accessing audio (either physically or virtually).

Overall, it's usually more productive to target individual audio inputs/outputs or particular applications rather than looking for a "one size fits all" solution.

Any ideas?

Since you specify HTTP streaming and Neutron Music Player supports:

* Streaming audio (plays Internet radio streams, Icecast, Shoutcast).

I would suggest looking into using Icecast and Broadcast Using This Tool (BUTT) in conjunction with each other as an audio stream server and audio source, respectively.

If you don't care for Icecast, other possible audio stream servers include Steamcast (Icecast and SHOUTcast streams) and Shoutcast (SHOUTcast streams).

It's probably worth mentioning that while Shoutcast has a polished interface, the free version is limited to streaming MP3 format at 128 Kbps, while the other applications suggested (Icecast and Steamcast) are not.


Note that Broadcast Using This Tool was taken from this list of 3rd party applications that are compatible with Icecast. However, Broadcast Using This Tool supports both Icecast and SHOUTcast streams.


Regarding capturing "all audio output in Windows 10", there is sometimes a virtual "Stereo Mix" or "What U Hear" audio device available with certain audio drivers in Windows which may help with this (though it may be disabled or even hidden).

Also, in a crunch, you could (theoretically) simply plug your physical audio output into your mic input (if available). There are stereo auxiliary cords and stereo Y splitter cables available if audio output (e.g. to speakers or headphones) is a concern.


Using Icecast, BUTT And Stereo Mix

Overview

The following instructions are an example of how you might use Icecast, Broadcast Using This Tool and a virtual Stereo Mix device to send (most) audio from Windows to an Android device via HTTP (Icecast).

Caveats

Be aware that that these instructions ignore using an actual URL with Icecast and only (briefly) cover stream access via IP. If you want a URL to use with your Icecast server, one easy solution is to use a dynamic DNS service such as No-IP (https://www.noip.com).

Also note that these instructions do not cover firewalls or port forwarding. Icecast should be allowed through the Windows firewall upon installation/first run and BUTT doesn't need special configuration if resides on the same PC as Icecast. As for port forwarding, general tutorials on how to do this (i.e. to make your Icecast server web-accessible) are widely available.

General Setup

Icecast (Stream Server)

  1. Download and install Icecast.

  2. Navigate to the directory where you installed Icecast and back up icecast.xml by creating a copy of it.

  3. Open icecast.xml (not your copy) in a plain text editor (e.g. Notepad) and change the following XML tags/groups:

    • location

    • admin

    • hostname

    • authentication

  4. Save your icecast.xml file. For values, you should end up with something like:

    • <location>Britain</location>

    • <admin>[email protected]</admin>

    • <hostname>lesspotter.com</hostname>

    And for the <authentication> section:

    • <source-password>Horcrux</source-password>

    • <relay-password>MoreHorcruxes</relay-password>

    • <admin-user>Tom Marvolo Riddle</admin-user>

    • <admin-password>IamLordVoldemort</admin-password>

You should now be able to start Icecast without warnings by using icecast.bat in the same directory as icecast.xml. There is a shortcut to icecast.bat under the Start Menu listed as Run Icecast (Console).

If you want to start Icecast with the command window minimized (since it needs to remain open for Icecast to operate when using icecast.bat), you can use another batch file:

ex. icecast-min.bat

@REM Start Icecast with its command window minimized.

@ECHO Off
cd C:\path\to\Icecast\
start "" /min C:\path\to\Icecast\icecast.bat

Broadcast Using This Tool (Audio Source)

  1. Download and install Broadcast Using This Tool.

  2. Start BUTT and open its Settings.

ex. BUTT - Settings Button

BUTT - Settings Button - Screenshot

  1. Under the Settings → Main tab:

    • ADD a new (Icecast) Server.

    • Add a Log File output destination.

    • Save your changes.

ex. BUTT Settings - Main Tab

BUTT Settings - Main Tab - Screenshot

3A. For your Server Settings (Section 1, above):

  • Name can be anything you like.

  • Type should be set to IceCast.

  • Address and Port should be 127.0.0.1 and 8000. 1

  • Password should be the <source-password> from icecast.xml (ex. Horcrux).

  • The IceCast mountpoint and IceCast user should be left as stream and source, respectively.

  • Don't forget to Save your changes when done.

ex. BUTT - Icecast Server Settings

BUTT Settings - Edit Server (Icecast) - Screenshot


1 For Address, you can specify a different IP if Icecast is running on another computer. For the port, 8000 is the default port Icecast operates on (set in icecast.xml). You may need to allow BUTT through your firewall(s) if your Icecast server is on a remote PC.


  1. With Icecast running, use the white "play" button ( ) in the main BUTT window to connect to your Icecast server. If everything is successful, the "LCD Display" should change from idle to connecting to stream time (with a counter).

ex. BUTT - Icecast Server (Connected)

BUTT Settings - Connected To Icecast Server - Screenshot

Stereo Mix (System Audio)

Note that some, all or none of the following could apply to you, depending on the sound device(s) you are using.

  1. Open the Windows Sound control panel. In both Windows 7 and 10, you should be able to search for sound and be presented with an option to open this panel.

  2. Under the Recording tab, look for a device called "Stereo Mix" (or sometimes "What U Hear").

ex. Stereo Mix - Virtual Audio Device

Stereo Mix - Virtual Audio Device - Screenshot

2A. If you don't see this device, try right-clicking in the Sound control panel and look for any option to Show Disabled Devices.

ex. Sound - Show Disabled Devices

Sound Control Panel - Show Disabled Devices - Screenshot

  1. Assuming this device exists, select it and click Properties.

ex. Stereo Mix - Properties

Stereo Mix - Properties - Screenshot

  1. Under the Listen tab, make certain that Listen to this device is checked. The Playback through this device drop down settings are less important for your purposes. However, as a rule, the option selected should not be set to the same device as your (default) Playback device (e.g. Speakers). This can cause severe audio issues.

ex. Stereo Mix Properties - Listen

ex. Stereo Mix Properties - Listen - Screenshot

  1. Under the Levels tab, make certain you have a non-zero volume and that the device isn't muted.

ex. Stereo Mix Properties - Levels

Stereo Mix Properties - Levels - Screenshot

  1. Press OK if you have changed any device options.

Checking Stereo Mix Audio

Assuming your "Stereo Mix" (or equivalent device) is Ready, you can typically see whether or not it is picking up PC audio by observing the sound meter (horizontal bars) next to the device.

To test this, leave the Sound control panel open and play some audio on your PC (e.g. YouTube). If the bars fluctuate roughly with the audio, the device should be picking up sound from the PC (and at the proper volumes).

ex. Checking Stereo Mix Audio Detection/Levels

Checking PC Audio Detection - Screenshot

Streaming System Audio With Icecast and BUTT

Assuming you have checked everything above thoroughly:

  1. Start Icecast.

  2. Start Broadcast Using This Tool and open Settings.

  3. Under Settings → Audio, select your "Stereo Mix" (or equivalent) device. The other settings should not need to be changed for testing.

ex. BUTT Settings - Audio Device

BUTT Settings - Audio Device Selection - Screenshot

  1. With Icecast running, use the white "play" button ( ) in the main BUTT window to connect to the Icecast server. If everything is successful, the "LCD Display" should (again) change from idle to connecting to stream time (with a counter).

  2. If you receive no errors from BUTT, play some audio on your PC (again e.g. YouTube). You should see the audio meter in the main BUTT window fluctuating roughly with the audio (similar to the "Stereo Mix" audio meter, above).

ex. Broadcast Using This Tool - Audio Meter

BUTT - Audio Meter - Screenshot

  1. In Neutron Music Player, go to ex. http://Icecast_Server_IP:8000/stream. You should be able to hear the audio playing from the PC on your phone.
Share:
11,313

Related videos on Youtube

b0b
Author by

b0b

Updated on September 18, 2022

Comments

  • b0b
    b0b almost 2 years

    I would like to stream all audio output (not just individual music files) from my Windows 10 PC, via http, to Neutron Music Player on my android phone. Neutron allows entering of a http address and streaming directly from that address (e.g. it streams from xiph.org internet radio addresses). I've tried Scream (https://github.com/duncanthrax/scream) and BroadWave (https://www.nch.com.au/streaming/index.html) but neither of them work. Any ideas?

    • Ravindra Bawane
      Ravindra Bawane almost 5 years
      Why and how don't they work? Logs? Errors? Please edit your question to add necessary information to make your question more complete.
    • b0b
      b0b almost 5 years
      Neutron Player just says 'Failed' and no audio plays through it when entering the IP address of the http servers. There are no other error messages or logs.
    • Ravindra Bawane
      Ravindra Bawane almost 5 years
      How do you know the stream is working? There are a lot of moving parts in your setup, and all you've given is what the end point is telling you. You must test each step along the path and provide the output for us to be able to diagnose this issue.
    • b0b
      b0b almost 5 years
      Those two programs I've tried say they're streaming with no error messages. I don't know how to check this further.
    • Anaksunaman
      Anaksunaman almost 5 years
      @b0b I have posted an answer. If you need more specific details, please post a comment, update your question or post a new question and link to it here.
    • Ravindra Bawane
      Ravindra Bawane almost 5 years
      You should be able to connect to the streaming servers outputs from the host computer itself to see what you hear out of it.
  • b0b
    b0b almost 5 years
    Thanks so much for the detailed reply, really appreciate it. I'll check all this out when I get the chance and let you know how it goes.
  • Anaksunaman
    Anaksunaman almost 5 years
    Your welcome. I would certainly be interested to hear how things turn out. Good luck. =)
  • Saleh Mahmood
    Saleh Mahmood over 4 years
    Well, worked for me but there's a time delay
  • Anaksunaman
    Anaksunaman over 4 years
    Yes. Unfortunately, there is always a time delay.