Question:
How can I stream audio from my computer to another over the net?
Yoken
2012-02-04 04:55:52 UTC
To only one other computer, not for public broadcast. For free.
Three answers:
?
2012-02-04 08:20:37 UTC
With Any Messenger Client (Skype, MSN, WLM, Trillian Ect)



Hope it helps :)
2016-12-18 22:23:39 UTC
Stream Audio To Another Computer
2012-02-04 05:42:00 UTC
You can stream audio between any two computers using a streaming encoder like VLC Media Player. This will run as a server on a particular "port" at your computer's IP address. Another computer can then connect to that port at that IP address using a media player in order to receive the stream.



If your computer is "behind" a NAT router, and therefore has a "private" IP address, but you want to stream across the internet and not just the local network, you need to set up "port forwarding" on the router. This tells the router to forward any connections to a particular port on its own (public) IP address on to a particular port on a private IP address in its network (in this case, your computer's private address). The computer that is recieving the stream would then connect to the router's IP address rather than your computer's IP address.



This is the basis of all peer-to-peer streaming. (Peer-to-peer meaning that you are connecting two fairly equal peers rather than going via a central controlling server.)



If the internet connection you want to stream from does not have a public IP address (for example, some mobile broadband connections), you must use an intermediate computer (a server) to act as a go-between to bridge the gap. Both computers would then connect to the server, which will pass on the information from one to the other. (This is known as client-server architecture, and is more expensive to run.)



Alternatively, if the recieving computer has a public address, but the sending one does not, you could make the connection the other way around, in that the recieving computer would run a server and the sending computer would connect to it and send the audio stream through. Conventional streaming software is not set up to do this very easily, but it would be possible.



Any of the above methods would give you a basic, unencrypted, manually-set-up audio stream. Unless you set a limit to the number of connections the streaming software will accept, anyone on the network could connect and hear the audio. Because it would be unencrypted, anyone could also listen in on the stream as it passes between the two computers, without having to connect to the stream themselves.



To prevent people from listening in, you need autentication and encryption.



This can be done by "tunneling" the stream within an encrypted channel with password or key based authentication to control who can connect.



The encrypted channel could be a VPN connection set up between the two computers.

It could also involve using streaming software with a built in encryption capability.



I would recommend using SSH to encrypt the stream. SSH stands for Secure Shell. It is a secure, remote access protocol used extensively in Linux and Unix system administration. It can be run on most operating systems, including Windows, but it is most at home on a unix-like system like Linux or Mac OS. SSH has the ability to create tunnels as part of the encrypted connection.



You will need more processing power to encode and encrypt the stream than you will need just for encoding, but most contemporary computers should be able to handle it. (Encoding and encrypting video, on the other hand, would need a fairly powerful computer.)



If you are not streaming live audio and instead want to allow the other computer to choose what audio to hear (i.e. to hear specific, pre-recorded sound files), you need to use a different method to stream the files. You could, for instance, run a web server on the sending computer. This could use encryption and a password to control access. (You can do web encryption for free, but unless you pay to have your certificate signed you will have to add a security exception in the web browser at the other end. It will still be secure, but the browser will complain because without a trusted authority having signed the certificate, it has to take it on your trust that the certificate is genuine.)



Alternatively, there are various media server protocols that can be used with suitable client software at the other end that allow on-demand streaming to take place. (Such as is used by some games consoles and media hardware.)



I've chosen to give you a fairly in-depth answer here. Hopefully it is not too complex. There are simpler ways to stream audio, which would involve a third-party server and automated software, but the method I have described will work with any proper (unrestricted) internet connection and does not depend on any third parties.


This content was originally posted on Y! Answers, a Q&A website that shut down in 2021.
Loading...