How can I make a Internet audio streaming server? - http-live-streaming

I need to make a internet radio server, how can I do that on top of apache. Want to understand the architecture of the whole system. Are there some good reads ?

Here is a Tutorial about using IceCast, a free server software for streaming multimedia.
http://www.yolinux.com/TUTORIALS/LinuxTutorialAudioStreaming.html

Related

How to stream video to remote server and then to others

Im completely new on video streaming, but i need to develop a software that allows me to stream 1 or multiple ip cameras from a local machine, to a remote one (both linux), and allow other people to watch it through a java app.
Have any idea from where to start?
Thanks a lot.

Linux streaming server with playlist

everybody would like to help you, I need indication of a free software for streaming video, more accurate meet some needs
A transmission enabling accurate real-time
create playlist for playback (for when not live)
able to transmit live remotely.
some good streaming video for linux requires a webcam or video files is within the own server to stream live, broadcast remotely accurate
my dedicated server will take charge of Transmit, and will get the client computer that will be in Brazil, I need remotely, so far not found it'm hoping you indicate me some good
obs: to be a free software
if someone can indicate'm very grateful, thank you for your attention.
The only big robust free software I know of is red5:
http://www.red5.org/
You may also want to look into the NGINX streaming module. I played with it for a little bit and it worked great. I never tested it with a high load though:
https://github.com/arut/nginx-rtmp-module
However, where I work we use Wowza. Its not free but man is it so easy and so good:
http://www.wowza.com/
So the thing about all these is I have never done what you are saying. I've used all three of these for live streaming and they all will work but I have never done a simulated live streaming like what you are looking for. I know Wowza can do it, I would be shocked if Red5 couldnt and I have no idea about Nginx. Its not the best answer but hopefully it gives you some options.
I know VLC has some playlist to streaming abilities so if anything you can use VLC from the client side and then just push it to Red5. Hopefully this points you in the right direction!

Setup a VPS as a streaming replicator (for an online radio)?

I have a real radio station, and we stream the radio over the internet through our website. However the radio has been growing and our internet link can't support the amount of players anymore.
My idea was to get a VPS, then stream the radio from our office to the VPS, and then have the VPS stream to the listeners on our website.
Could someone suggest me a way to do that?
I know it is possible, but I don't know where to start.
This is pretty easy, and is the normal way to get it done. Set up a SHOUTcast or Icecast server on this VPS, and have it either relay your existing stream on your DSL connection, or connect your encoder directly to SHOUTcast/Icecast on the VPS.
Alternatively, look for SHOUTcast/Icecast hosting if you aren't comfortable setting this up yourself. I'm doing some free experimental hosting for small stations at the moment. E-mail preview#audiopump.co if you're interested.

Live media streaming involving different kinds of devices

I am working on a project which will involve http live media streaming from a variety of devices like android phones/tablets, iphone, ipad, browser,etc. It will be a 2 way communication for all the devices with multiple devices connected to a conversation. I have implemented it partially i.e. one way by capturing audio from android phone(native app) and streaming to a web browser(HTML5 app) with a PHP server using ffmpeg and cvlc. I wanted to know of the best way to go ahead about it. Like, if there are any standards to be followed. Also what kind of a server should I be using? I don't want to use any streaming servers like Red5. I would like to implement the streaming logic similar to Http LiveStreaming by apple. I have come across MPEG-DASH that seems to be a standard for http streaming. I still have to look deeper into it. I was also thinking of using NodeJS for its popularity with streaming. Another worry was how do I go about capturing of media from devices? As in, should I use the native capability of the devices to convert media into an mp4 or any container that it supports and then stream it to the server or capture audio and images for a particular period of time and then send it to server and create a common output(I am not really sure of this idea). The separate capture is basically for simplifying the process of video streaming from the server end to any device. I was also thinking if I could completely bypass the server in any cases like a phone to phone or phone to tablet connection.
I just wanted to be sure of the things I will be using/implementing so that I wouldn't have to make drastic changes later on. Any help is deeply appreciated. Thank you.

How to program an audio/video application on network?

I want to make (for fun, challenge) a videoconference application, I have some ideas about this:
1) taking the audio/video streams (I don't know what an audio/video stream is)
2) pass this to a server that lets communicate the clients. I can figure out how to write a server(there are a lot of books and documentation about this) but I really don't know how to interact with the webcam and with the audio/video in general.
I want some links, book, suggestions about the basics of digital audio/video expecially on programming. Please help me!!!
I want to make it run on a Linux platform.
Linux makes video grabbing really nice. As long as you have a driver that outputs the video stream to the /dev/video/v* channels. All you have to do is open up a control connection to the device [an exercise for the OP] and then read in the channel like a file [given the parameters set by the control connection. Audio should be the same way, but don't quote me on it.
BTW: Video streaming from a server is a very complex issue. You have to develop or use an existing protocol. You have to be very aware of networking delays, and adjust the information sent (resize or recompress) to the client based on the link size between the client and the server.

Resources