Re: apis for low latency audio streaming over wifi to ipod touch?
Re: apis for low latency audio streaming over wifi to ipod touch?
- Subject: Re: apis for low latency audio streaming over wifi to ipod touch?
- From: "Ross Bencina" <email@hidden>
- Date: Mon, 8 Mar 2010 17:42:47 +1100
Hi Ben
Thanks for the specific info about standard Codec latencies, I feared as
much. It sounds like the libjacknet people are investigating the CELT codec
(http://www.celt-codec.org/) which has 3-9ms latency.
A lot of the content is video playback, but due to various constraints I'm
trying to decouple the audio distribution infrastructure from the media
playback subsystem. If we take responsibility for media playback we can
probably arrange for the audio tracks to be compressed as AAC and just
stream them out to the devices ahead of time (which sounds like a good
answer from what people are saying).
On the other hand there is a requirement for real-time public-address type
streaming audio to the devices...
In this project we have full control over the WiFi infrastructure -- we can
spec the network to support this application and reserve bandwidth as
necessary. It's not an ad-hoc network it's a managed enterprise grade
network. But there will be up to 20 simultaneous audio streams and 1000+
clients (worst case) spread accross a mesh of access points... so it's a
non-trivial job.
Cheers
Ross.
----- Original Message -----
From: "Ben Allison" <email@hidden>
To: <email@hidden>
Sent: Monday, March 08, 2010 5:04 AM
Subject: Re: apis for low latency audio streaming over wifi to ipod touch?
Ross -
Not sure from your post if the audio is truly 'real time' or not, because
you mention in the last paragraph that the audio tracks are stored
somewhere. If it is truly real-time (that is, you can't buffer/read
ahead) then your biggest problem is going to be codec latency, unless you
are able to stream uncompressed PCM data. Apple does have an AAC LD
codec, but I can't remember if a decoder is available on the iPod touch or
not. Normal AAC (AAC LC) is going to have an unacceptable long latency
with real-time input - about 70ms - because that is now much data the
encoder requires (2 input frames; 1024 samples each) before it can produce
a single encoded frame, and the decoder requires 2 frames before it can
produce any output. End-to-end, you need 3 input frames before producing
your first decoded output frame, and we're not even discussing network
latency. AAC LD is about 25ms end-to-end and AAC ELD can get under 20ms.
Even lossless audio schemes like FLAC or ALAC are going to require too
many input samples to form a frame to have adequate real-time
capabilities.
If the wireless bandwidth is good enough to trust uncompressed audio,
you'll definitely want that. And if you do in-fact have the luxury of
buffering ahead with the input audio - that will help immensely because
you can use a compressed codec.
-Ben
Hi All
I've been aksed to implement a system where ipod-touch devices are used to
tune in to real-time audio streams (at the momemtn, the audio from one of
20
DVD->plasma displays in a gallery context but it could be any real-time
audio).
Can anyone tell me how much of this can be achieved out of the box with
Apple APIs? Is it possible to get low latency audio streaming over WiFi (I
guess I need < 20ms) with the right QoS routers etc? What kind of
buffering/latency should I expect? I'm imagining I'll implement a low
latency multichannel capture/compress app on a mac server, or perhaps
there
is already a product that does this...
The alternative approach is to store the audio on the ipods and just
transmit timecode accross WiFi. I'm confident I can make that work, but it
requires video playback devices which output timecode.
Any and call comments appreciated
Thanks in advance
Ross.
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden