[erlang-questions] Erlang for an audio streaming server project?

Joe Armstrong <>
Thu Dec 8 13:52:17 CET 2016


On Tue, Dec 6, 2016 at 1:42 AM, Edgar H <> wrote:
> Thanks a lot for the replies guys, really appreciate it!
>
> From what you've told me so far I think have the following options...
>
> 1) Stream into Icecast directly from Java and forget about Erlang (I
> wouldn't want to take this one - It isn't challenging and won't learn
> anything new, but would get the job done).

Shameless plug:

https://pragprog.com/book/jaerlang2/programming-erlang
(section 17.6) has all the code for a SHOUTcast server (which is
pretty similar to icecast) - there's also so code to read ID3 headers
etc

This is not production quality - but illustrates the principles involved
and works fine for a home server

I'm not sure why you need codecs - all you need to do is splice up
the data (say MP3) and stick in a few headers (or is this what a codec does?)

/Joe


> 2) Send raw data from Java to the mini-audio-streaming-server coded by me
> (or an existing HTTP server like cowboy) which implements an encoder
> developed by me or can I blindly send the data pre-encoded from Java using
> ffmpeg without checking which format is it? (If I know for sure the kind of
> content I'm streaming, should I just bother about the MIME-types?).
> 3) (If I understood Max's reply correctly) Develop the codecs I need in
> Erlang and then work with them to encode the raw data and stream it. At this
> point, with my current knowledge in codecs (null) and time for the project,
> it seems like an impossible goal to reach for me...
>
> Eric, the codecs I need are mainly mp3 and vorbis.
>
> 2016-12-05 16:14 GMT+01:00 Eric des Courtis <>:
>>
>> I agree with Max ditch the Java it will just slow you down. What codecs do
>> you need anyhow?
>>
>> On Sun, Dec 4, 2016 at 2:20 PM, Max Lapshin <> wrote:
>>>
>>> You will have very interesting deployment pain if you take java with you.
>>>
>>> It is not clear what for to waste time on it?
>>>
>>> There are 2-3 codecs and 3-4 transport payloads for audio. Just write all
>>> this in erlang, it is not hard.
>>>
>>> _______________________________________________
>>> erlang-questions mailing list
>>> 
>>> http://erlang.org/mailman/listinfo/erlang-questions
>>>
>>
>
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://erlang.org/mailman/listinfo/erlang-questions
>


More information about the erlang-questions mailing list