Re: [LAU] Multi-input streaming

From: Jannis Achstetter <jannis_achstetter@email-addr-hidden>
Date: Tue Mar 22 2016 - 21:39:25 EET

On 22.03.2016 17:06, James Greenlee wrote:
>
> I'll check out ffmpeg and gstreamer.
>
> Audio encoding/decoding takes time (latency). Perhaps I should have said "low-latency." So what I want is a low-latency audio encoding/streaming system.
>
>

Here's one solution that works using icecast:

gst-launch-1.0 jackaudiosrc connect=0 ! audio/x-raw,channels=8 !
vorbisenc ! webmmux ! shout2send ip=HOSTNAME port=12000
password=PASSWORD mount=/8ch.webm

Currently, opus in gstreamer doesn't support more than two channels, but
opus should have a lower latency (and quality per bits) than vorbis.

Of course you are right that audio encoding introduces latency.
Additionally you have two TCP connections (sender -> icecast and icecast
-> receiver) which introduce latency. Furthermore, icecast buffers every
stream (configurable) but icecast cannot be used for low-latency audio
distribution.
If you want a low-latency system, you have a fast, low-latency network
(i.e. not "the internet") and you have control over both sender and
receiver, netjack is the best solution
(http://jackaudio.org/faq/netjack.html and
https://github.com/jackaudio/jackaudio.github.com/wiki/WalkThrough_User_NetJack2)

Best regards,
        Jannis

>
> ----- Original Message -----
> From: "Markus Seeber" <markus.seeber@email-addr-hidden>
> To: linux-audio-user@email-addr-hidden
> Sent: Tuesday, March 22, 2016 11:27:00 AM
> Subject: Re: [LAU] Multi-input streaming
>
> On 03/22/2016 03:53 PM, James Greenlee wrote:
>> I'm looking to setup something to take multiple inputs from a audio interface (say 8 channels) and then encode those inputs to several (MP3?) streams and send them to a icecast server for distribution.
>>
>> I've used darkice/icecast on the same system with the built-in sound card (2 inputs), and now I want to ramp that up to say 8 inputs / streams.
>>
>
> Maybe have a closer look at ffmpeg/avconv or gstreamer?
>
> ffmpeg can grab input devices and do all kinds of stuff with the streams.
>
>> I'd prefer this to be as close to real-time as possible
>
> What is that supposed to mean?
> _______________________________________________
> Linux-audio-user mailing list
> Linux-audio-user@email-addr-hidden
> http://lists.linuxaudio.org/listinfo/linux-audio-user
> _______________________________________________
> Linux-audio-user mailing list
> Linux-audio-user@email-addr-hidden
> http://lists.linuxaudio.org/listinfo/linux-audio-user
>

_______________________________________________
Linux-audio-user mailing list
Linux-audio-user@email-addr-hidden
http://lists.linuxaudio.org/listinfo/linux-audio-user
Received on Wed Mar 23 00:15:01 2016

This archive was generated by hypermail 2.1.8 : Wed Mar 23 2016 - 00:15:01 EET